CentO监控安装之Cacti

分类:CentOS教程 阅读:45004 次

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

: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)、安装cacti、net-snmprrdtool

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

4)、分别启动mysql、apache、snmp服务

/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 < /usr/share/doc/cacti-0.8.8b/cacti.sql

#导入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_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

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

viewsystemview included .1.3.6.1.2.1.1

修改为:

viewsystemview 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监控服务器对Windows和Linux主机进行监控

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

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

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

Hostname写本机ip(192.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写本机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下面已经增加了我们刚刚添加的主机,图形一开始不会那么快出来,要等一小会才可以。

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