cacti是一款用php语言开发的性能与流量监控工具 监控对象:linux、windows、路由器、交换机等 监控范围:基于SNMP(简单网络管理协议)搜集CPU占用和内存使用、运行进程数、磁盘空间、网卡流量等各种数据 官方下载地址:https://www.cacti.net/downloads/

本案例: 基于centos7.4架设监控平台 监控本机 服务器地址:192.168.80.81 win10地址:192.168.80.79

80.81安装好lamp,cacti是在web上部署的, 因为系统安装包内版mariadb本过低,无法与最新版cacti搭配使用,现在yum本地仓库里增加中科大mariadb源,解决这一问题;rrdtool软件支持图形化,需要阿里云源支持提供:

需要的各软件(插件)版本(请自行收集): 本案例用到的各版本: Apache 2.4.6 MariaDB 10.1.30 PHP Version 5.4.16 cacti-1.1.26 cacti-spine-1.1.26

案例开始:

1.安装各种软件(httpd、mariadb、php、php插件、snmp、rrdtool等)

yum install -y
httpd
MariaDB-client MariaDB-server
MariaDB-devel
php
php-snmp
php-ldap
php-pdo
php-mysql
php-devel
php-pear
php-common
php-gd
php-mbstring
php-xml
php-process
net-snmp
net-snmp-utils
net-snmp-libs
net-snmp-agent-libs
net-snmp-devel
rrdtool
rrdtool-php
rrdtool-perl
rrdtool-devel
gcc openssl-devel
dos2unix
autoconf
automake
binutils libtool
cpp postfix
glibc-headers
kernel-headers
glibc-devel
gd gd-devel
help2man
ntpdate
wget patch

2.LAMP调试

vi /etc/httpd/conf/httpd.conf
ServerName www.aa.com //修改主机名

vi /etc/httpd/conf.d/php.conf
LoadModule php5_module modules/libphp5.so //最底行下插入

vi /etc/php.ini
safe_mode=off //在[PHP]下插入 date.timezone = PRC //放开#

systemctl stop firewalld.service setenforce 0

systemctl start httpd.service systemctl start mariadb.service

netstat -anpt | grep 80 netstat -anpt | grep 3306

mysql_secure_installation //给数据库初始设置,初始密码去除匿名等

vi /var/www/html/index.php

<?php phpinfo(); ?>

win10访问http://192.168.80.81/ 检测和php连通性,出现php版本页

vi /etc/my.cnf.d/server.cnf //[mysqld]下配置,此处配置是下面软件网页安装时所需,也可到时配置 character_set_server = utf8mb4 collation_server = utf8mb4_unicode_ci character_set_client = utf8mb4 max_connections = 100 max_heap_table_size = 256M max_allowed_packet = 16777216 join_buffer_size = 64M tmp_table_size = 64M innodb_file_per_table = ON innodb_buffer_pool_size = 1024M innodb_doublewrite = OFF innodb_lock_wait_timeout = 50 innodb_flush_log_at_timeout = 3 innodb_read_io_threads = 32 innodb_write_io_threads = 16

mysql -u root -p //登入数据库添加授权用户cacti

CREATE DATABASE cacti character set utf8 collate utf8_bin; //创建cacti数据库 使用utf8编码 GRANT all ON cacti.* TO 'cacti'@'%' IDENTIFIED BY 'admin123'; GRANT all ON cacti.* TO 'cacti'@'localhost' IDENTIFIED BY 'admin123'; flush privileges;

使用以下脚本检测mysql php是否协同工作,若出现success则成功! vi /var/www/html/index.php <?php $link=mysqli_connect('192.168.80.81','cacti','admin123'); if($link) echo "Success!!"; else echo "Fail!!"; ?>

win10访问http://192.168.80.81/

3.安装cacti

tar xf cacti-1.1.26.tar.gz //解压cacti最新版 mv cacti-1.1.26 /var/www/html/cacti //移至web默认主页目录下

mysql -ucacti -p cacti < /var/www/html/cacti/cacti.sql //把cacti数据库文件导入数据库 mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot mysql -p //导入时区文件否则cacti会报错

grant select on mysql.time_zone_name to 'cacti'@'localhost' IDENTIFIED BY 'admin123'; //在数据库中为时区文件授权给cacti localhost也可改为%

vi /var/www/html/cacti/include/config.php //编辑cacti连接数据库账号 $hostname = 127.0.0.1 //本地监控可以不改,需要远程连接就改 这里localhost ,上面授权就localhost $database_username = 'cacti'; $database_password = 'admin123';

4.配置SNMP

rpm -ivh php-snmp-5.4.16-42.el7.x86_64.rpm php-mbstring-5.4.16-42.el7.x86_64.rpm //安装snmp两个rpm包

vi /etc/snmp/snmpd.conf

com2sec notConfigUser 127.0.0.1 public //改成环回口地址(监控自己) 41行

access notConfigGroup "" any noauth exact all none none //把systemview改成all 62行

view all included .1 80 // 去掉#号 85行

systemctl restart snmpd.service systemctl enable snmpd.service

增加cacti系统用户: [root@aa ~]# useradd -r -M cacti [root@aa ~]# chown -R cacti.cacti /var/www/html/cacti/rra/ [root@aa ~]# chown -R cacti.cacti /var/www/html/cacti/log/ [root@aa ~]# chown -R apache.apache /var/www/html/cacti/resource/ [root@aa ~]# chown -R apache.apache /var/www/html/cacti/cache [root@aa ~]# chown -R apache.apache /var/www/html/cacti/scripts

5.安装cacti-spine(采集数据插件)优化数据轮询速度

需要先安装help2man-1.41.1-3.el7.noarch.rpm

ln -s /usr/lib64/libmysqlclient.so.18.0.0 /usr/lib64/libmysqlclient.so

tar xf cacti-spine-1.1.26.tar.gz cd cacti-spine-1.1.26 ./configure && make && make install

cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf //复制模板为配置文件

vi /usr/local/spine/etc/spine.conf //修改相关参数

DB_Host localhost 自己本机 DB_Database cacti DB_User cacti DB_Pass admin123 DB_Port 3306

RDB_Host localhost 远程主机 RDB_Database cacti RDB_User cacti RDB_Pass admin123 RDB_Port 3306

6.登录到win10页面进行安装监控软件

service httpd restart service Mariadb restart

192.168.80.81/cacti/

按需配置