构建cacti监测体系(基于LAMP架构)

目录
第一部分 实验环境
第二部分 搭建LAMP架构
第三部分 部署cacti、设置数据库连接
第四部分 配置SNMP
第五部分 安装cacti-spine优化数据轮询速度
第六部分 配置cacti监测系统

第一部分 实验环境
Linux服务器一台
IP地址:192.168.80.10(server)
系统:CentOS 7.4
Linux监控篇—Centos7.4下构建cacti监测体系_第1张图片
需要软件:cacti-1.1.26.tar
cacti-spine-1.1.26.tar
Linux监控篇—Centos7.4下构建cacti监测体系
Win7客户端一台(测试用)
IP地址:192.168.80.2

第二部分 搭建LAMP架构
注意:由于本实验使用的软件版本都比较高,经过多次测试,数据库选择了最稳定最新版本mariadb,yum源是来自于中科院,各个插件来自阿里云,因此配置的Yum仓库里配置了本地源、阿里云源以及中科院的yum源。
一:配置yum源
[root@server ~]# cd /etc/yum.repos.d/
[root@server yum.repos.d]# rm -rf *
[root@server yum.repos.d]# vi base.repo
[local] //本地yum源
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0

[mariadb] //中科院yum源
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos74-amd64/
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

[Ali] //阿里云yum源
name=ali
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
保存退出

二:用yum安装lamp架构及所需插件
[root@server ~]# 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

三:编辑各配置文件
[root@server ~]# vi /etc/httpd/conf/httpd.conf //apache配置文件
修改以下内容:
ServerName server
保存退出
[root@server ~]# vi /etc/httpd/conf.d/php.conf
最后添加一行内容:
LoadModule php5_module modules/libphp5.so
保存退出
[root@server ~]# vi /etc/php.ini
添加一行
Linux监控篇—Centos7.4下构建cacti监测体系
修改一行
Linux监控篇—Centos7.4下构建cacti监测体系_第2张图片
保存退出
[root@server ~]# systemctl stop firewalld
[root@server ~]# setenforce 0
[root@server ~]# systemctl start httpd //开启apache服务
[root@server ~]# systemctl start mariadb //开户mariadb服务
[root@server ~]# netstat -anpt | grep 80
[root@server ~]# netstat -anpt | grep 3306
Linux监控篇—Centos7.4下构建cacti监测体系
[root@server ~]# mysql_secure_installation //数据库初始化设置
Linux监控篇—Centos7.4下构建cacti监测体系_第3张图片
Linux监控篇—Centos7.4下构建cacti监测体系_第4张图片
[root@server ~]# vi /var/www/html/index.php //编辑Php默认网页显示内容
phpinfo();
?>
保存退出
//验证:win7下访问http://192.168.80.10
Linux监控篇—Centos7.4下构建cacti监测体系_第5张图片
//配置数据库
[root@server ~]# mysql -uroot –p //登录数据库(密码是初始化数据库时设置的)
MariaDB [(none)]> CREATE DATABASE cacti character set utf8 collate utf8_bin;
MariaDB [(none)]> GRANT all ON cacti. TO 'cacti'@'%' IDENTIFIED BY 'admin123';
MariaDB [(none)]> GRANT all ON cacti.
TO 'cacti'@'localhost' IDENTIFIED BY 'admin123';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit
[root@server ~]# vi /var/www/html/index.php
将原先内容删除,添加以下内容:
$link=mysqli_connect('192.168.80.10','cacti','admin123');
if($link) echo "

Success!!

";
else echo "Fail!!";
?>
保存退出
//验证数据库连接情况,win7下访问http://192.168.80.10
Linux监控篇—Centos7.4下构建cacti监测体系_第6张图片

第三部分 部署cacti、设置数据库连接
一:安装cacti
[root@server ~]# tar xf cacti-1.1.26.tar.gz
[root@server ~]# mv cacti-1.1.26 /var/www/html/cacti
[root@server ~]# mysql -ucacti -p cacti < /var/www/html/cacti/cacti.sql //导入数据库文件,密码admin123
[root@server ~]# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot mysql –p
//导入时区文件否则cacti会报错
[root@server ~]# mysql -uroot -p123
MariaDB [(none)]> grant select on mysql.time_zone_name to 'cacti'@'localhost' IDENTIFIED BY 'admin123'; //在数据库中为时区文件授权
MariaDB [(none)]> flush privileges; //刷新权限
MariaDB [(none)]> quit
[root@server ~]# vi /var/www/html/cacti/include/config.php
修改以下内容:
Linux监控篇—Centos7.4下构建cacti监测体系_第7张图片
保存退出

第四部分 配置SNMP
[root@server ~]# vi /etc/snmp/snmpd.conf
修改以下内容:
Linux监控篇—Centos7.4下构建cacti监测体系
Linux监控篇—Centos7.4下构建cacti监测体系
Linux监控篇—Centos7.4下构建cacti监测体系
保存退出
[root@server ~]# systemctl restart snmpd.service
[root@server ~]# systemctl enable snmpd.service
[root@server ~]# useradd -r -M cacti
[root@server ~]# chown -R cacti /var/www/html/cacti/rra/
[root@server ~]# chown -R cacti /var/www/html/cacti/log/
[root@server ~]# chown -R apache.apache /var/www/html/cacti/resource/
[root@server ~]# chown -R apache.apache /var/www/html/cacti/cache
[root@server ~]# chown -R apache.apache /var/www/html/cacti/scripts
//做轮询计划任务
[root@server ~]# crontab –e
/5 * /usr/bin/php /var/www/html/cacti/poller.php >> /tmp/cacti_rrdtool.log
保存退出

第五部分 安装cacti-spine优化数据轮询速度
[root@server ~]# ln -s /usr/lib64/libmysqlclient.so.18.0.0 /usr/lib64/libmysqlclient.so
[root@server ~]# ls -l /usr/lib64/libmysqlclient.so
Linux监控篇—Centos7.4下构建cacti监测体系
[root@server ~]# tar xf cacti-spine-1.1.26.tar.gz
[root@server ~]# yum install –y make gcc gcc-c++
[root@server ~]# cd cacti-spine-1.1.26
[root@server cacti-spine-1.1.26]# ./configure
[root@server cacti-spine-1.1.26]# make && make install
[root@server cacti-spine-1.1.26]# cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf
[root@server cacti-spine-1.1.26]# vi /usr/local/spine/etc/spine.conf
配置以下内容:
Linux监控篇—Centos7.4下构建cacti监测体系_第8张图片
保存退出
[root@server cacti-spine-1.1.26]# systemctl restart httpd
[root@server ~]# vi /etc/my.cnf.d/server.cnf //mariadb数据库文件
[mysqld]下面添加以下内容:
[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
保存退出
//注意,以上配置是cacti最低配置如果设置过低会提示标准数值让修改
[root@server cacti-spine-1.1.26]# systemctl restart mariadb

第六部分 配置cacti监测系统
//win7访问http://192.168.80.10/cacti/
Linux监控篇—Centos7.4下构建cacti监测体系_第9张图片
//如果出现以下错误:
Linux监控篇—Centos7.4下构建cacti监测体系_第10张图片
//解决方法:
[root@server cacti-spine-1.1.26]# vi /etc/snmp/snmpd.conf
将127.0.0.1改成localhost
Linux监控篇—Centos7.4下构建cacti监测体系
保存退出
[root@server cacti-spine-1.1.26]# systemctl restart snmpd
[root@server cacti-spine-1.1.26]# mysql -uroot -p123
MariaDB [(none)]> grant select on mysql.time_zone_name to 'cacti'@'%' IDENTIFIED BY 'admin123';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit
[root@server cacti-spine-1.1.26]# systemctl restart mariadb
Win7重新访问:
Linux监控篇—Centos7.4下构建cacti监测体系_第11张图片
下一步
Linux监控篇—Centos7.4下构建cacti监测体系_第12张图片
完成
Linux监控篇—Centos7.4下构建cacti监测体系_第13张图片
用户名与密码默认admin,登录后密码要求修改(至少八位,并且复杂)
Linux监控篇—Centos7.4下构建cacti监测体系_第14张图片
重新访问:http://192.168.80.10/cacti/

  1. (控制台)Console -> 系统配置 -> 设置(Cacti Settings) -> Paths -> 在 Spine Binary File Location 文本框内填入配置文件路径 /usr/local/spine/bin/spine ,点击保存 (Save)。
    Linux监控篇—Centos7.4下构建cacti监测体系_第15张图片
    右下角点击保存
  2. (控制台)Console -> 系统设置 –> 设置(Cacti Settings) -> Poller -> 在 Poller Type 下拉框中选择 spine ,点击保存 (Save)。
    Linux监控篇—Centos7.4下构建cacti监测体系_第16张图片

  3. 添加设备:
    Linux监控篇—Centos7.4下构建cacti监测体系_第17张图片
    Linux监控篇—Centos7.4下构建cacti监测体系_第18张图片
    Linux监控篇—Centos7.4下构建cacti监测体系_第19张图片
    第一个local linux machine为本机,选择win7点击进行配置
    Linux监控篇—Centos7.4下构建cacti监测体系_第20张图片

Win7设置:
控制面板—程序和功能
Linux监控篇—Centos7.4下构建cacti监测体系_第21张图片
打开服务管理器:
Win+r,services.msc
Linux监控篇—Centos7.4下构建cacti监测体系_第22张图片
Linux监控篇—Centos7.4下构建cacti监测体系_第23张图片
确定后重启snmp service服务
//刷新网页http://192.168.80.10/cacti/
控制台—管理—设备:
Linux监控篇—Centos7.4下构建cacti监测体系_第24张图片
//注意,设备状态必须是up,如果配置完立马来看可能是down,或者unkown,等一会再刷新,有一个默认等待时间。
//以下创建图表分析
Linux监控篇—Centos7.4下构建cacti监测体系_第25张图片
Linux监控篇—Centos7.4下构建cacti监测体系_第26张图片
Linux监控篇—Centos7.4下构建cacti监测体系_第27张图片
//如上图所示:抓取数据成功

在添加完设备和图形后,需要重建采集器缓存。
控制台 --> 系统工具 --> 点击“Rebuild Poller Cache”
Linux监控篇—Centos7.4下构建cacti监测体系_第28张图片
Linux监控篇—Centos7.4下构建cacti监测体系_第29张图片
//OK,完成