Cacti监控系统的试验环境比较简单一台监控主机,一台被监控主机。 Cacti监控其他主机是通过简单的网络管理协议(snmp)收集被监控端的数据信息的,因为被监控端主机都需要安装net-snmp以及依赖包lm_sensors,并设置snmp配置文件。lm_sensors软件可以帮助我们监控硬件信息,安装snmp主程序及相关的依赖软件包,被监控主机仅需要修改snmp主配置文件即可 被监控端配置 yum -y install net-snmp lm_sensors [iyunv@localhost ~]# vim /etc/snmp/snmpd.conf #com2sec notConfigUser default public com2sec notConfigUser default rose001 # Second, map the security name into a group name: # groupName securityModel securityName group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser # Third, create a view for us to let the group have rights to: # Make at least snmpwalk -v 1 localhost -c public system fast again. # name incl/excl subtree mask(optional) view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1. # Finally, grant the group read-only access to the systemview view. # group context sec.model sec.level prefix read write notif #access notConfigGroup "" any noauth exact systemview none none access notConfigGroup "" any noauth exact all none none view all included .1 (红色部分为修改配置文件部分) Snmp配置文件主要包括4部分内容需要修改。第一步,映射通信名称到安全用户名称;第二步,将用户加入到组中;第三步,为组创建systemvies视图;第四步,创建all视图并赋予组只读访问权限。主配置文件设置完成后重启服务,即可通过客户端访问该服务器获得系统信息,snmp使用的端口号为udp161端口以及tcp199端口,我们需要在防火墙规则中开放这些端口数据。 [iyunv@localhost ~]# service snmpd start [iyunv@localhost ~]# chkconfig snmpd on 安装cati服务 Cacti是基于PHP的web监控管理系统,所以cacti监控主机需要部署lamp环境(lamp环境的搭建参考此前的lamp环境搭建的博客),此外还需要使用snmp简单网络管理协议从被监控主机提取数据,然后使用RRDTool工具保存数据并最终生成图表信息。 yum -y install net-snmp net-snmp-devel net-snmp-utils net snmp-libs lm_sensors php-xml zlib libpng freetype cairo-devel pango-devel gd 因为cacti的优势在于其丰富的图表效果,为了将数据绘制成相应的更加直观的图表格式输出,就需要安装RRDTool工具,该软件的安装非常简单,使用configure,make,make install默认安装即可。 tar -xf rrdtool-1.4.7.tar.gz -C /usr/local/ cd /usr/local/rrdtool-1.4.7/ yum -y install gcc yum -y install libxml2* yum -y install perl-ExtUtils-MakeMaker.x86_64 ./configure --prefix=/usr/local/rrdtool Make && make install 设置apache虚拟主机 因为是基于web的监控平台,需要修改apache主配置文件httpd.conf,通过DirectoryIndex index.html index.htm index.php指令设置默认首页为index.php,并开启虚拟主机配置文件 vim /etc/httpd/conf/httpd.conf <VirtualHost *:80> DocumentRoot /var/www/html/cacti ServerName cati.chosen.com </VirtualHost> 修改PHP配置文件的时区设置,默认date.timezone为注释行,需要手动开启并设置时区,否则进行cacti初始化时会提示 It is not safe to rely on the systen’s timezone settings 我将时区定义为:date.timezone ="Asia/Shanghai"部署cacti监控系统,创建web页面跟路径目录,解压cacti包并移动至web跟路径下,因为apache默认以apache用户及组身份启动,所以需要使用chown命令修改目录权限以便apache读取相关页面。 tar -xf cacti-0.8.8a.tar.gz mv cacti-0.8.8a /var/www/html/cacti chown -R apache:apache /var/www/html/cacti Service httpd restart 创建初始化数据库,这里要确保mysql服务器程序是开启的,通过cacti软件包内提供的数据库备份文件,在本机生成名为cacti的数据库,创建cactiuser账户,并赋予其访问cacti数据库的所有权限,该账号的密码为rose0011. Mysqladmin -uroot -p create cacti Cd /var/www/html/cacti Mysql -uroot -p cacti < cacti.sql Msyql -uroot -p mysql> GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'rose0011'; mysql> flush privileges; mysql> show grants for cactiuser@'localhost'; +------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'cactiuser'@'localhost' IDENTIFIED BY PASSWORD '*668D84A088D81FC9E2FE95B7C112DDA6190478C3' | | GRANT ALL PRIVILEGES ON `cacti`.* TO 'cactiuser'@'localhost' +------------------------------------------------------------------------------------------------------------------+ 设置cacti配置文件,根据上一步数据库初始化操作所创建的数据库信息,修改cacti配置文件中的数据库参数资料,修改内容如下: Vim /var/www/html/cacti/include/config.php /* make sure these values refect your actual database/host/user/password */ $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "rose0011"; $database_port = "3306"; $database_ssl = false; 启动snmp:service snmpd start Cacti生成图表信息 当被监控主机与监控主机都部署完成后,管理员就可以在任意一台网络中的主机中通过浏览器访问cacti管理界面,配置与管理监控服务器。访问后如图所示 Cacti所需要的组件信息如果某些组件未找到,就会以红色显示,修改完之后为 下一步之后提示输入账户名和密码,cacti初始账户名与密码都为admin,输入正确后,系统会提示要求强制修改密码 登录cacti管理界面后,如果需要监控其他主机,还需要完成一些简单的设置,首先要在管理界面中通过devices菜单将被监控主机添加进来。其次,要为新添加的主机创建监控图形,通过new grahps菜单创建监控图形时可以根据情况有选择地监控对象主机。最后,要创建一棵便于查看图形的图形树。 a,添加服务器 Console -> Create New Graphs 右上方有一个 create new host 或者直接输入url,如下 http://192.168.1.2/graphs_new.php b,为新增服务器,创建图表 Console -> Devices -> (Edit) 右上方有一个 Create Graphs for this Host 或者直接输入url,如下 http://192.168.1.132/graphs_new.php?host_id=2 c,将新增加的服务器,添加到graph tree Console -> Graph Trees -> (Edit) -> Graph Tree Items 这样的话,我们就可以在graph中看到我添加的服务器了 crontab -e */5 * * * * /usr/local/php/bin/php /var/www/html/cacti/poller.php 每5分钟收集一次数据 Poller.php为收集数据信息的脚本
|