环境:redhat7.2
Server1
一.需要安装的包
yum install php
php -m ##查看php加载的模块
rpm -q php ##7.2源版本
yum install php-mysql(-5.4.16-36.el7_1.x86_64)
安装php-snmp-5.4.16-36.el7_1.x86_64
yum install php-mbstring-5.4.16-36.el7_1.x86_64.rpm
yum install php-mbstring-5.4.16-36.el7_1.x86_64
yum install php-process-5.4.16-36.el7_1.x86_64.rpm
yum install net-snmp-utils-5.5-49.el6.x86_64 安装snmpwalk等工具集
yum install net-snmp-devel 安装snmp开发包
yum install php-gd
yum install mariadb mariadb-server 呢个数据库服务都可以
yum install rrdtool ## rrdtool是一个强大的绘图引擎,cacti是一套php程序,他运用snmpget采集数据,使用rrdtool绘图
所有被监控端安装net-snmp
yum install net-snmp
下载cacti https://www.cacti.net/
cacti-1.1.38.tar.gz cacti-spine-1.1.38.tar.gz
tar zxf cacti-1.1.38.tar.gz
mv cacti-1.1.38 /var/www/html/
cd /var/www/html/
mv cacti-1.1.38/ cacti
useradd cacti
chown cacti.cacti cacti/ -R
配置文件
/var/www/html/cacti/include/config.php
27 $database_type = 'mysql';
28 $database_default = 'cacti';
29 $database_hostname = 'localhost';
30 $database_username = 'cacti';
31 $database_password = 'westos';
32 $database_port = '3306';
33 $database_ssl = false;
进入数据库建立cacti库授权
systemctl start mariadb
mysql ##redhat7默认数据库不要密码
MariaDB [(none)]> create database cacti;
MariaDB [(none)]> grant all on cacti.* to cacti@localhost identified by "westos";
Query OK, 0 rows affected, 1 warning (0.13 sec)
测试下
mysql -ucacti -pwestos cacti ##能顺利进入数据库
cd /var/www/html/cacti/
mysql -ucacti -pwestos cacti< cacti.sql ##需要等待会,切勿ctrl + c
设置时区
vim /etc/php.ini
946 date.timezone = Asia/Shanghai
重启下httpd服务
数据库授权
mysql
MariaDB [(none)]> use mysql
MariaDB [mysql]> show tables;
MariaDB [mysql]> grant select on mysql.time_zone_name to cacti@localhost;
MariaDB [mysql]> quit
mysql_tzinfo_to_sql /usr/share/zoneinfo/Asia/Shanghai Shanghai | mysql mysql ##数据库时区校对
二.浏览器安装
这个界面有报错根据报错查看时什么问题
这个界面报错是包的有问题
Rrdtool是1.4版本的
模块全勾
默认用户&密码admin & admin
第一次登陆后要求更改密码
新密码:Westos+007
到这里就可以进入进行监控了
三.监控本机测试
客户端要安装
snmp 协议,并允许 cacti 服务器采集数据,就能够集中检测,在 linux 中安net-snmp、lm_sensors 等软件包,然后修改配置文件/etc/snmp/snmpd.conf,并启动 snmpd 服务,snmpd默认在 UDP 协议 161 端口响应 SNMP 查询。
Cacti监控的主机配置:
yum -y install net-snmp
cd /etc/snmp/
cp -p snmpd.conf snmpd.conf.origin
vim snmpd.conf
41 com2sec notConfigUser 192.168.2.11 public
62 access notConfigGroup "" any noauth exact all none none
85 view all included .1 80
第 41 行,将 default 修改为 cacti 服务器地址,public 表示 SNMP 共同体的名称,用来识别及验证的,作用类似于密码
第 62 行,将 SystemView 修改为 all 或者 read,提供访问权限
第 85 行,去掉#,支持查询访问
[root@client ~]# /etc/init.d/snmpd start
[root@client ~]# chkconfig snmpd on
[root@client ~]# netstat -anpu |grep 161
如果被检测 linux 主机有防火墙,需调整策略,允许 cacti 访问本级的 snmpd 服务
iptables -I INPUT -s 192.168.200.211 -p udp –dport 161 -j ACCEPT
iptables -I OUTPUT -s 192.168.200.211 -p udp –sport 161 -j ACCEPT
这种问题,监控图形出不来
crontab -u cacti -e
*/5 * * * * cacti php /var/www/html/cacti/poller.php
可以这样,让所有输出不显示:
*/5 * * * * cacti php /var/www/html/cacti/poller.php >/dev/null 2>&1
立即执行,再回去刷新网页
yum install net-snmp
systemctl start snmpd
ss -anlptue | grep snmp
161 端口和199端口
上边这种情况去查看日志说网不通
经检查是snmpd服务安装后没启动
刷新一下ok:
显示那个时间段的,任你调了
再添加主机server2 172.25.51.2
Server2:
yum install net-snmp-utils 安装snmpwalk等工具集
yum install net-snmp(-5.7.2-24.el7.x86_64)
netstat -antlpp
Cacti主机操作
rm -fr /etc/snmp/snmpd.conf
vim /etc/snmp/snmpd.conf
rocommunity public
systemctl restart snmpd
snmpwalk -v 1 -c public localhost .1
会显示获取的信息
这个方法只是最便捷的,可以在源文件修改相应参数也可获取
MIB管理信息库,自行脑补
同样 被监控主机修改 /etc/snmp/snmpd.conf
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
vim /etc/snmp/snmpd.conf
rocommunity public
systemctl restart snmpd
被监控主机测试下数据采集:
snmpwalk -v 1 -c public localhost .1
可以采集到自身的数据
Cacti
snmpwalk -v 1 -c public 172.25.54.2 .1
也可以采集到server2的数据
Server2编辑/etc/snmp/snmpd.conf.bak
cp /etc/snmp/snmpd.conf.bak /etc/snmp/snmpd.conf
vim /etc/snmp/snmpd.conf
41 com2sec notConfigUser 172.25.51.1 public
62 access notConfigGroup "" any noauth exact all none none
85 view all included .1 80
第 41 行,将 default 修改为 cacti 服务器地址,public 表示 SNMP 共同体的名称,用来识别及
验证的,作用类似于密码
第 62 行,将 SystemView 修改为 all 或者 read,提供访问权限
第 85 行,去掉#,支持查询访问
剩下的就是cacti的设置了
查看日志:
cat /var/log/messages



