热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentO监控安装之Cacti

1、Cacti监控介绍Cacti是一套基于PHP、MySQL、SNMP及RRDTool开发的网络流量监测图形分析工具。Cacti是用php语言实现的一个软件,它的主要功能是用SNMP服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用RRDTool生成图表呈现给用户。因此,SNMP和RRDTool是Cacti的关键。SNM

1Cacti监控介绍

Cacti是一套基于PHPMySQLSNMPRRDTool开发的网络流量监测图形分析工具。

 

Cacti是用php语言实现的一个软件,它的主要功能是用SNMP服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用RRDTool生成图表呈现给用户。因此,SNMPRRDToolCacti的关键。SNMPSnmp关系着数据的收集,RRDTool关系着数据存储和图表的生成。

 

SNMP(简单网络管理协议)用于收集设备内部发生的数据,如负载、磁盘状态、带宽之类。像Cacti这样的网络监控工具用这些数据来生成图标以达到监控的目的。

在一个典型的CactiSNMP部署中,会有一台或多台启用了SNMP的设备,以及一台独立的用来从那些设备收集SNMP回馈的监控服务器,所以,需要监控的设备必须启用SNMP

 

MySQL配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机IPSNMP团体名、端口号、模板信息等变量。

SNMP抓到数据不是存储在MySQL中,而是存在RRDTool生成的RRD文件中(在cacti根目录的rra文件夹下)。RRDTool对数据的更新和存储就是对RRD文件的处理,RRD文件是大小固定的档案文件(RoundRobin Archive),它能够存储的数据笔数在创建时就已经定义。

 

2、部署Cacti监控服务

安装前的准备工作:

1)、添加防火墙规则

vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp--dport 80 -j ACCEPT

#-A INPUT -m state --state NEW -m tcp -p tcp--dport 3306 -j ACCEPT  #数据库同一机器不需要

-A INPUT -m state --state NEW -m udp -p udp--dport 161 -j ACCEPT

 

:wq          #保存退出

/etc/init.d/iptables restart #最后重启防火墙使配置生效

 

2)、关闭SELinux

vim /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效,重启系统永久生效

 

3)、监控环境说明:

类型                   操作系统            IP地址

监控服务端             CentOS6.7 x86_64         192.168.17.10

监控客户端             CentOS6.7 x86_64          192.168.17.20

监控客户端              Windows7               192.168.17.1

 

局域网内有两台主机,一台Linux、一台Windows,现在需要配置一台Cacti监控服务器对这两台主机进行监控。

 

以下是在监控的服务器(192.168.17.10)上操作的。

1)、因为使用yum安装,需要用到epel的扩展源

yum install -y epel-release

 

2)、安装LAMP环境,使用yum安装(根据实际的环境部署,建议使用源码安装)

yum install -y  httpd php php-mysql mysql mysql-servermysql-devel php-gd  libjpeg libjpeg-devellibpng libpng-devel

 

3)、安装cactinet-snmprrdtool

yum install -y cacti  net-snmp net-snmp-utils  rrdtool

 

4)、分别启动mysqlapachesnmp服务

/etc/init.d/mysqld start

/etc/init.d/httpd  start

/etc/init.d/snmpd start

 

5)、修改Apache的配置文件http.conf/etc/httpd/conf/httpd.conf)和cacti.conf/etc/httpd/conf.d/cacti.conf

vim /etc/httpd/conf/httpd.conf

”# ServerName www.example.com:80” 去掉 # 号,改为 “ServerNamewww.example.com:80”

 

vim /etc/httpd/conf.d/cacti.conf 

"Deny from all" 改为  "Allow from all"

/etc/init.d/httpd  restart

 

6)、创建cacti数据库和cacti用户

mysql -uroot  -e "create database cacti"               #创建数据库

mysql -uroot -e "grant all on cacti.*to 'cacti'@'127.0.0.1' identified by 'cacti';"  

#创建cacti用户

mysql -uroot cacti

#导入cacti的数据库模版文件

 

7)、修改用于连接数据库的cacti配置文件

vim/usr/share/cacti/include/config.php  更改如下:

$database_type = "mysql";                    #数据库类型

$database_default = "cacti";               #默认数据库

$database_hostname = "127.0.0.1";          #数据库地址

$database_username = "cacti";           #数据库用户名

$database_password = "cacti";          #数据库密码

$database_port = "3306";             #数据库端口号

$database_ssl = false;

 

8、通过web浏览访问cacti并且安装

http://ip/cacti           #ip是指安装cacti服务器的ip,这里是192.168.17.10

点两下“next和一次”Finish即可

输入admin   admin 登录,重新设置新的密码

 

9)、执行poller.php程序,生成图形,并将其加入任务计划

/usr/bin/php /usr/share/cacti/poller.php        #执行程序生成图形

crontab -e #增加:

*/5 * * * * /usr/bin/php /usr/share/cacti/poller.php &> /dev/null

 

至此,Cacti监控服务器已经安装完成了。

 

3、配置被监控的主机(监控客户端)

1)配置Linux客户端

Linux客户端上需要安装net-snmp等相关的软件包,同时需要开启防火墙UDP161端口。

1)、开启防火墙UDP 161端口

vim  /etc/sysconfig/iptables #编辑防火墙配置

-A INPUT -m state --state NEW -m udp -p udp--dport 161 -j ACCEPT

/etc/init.d/iptables restart #重启防火墙使配置生效

 

2)、安装net-snmp lm_sensorsLinux硬件监控软件)

yum install -y net-snmp lm_sensors

 

3)、配置snmpd.conf/etc/snmp/snmpd.conf)并启动snmp服务

修改syslocation以及syscontact, 其中syslocation 可以写本机ipsyscontact写管理员邮箱

 

syslocation 192.168.17.20

syscontact Root balich@foxmail.com

 

同时在配置文件内按以下修改,若不修改则会造成在添加网卡检测时会无法找到网卡选项;

view   systemview    included   .1.3.6.1.2.1.1

修改为:

view   systemview    included   .1.3.6.1.2.1

 

:wq            #保存退出

/etc/init.d/snmpd start            #启动snmp服务

 

2)、配置windows 客户端

这里是windows 7,可能和2003系统有一点不一样,但是基本的思路是一样的。

1)、开始à控制面板à卸载程序à打开或关闭Windows功能

找到【简单网络管理协议(SNMP)】在前面勾选,然后按【确定】即可。

 

2)、开始-运行,输入【services.msc确定,打开服务管理

找到【SNMP Service】,双击打开,会弹出对话框;

在【安全】“接受的社区名称”点击“添加”à社区名称填写”public”

在【安全】“接受来自下列主机的SNMP数据包的”点击“添加”à“192.168.17.10” 

最后点击【确定】

然后在左上角点击“重启动”此服务。

至此,被监控的Windows主机设置完成

 

 

4、设置Cacti监控服务器对WindowsLinux主机进行监控

 

1)、添加对Linux主机的监控

 

登录cacti管理后台,点击【console】——【Device】,在右上角点击【Add

Description 写本机ip或你自定义一个名字(webserver

Hostname 写本机ip192.168.17.20

Host Template  ucd/net  SNMP Host

SNMP Version  Version 2

点右下角的Create

点右上角的”Create Graphs for this Host”

Graph Types:  选择SNMP - InterfaceStatistics

在下面框中选择要监控的网卡,比如我选择eth0, 在最右侧小方块里打对勾,然后点右下角的Create

 

点左侧的Graph Trees

选中”Default Tree

点右上角的Add

Tree Item Type 选择 “Host”

Host 选择我们刚刚增加的那个机器ip

点右下角的create

 

点左上角的Graphs

在左侧可以看到

Defaut Tree下面已经增加了我们刚刚添加的主机,图形一开始不会那么快出来,要等一小会才可以。

 

2)、添加对Windows主机的监控

 

cacti管理后台,点击【console】——【Device】,在右上角点击【Add

Description 写本机ip或你自定义一个名字(Windows 7

Hostname 写本机ip192.168.17.1

Host Template  Windows 2000/XP Host

SNMP Version  Version 2

点右下角的Create

点右上角的”Create Graphs for this Host”

Graph Types:  选择SNMP - InterfaceStatistics

在下面框中选择要监控的网卡、磁盘,在对应的地方勾选,然后点右下角的Create

 

点左侧的Graph Trees

选中”Default Tree

点右上角的Add

Tree Item Type 选择 “Host”

Host 选择我们刚刚增加的那个机器ip

点右下角的create

 

点左上角的Graphs

在左侧可以看到

Defaut Tree下面已经增加了我们刚刚添加的主机,图形一开始不会那么快出来,要等一小会才可以。

 

 

至此,完成了监控主机的设置。


推荐阅读
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • REVERT权限切换的操作步骤和注意事项
    本文介绍了在SQL Server中进行REVERT权限切换的操作步骤和注意事项。首先登录到SQL Server,其中包括一个具有很小权限的普通用户和一个系统管理员角色中的成员。然后通过添加Windows登录到SQL Server,并将其添加到AdventureWorks数据库中的用户列表中。最后通过REVERT命令切换权限。在操作过程中需要注意的是,确保登录名和数据库名的正确性,并遵循安全措施,以防止权限泄露和数据损坏。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
    本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
  • 本文分享了一位Android开发者多年来对于Android开发所需掌握的技能的笔记,包括架构师基础、高级UI开源框架、Android Framework开发、性能优化、音视频精编源码解析、Flutter学习进阶、微信小程序开发以及百大框架源码解读等方面的知识。文章强调了技术栈和布局的重要性,鼓励开发者做好学习规划和技术布局,以提升自己的竞争力和市场价值。 ... [详细]
author-avatar
幽兰伴竹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有