lihanchuan125 发表于 2019-1-10 06:15:42

CentOS Linux 监控安装之cacti

CentOS Linux 监控安装之Cacti
  1、Cacti监控介绍
  Cacti是一套基于PHP、MySQL、SNMP及RRDTool开发的网络流量监测图形分析工具。
  Cacti是用php语言实现的一个软件,它的主要功能是用SNMP服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用RRDTool生成图表呈现给用户。因此,SNMP和RRDTool是Cacti的关键。SNMPSnmp关系着数据的收集,RRDTool关系着数据存储和图表的生成。
  SNMP(简单网络管理协议)用于收集设备内部发生的数据,如负载、磁盘状态、带宽之类。像Cacti这样的网络监控工具用这些数据来生成图标以达到监控的目的。
  在一个典型的Cacti和SNMP部署中,会有一台或多台启用了SNMP的设备,以及一台独立的用来从那些设备收集SNMP回馈的监控服务器,所以,需要监控的设备必须启用SNMP。
  MySQL配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机IP、SNMP团体名、端口号、模板信息等变量。
  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  保存退出,最后重启防火墙使配置生效
/etc/init.d/iptables restart  

  2)、关闭SELinux
  vim /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加  

  保存退出,重启系统永久生效,零时关闭SELinux执行如下命令:
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安装(根据实际的环境部署,建议使用源码安装)
  y
um install -yhttpd php php-mysql mysql mysql-servermysql-devel php-gdlibjpeg libjpeg-devellibpng libpng-devel  3)、安装cacti、net-snmprrdtool
yum install -y cactinet-snmp net-snmp-utilsrrdtool  4)、分别启动mysql、apache、snmp服务
/etc/init.d/mysqld start
/etc/init.d/httpdstart
/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"# 重启httpd服务
/etc/init.d/httpdrestart  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 < /usr/share/doc/cacti-0.8.8b/cacti.sql#导入cacti的数据库模版文件  

  7)、修改用于连接数据库的cacti配置文件
  vim/usr/share/cacti/include/config.php更改如下:
$database_type = &quot;mysql&quot;;                  #数据库类型
$database_default = &quot;cacti&quot;;               #默认数据库
$database_hostname = &quot;127.0.0.1&quot;;          #数据库地址
$database_username = &quot;cacti&quot;;         #数据库用户名
$database_password = &quot;cacti&quot;;          #数据库密码
$database_port = &quot;3306&quot;;             #数据库端口号
$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_sensors(Linux硬件监控软件)
yum install -y net-snmp lm_sensors  (3)、配置snmpd.conf(/etc/snmp/snmpd.conf)并启动snmp服务
修改 syslocation 以及syscontact, 其中
syslocation 可以写本机ip,
syscontact写管理员邮箱  如下:
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  保存退出启动snmp服务
/etc/init.d/snmpd start  

  2)、配置windows 客户端
  这里是windows 7,可能和2003系统有一点不一样,但是基本的思路是一样的。
  (1)、开始à控制面板à卸载程序à打开或关闭Windows功能
  找到【简单网络管理协议(SNMP)】在前面勾选,然后按【确定】即可。
  (2)、开始-运行,输入【services.msc】确定,打开服务管理
  找到【SNMP Service】,双击打开,会弹出对话框;
  在【安全】“接受的社区名称”点击“添加”à“社区名称”填写”public”
  在【安全】“接受来自下列主机的SNMP数据包的”点击“添加”à“192.168.17.10”
  最后点击【确定】
  然后在左上角点击“重启动”此服务。
  至此,被监控的Windows主机设置完成
  4、设置Cacti监控服务器对Windows和Linux主机进行监控
  1)、添加对Linux主机的监控
  登录cacti管理后台,点击【console】——【Device】,在右上角点击【Add】
  Description 写本机ip或你自定义一个名字(webserver)
  Hostname 写本机ip(192.168.17.20)
  Host Template选ucd/netSNMP 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 写本机ip(192.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下面已经增加了我们刚刚添加的主机,图形一开始不会那么快出来,要等一小会才可以。
  至此,完成了监控主机的设置。



页: [1]
查看完整版本: CentOS Linux 监控安装之cacti