RedHat/CentOS安装和配置Cacti网络绘图工具

时间:2020-01-09 10:38:21  来源:igfitidea点击:

Cacti是类似于MRTG的网络绘图工具。
如何安装和配置通用选项以将SNMP数据和各种其他数据(例如系统负载,网络链接状态,硬盘空间,登录的用户等)收集到RRD中?

Cacti是RRDTool的完整前端,它存储所有必要的信息以创建图形并在MySQL数据库中填充数据。
前端完全由PHP驱动。
除了能够在数据库中维护图形,数据源和Round Robin存档外,Cacti还可以处理数据收集。
对于使用MRTG创建流量图的那些,也有SNMP支持。

所需的软件

您需要在RHEL/Fedora/CentOS Linux上安装以下软件:

  • MySQL服务器:存储Cacti数据。
  • NET-SNMP服务器SNMP(简单网络管理协议)是用于网络管理的协议。
  • 带有net-snmp模块的PHP使用PHP访问SNMP数据。
  • Apache/lighttpd/ngnix webserver:Web服务器,用于显示使用PHP和RRDTOOL创建的图形。

在CentOS/RHEL上安装Cacti软件

首先,以root用户身份登录并执行以下命令以安装mysql,apache和php:

# yum install mysql-server mysql php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli php-snmp php-pear-Net-SMTP php-mysql httpd

配置MySQL服务器

首先,设置root密码:

# mysqladmin -u root password NEWPASSWORD

创建CactiMySQL数据库

创建一个名为cacti的数据库,执行:

# mysql -u root -p -e 'create database cacti'

创建一个名为cacti的用户,其密码为zYn95ph43zYtq,执行:

# mysql -u root -p
mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'zYn95ph43zYtq';
mysql> FLUSH privileges;
mysql> \q

安装snmpd

执行以下命令以安装net-snmpd

# yum install net-snmp-utils php-snmp net-snmp-libs

配置snmpd,打开/etc/snmp/snmpd.conf

# vi /etc/snmp/snmpd.conf

如下所示追加/修改(有关详细信息,请参见snmpd.conf手册页):

com2sec local     localhost           public
group MyRWGroup v1         local
group MyRWGroup v2c        local
group MyRWGroup usm        local
view all    included  .1                               80
access MyRWGroup ""      any       noauth    exact  all    all    none
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root  (configure /etc/snmp/snmp.local.conf)
pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat

保存并关闭文件。
开启snmpd服务:

# /etc/init.d/snmpd start
# chkconfig snmpd on

确保您从snmpd获取信息:

# snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex

示例输出:

IP-MIB::ipAdEntIfIndex.10.10.29.68 = INTEGER: 2
IP-MIB::ipAdEntIfIndex.67.yy.zz.eee = INTEGER: 3
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1

安装Cacti

首先,确保启用了EPEL REPO。
执行以下命令来安装Cacti:

# yum install cacti

安装Cacti表

执行以下命令以查找cacti.sql路径:

# rpm -ql cacti | grep cacti.sql

输出示例:

/usr/share/doc/cacti-0.8.7d/cacti.sql

执行以下命令以安装Cacti表(您需要执行Cacti用户密码):

# mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.7d/cacti.sql

配置Cacti

打开/etc/cacti/db.php文件,执行:

# vi /etc/cacti/db.php

进行如下更改:

/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "zYn95ph43zYtq";
$database_port = "3306";

保存并关闭文件。

配置httpd

打开/etc/httpd/conf.d/cacti.conf文件,执行:

# vi /etc/httpd/conf.d/cacti.conf

您需要从行更新允许。
设置为ALL或您的LAN子网以允许访问Cacti:

#
# Cacti: An rrd based graphing tool
#
Alias /cacti    /usr/share/cacti
 
<Directory /usr/share/cacti/>
        Order Deny,Allow
        Deny from all
        Allow from 10.0.0.0/8
</Directory>

另一个选项是创建/usr/share/cacti/.htaccess文件,并使用密码保护目录。
最后,重启httpd:

# service httpd restart

设置Cacticronjob

打开/etc/cron.d/cacti文件,执行:

# vi /etc/cron.d/cacti

取消注释行:

*/5 * * * *     cacti   /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

保存并关闭文件。

运行Cacti安装程序

现在,Cacti可以安装了。
触发网络浏览器并输入网址:

http://your.example.com/cacti/

或者

http://your.server.ip.address/cacti/

只需按照屏幕上的说明进行操作即可。
Cacti的默认用户名和密码为admin/admin。
首次登录时,将强制您更改默认密码。

如何配置SNMP数据收集?

SNMP可用于监视服务器流量。
安装完成后,登录Cacti。

=>单击设备

=>选择本地主机

=>确保按以下方式选择SNMP选项:

SNMP配置

最后,点击保存按钮。

如何创建SNMP图?

单击右上角的"为此主机创建图形"链接。

选择SNMP接口统计信息

选择图形类型(例如具有总带宽的输入/输出字节)

最后,单击创建按钮。

如何查看图表?

要查看图形,请单击图形选项卡。