Cacti安装使用

Cacti简单介绍(官方)

  Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。

Cacti通过 snmp协议来获取数据,使用 RRDtool绘画图形,从而让用户完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,界面十分友好。Cacti 的发展是让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。

Spine支持多线程、分布式,大批量的大规模的环境中使用

首先安装所需要的依赖包

yum install -y rrdtool net-snmp net-snmp-utils
yum install -y httpd  php php-mysql  mysql mysql-server

配置Apache并启动

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 
        <VirtualHost *:80>
            ServerName www.cacti.com
            DocumentRoot /cacti
            <Directory "cacti">
                Options None
                AllowOverride None
                Order allow,deny
                allow from all
            </Directory>
            ErrorLog logs/cacti-error_log
            CustomLog logs/cacti-access_log common
        </VirtualHost>
[root@localhost ~]# service httpd start
Starting httpd:                                            [  OK  ]
​

拉下cacti的安装包,并解压安装

[root@localhost ~]# wget http://www.cacti.net/downloads/cacti-0.8.8g.tar.gz
[root@localhost ~]# tar xf cacti-0.8.8g.tar.gz -C /
[root@localhost ~]# mv /cacti-0.8.8g /cacti

根据自己的实际环境来安装到指定目录并授权属主属组

[root@localhost ~]#  chown -R root.root /cacti/

创建数据库以方便后续网络监控的安装

[root@localhost ~]# mysql -e "CREATE DATABASE cactidb;"
[root@localhost ~]# mysql -e "GRANT ALL PRIVILEGES ON cactidb.* TO 'cactiadmin'@'localhost' IDENTIFIED BY 'cactiadmin';"

将cacti自带的SQL写入我们的对应库中

[root@localhost ~]# mysql cactidb </cacti/cacti.sql

编辑 cacti 的配置文件

[root@localhost cacti]# vim /cacti/include/config.php
$database_type = "mysql";  #数据库类型为mysql
$database_default = "cactidb";  #cacti的数据库是cactidb
$database_hostname = "localhost";  #连接的主机
$database_username = "cactiadmin";  #连接的用户
$database_password = "cactiadmin";  #连接的密码
$database_port = "3306";  #连接的端口 
$database_ssl = false;  #不启用ssl  
$url_path = "/";
#设置cacti的访问URL路径是/,默认是/cacti

添加 cacti 专属的用户并授权

[root@localhost cacti]# useradd cacti     -s /sbin/nologin
[root@localhost ~]# chown -R cacti.cacti /cacti/{log,rra}

设置定时任务

[root@localhost ~]# echo "*/5 * * * * /usr/bin/php /cacti/poller.php &>/dev/null" >/var/spool/cron/cacti

编辑PHP的时区

[root@bogon cacti]# cat /etc/php.ini | grep timezone
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai

重启Apache

systemctl restart httpd

网页访问主机地址,出现以下安装界面

原始密码,admin 填入后需要重新设置密码

至此,Cacti安装成功

 

修改snmp配置文件,否则会报错 snmp error

[root@bogon ~]# vim /etc/snmp/snmpd.conf
com2sec notConfigUser  192.168.193.100  public
[root@bogon ~]# systemctl restart snmpd

 

 

测试后出图像

[root@bogon ~]# /bin/php /data/cacti/poller.php 
OK u:0.00 s:0.00 r:0.10
OK u:0.00 s:0.00 r:0.10
OK u:0.00 s:0.00 r:0.16
OK u:0.00 s:0.00 r:0.16
OK u:0.00 s:0.00 r:0.17
OK u:0.00 s:0.00 r:0.17
OK u:0.01 s:0.00 r:0.18
OK u:0.01 s:0.00 r:0.18
OK u:0.01 s:0.00 r:0.19
OK u:0.01 s:0.00 r:0.19
11/17/2020 03:49:22 PM - SYSTEM STATS: Time:0.3138 Method:cmd.php Processes:1 Threads:N/A Hosts:2 HostsPerProcess:2 DataSources:5 RRDsProcessed:5
[root@bogon ~]# 

测试产生图像,如果能够接收到被监控机器的数据信息,则表示被监控主机的snmp配置已经完成,没有错误

[root@bogon ~]# snmpwalk -c mypublic -v 2c 192.168.193.100
SNMPv2-MIB::sysDescr.0 = STRING: Linux bogon 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (4696) 0:00:46.96
SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
SNMPv2-MIB::sysName.0 = STRING: bogon
SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf)

看平均值

rrdtool fetch -r 300 localhost_mem_buffers_3.rrd AVERAGE

排错1:

被监控端安装snmp
yum -y install net-snmp net-snmp-devel
​
被监控端安装配置snmp
vim /etc/snmp/snmpd.conf
com2sec notConfigUser default public
改为 ( cacti主机IP地址 )
com2sec notConfigUser 192.168.0.195 public
​
access notConfigGroup "" any noauth exact systemview none none
改为
access notConfigGroup "" any noauth exact all none none
​
#view all included .1 80
将#注释删掉
view all included .1 80
​
然后开启 snmp
service snmpd start
设置snmpd开机启动
chkconfig snmpd on

最后附上一个效果图

 

原文地址:https://www.cnblogs.com/security-guard/p/13995412.html