austindev 2020-06-05
博文目录
一、Cacti
1、Cacti简介
2、cacti的作用和特点
3、cacti监控的数据类型
二、安装配置Cacti监控服务器
1、配置LAMP环境
2、安装SNMP和RRDtooll工具
3、部署英文cacti连接mariadb
4、客户端访问英文cacti的WEB界面
5、部署中文cacti连接mariadb数据库
6、客户端访问中文cacti的WEB界面
三、Cacti通过WEB界面配置监控
1、Cacti配置监控本地服务器
2、Cacti配置监控Linux客户端
3、Cacti配置监控Cisco路由器
cacti是一款使用PHP语言开的发性能与流量检测软件,检测对象可以是Linux、Windows服务器,也可以是路由交换机等网络设备,主要基于SNMP(simple、Network、Management、Protocol,简单网络管理协议)来搜集CPU占用、内存使用、运行进程、网卡流量等数据。
计算机硬件性能监控
网络流量监控
使用php语言开发的监控工具
需要配置LAMP平台
采集数据通过SNMP协议采集
采集数据使用RRDtool工具绘制图表
CPU使用情况;
内存使用情况;
计算机中的进程运行状态;
计算机磁盘空间;
网络卡流量;
此环境用的软件包请访问:https://pan.baidu.com/s/1AaftKbrp3ASsN1Br6zyWug 
提取码:6iog
[ ~]# yum -y install httpd mariadb mariadb-server  
         <!--安装Apache和Mariadb数据库-->
[ ~]# yum -y install zlib freetype libjpeg fontconfig gd libxml2-devel php-gd
 <!--安装PHP依赖工具-->
[ ~]# yum -y install php php-mysql  <!--安装PHP-->
[ ~]# cp /etc/php.ini /etc/php.ini.bak  <!--备份php主配置文件-->
[ ~]# vim /etc/php.ini  <!--修改php主配置文件-->
 879 date.timezone = Asia/Shanghai  <!--时区修改为上海-->
[ ~]# vim /var/www/html/index.php   <!--创建php测试文件 -->
<?php
phpinfo();
?>
[ ~]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak  
         <!--备份apache主配置文化-->
[ ~]# vim /etc/httpd/conf/httpd.conf  <!---编辑apache主配置文件支持php主页->
163 <IfModule dir_module>
164     DirectoryIndex index.html index.php  <!--添加index.php-->
165 </IfModule>
[ ~]# systemctl start httpd   <!--启动Apache服务-->
[ ~]# systemctl enable httpd   <!--设置开机自动启动-->
[ ~]# systemctl start mariadb   <!--启动mariadb数据库-->
[ ~]# systemctl enable mariadb  <!--设置开机自动启动-->
[ ~]# mysqladmin -uroot password   <!--初始化数据库-->客户端使用浏览器访问php页面
[ ~]# yum -y install net-snmp-utils net-snmp  <!--安装snmp-->
[ ~]# systemctl start snmpd   <!--启动snmp服务-->
[ ~]# systemctl enable snmpd   <!--设置开机自动启动 -->
[ ~]# yum -y install cairo-devel zlib-devel libxml2 libxml2-devel glib2 glib2-devel 
libpng libpng-devel freetype freetype-devel libart_lgpl pango pango-devel perl-CPAN
           <!--安装RRDtool工具依赖程序-->
[ ~]# tar zxvf rrdtool-1.7.2.tar.gz -C /usr/src/   <!--解压缩RRDtool工具-->
[ ~]# cd /usr/src/rrdtool-1.7.2/        <!--进入目录-->
[ rrdtool-1.7.2]# ./configure --prefix=/usr/local/ && make && make install
          <!--配置安装RRDtool工具-->[ ~]# useradd -M -s /sbin/nologin cacti       <!--创建管理cacti账户-->
[ ~]# tar zxvf cacti-0.8.8b.tar.gz -C /usr/src/    <!--解压缩英文cacti包-->
[ ~]# mv /usr/src/cacti-0.8.8b/ /var/www/html/cacti <!--移动cacti到网站根目录-->
[ ~]# chown -R cacti:cacti /var/www/html/cacti/ <!--设置管理网站的所有者-->
MariaDB [(none)]> create database cacti default character set utf8;  <!--创建数据库cacti-->
MariaDB [(none)]> grant all on cacti.* to ‘cacti‘@‘localhost‘ identified by ‘cacti‘;    
         <!--设置授权cacti账户使用密码cacti访问cacti数据库-->
[ ~]# vim /var/www/html/cacti/include/config.php <!--修改cacti配置文件连接数据库-->
 26 $database_type = "mysql";
 27 $database_default = "cacti";
 28 $database_hostname = "localhost"; 
 29 $database_username = "cacti";         <!--用户名-->
 30 $database_password = "cacti";         <!--密码-->
[ ~]# mysql -u cacti -p cacti < /var/www/html/cacti/cacti.sql<!--导入数据到cacti数据库中-->
[ ~]# mysql -uroot          <!--登录数据库-->
MariaDB [(none)]> use cacti;        <!--切换到cacti数据库-->
MariaDB [cacti]> show tables;      <!--验证数据是否导入成功-->
+---------------------------+
| Tables_in_cacti           |
+---------------------------+
| cdef                      |
| cdef_items                |
| colors                    |





按照英文cacti步骤部署LAMP环境、安装SNMP和RRDtool工具
[ ~]# useradd -M -s /sbin/nologin cacti       <!--创建管理cacti用户-->
[ ~]# rz        <!--上传中文cacti包-->
cacti-0.8.8b-cn-zutb.tar.gz 
[ ~]# tar zxvf cacti-0.8.8b-cn-zutb.tar.gz          <!--解压缩cacti-->
[ ~]# mv cacti/* /var/www/html/             <!--剪切到网站根目录-->
[ ~]# chown -R cacti:cacti /var/www/html/   <!--设置管理网站的所有者-->
[ ~]# vim /var/www/html/cacti/include/config.php <!--修改cacti配置文件连接数据库-->
26 $database_type = "mysql"; 
 27 $database_default = "cacti"; 
 28 $database_hostname = "localhost";
 29 $database_username = "cacti";          <!--用户名-->
 30 $database_password = "cacti";          <!--密码-->
 31 $database_port = "3306";            <!--端口号-->
 32 $database_ssl = false;  
[ ~]# mysql -uroot        <!--登录数据库-->
MariaDB [(none)]> create database cacti default character set utf8; <!--创建数据库cacti支持中文字符-->
MariaDB [(none)]> grant all on cacti.* to ‘cacti‘@‘localhost‘ identified by ‘cacti‘;      
         <!--授权cacti账户使用密码cacti访问cacti数据库-->
[ ~]# vim /var/www/html/cacti.sql     <!--打开此配置文件-->
CREATE DATABASE `cacti` CHARACTER SET utf8 COLLATE utf8_general_ci;<!--删除此行-->
[ ~]# mysql -u cacti -p cacti < /var/www/html/cacti.sql  <!--导入数据到cacti数据库中-->
[ ~]# mysql -uroot         <!--登录数据库-->
MariaDB [(none)]> use cacti;          <!--切换到cacti数据库-->
MariaDB [cacti]> show tables;        <!--验证数据是否导入成功-->
+---------------------------+
| Tables_in_cacti           |
+---------------------------+
| cdef                      |
| cdef_items                |
| colors                    |





[ ~]# vim /etc/snmp/snmpd.conf <!--修改snmp配置文件--> 42 com2sec notConfigUser 192.168.100.20 public <!--添加服务器IP地址--> 64 access notConfigGroup "" any noauth exact all none none 88 view all included .1 80 [ ~]# systemctl restart snmpd <!--重新启动snmp客户端-->









[ ~]# /usr/bin/php /var/www/html/poller.php --force
[ ~]# crontab -e             <!--设置计划任务-->
*/5     *       *       *       *       /usr/bin/php /var/www/html/poller.php --force       
             <!--每5分钟更新一次cacti数据-->

[ ~]# yum -y install net-snmp <!--安装snmp客户端 --> [ ~]# vim /etc/snmp/snmpd.conf <!--修改snmp主配置文件--> 42 com2sec notConfigUser 192.168.100.30 public <!--添加被监控端IP地址--> 64 access notConfigGroup "" any noauth exact all none none 88 view all included .1 80 [ ~]# systemctl start snmpd <!--启动snmp客户端--> [ ~]# systemctl enable snmpd <!--开机自动启动 -->









R1#config t R1(config)#int f 0/0 <!--进入0/0接口--> R1(config-if)#no switchport <!--开启三层接口--> R1(config-if)#ip add 192.168.100.40 255.255.255.0 <!--配置IP地址--> R1(config-if)#no shutdown <!--激活配置--> R1(config-if)#do ping 192.168.100.10 <!--ping Cacti服务器--> Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.100.10, timeout is 2 seconds: .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 8/24/56 ms R1(config)#snmp-server community public ro <!--路由器开启SNMP协议-->







———————— 本文至此结束,感谢阅读 ————————
<?php. if (!empty($_POST)) {. $data1 = $_POST["data1"];$data2 = $_POST["data2"];$fuhao = $_POST["fuh