天天看点

服务器监控——Cacti(全新版)

服务器监控——Cacti

Cacti本身只是一个web界面的管理套件,通过调用Net-SNMP工具来采集监测数据,并结合RRDtool记录数据并绘制图片,以web页面的形势展示给管理员用户。

Cacti原理图解:

服务器监控——Cacti(全新版)

Cacti服务端部署实战:

实验准备:192.168.80.181 cacti服务器,需要联网安装插件包

Win10客户端192.168.80.6

注:最新版本的cacti对于LAMP的要求更高,特别是mysql数据库的要求,多方尝试发现用10版本以上的mariadb是最简单的。

在181上安装LAMP架构

首先181必须能够上网,然后再/etc/yum.repos.d/CentOS-Base.repo文件中添加中科院的CentOS7.4源,用于安装mariadb10以上的版本,添加Ali云用于安装rrd

[mariadb]

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 //添加在base区域下面

[Ali]

name=CentOS-$releasever - Base

baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[root@aa yum.repos.d]# yum makecache //加载新源缓存

[root@aa yum.repos.d]#yum install -y \

httpd \

MariaDB-client MariaDB-server \

MariaDB-devel \

php \ //安装lamp架构

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 //以上都是配置cacti需要的插件

[root@aa ~]# vi /etc/httpd/conf/httpd.conf

ServerName www.aa.com

[root@aa ~]# vi /etc/httpd/conf.d/php.conf

LoadModule php5_module modules/libphp5.so

[root@aa ~]# vi /etc/php.ini

safe_mode = off //在[PHP]下加

date.timezone = PRC //查找修改

[root@aa ~]# systemctl stop firewalld.service

[root@aa ~]# setenforce 0

[root@aa ~]# systemctl start httpd.service

[root@aa ~]# systemctl start mariadb.service

服务器监控——Cacti(全新版)

启动成功

[root@aa ~]# mysql_secure_installation //按照提示初始设置mariadb,设置密码,移除匿名用户、开放root远程登录、刷新权限

下面进行lamp测试,首先测试php运行状况

[root@aa ~]# vi /var/www/html/index.php //加入测试页

<?php

phpinfo();

?>

Win10访问http://192.168.80.181/

服务器监控——Cacti(全新版)

Php工作正常,下面测试数据库连接情况

[root@aa ~]# mysql -uroot –p //登录数据库为测试账号cacti授权

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;

[root@aa ~]# vi /var/www/html/index.php //更换测试页

$link=mysqli_connect('192.168.80.181','cacti','admin123');

if($link) echo "Success!!";

else echo "Fail!!";

服务器监控——Cacti(全新版)

数据库连接没有问题

---------下面可以开始安装cacti--------------

[root@aa ~]# tar xf cacti-1.1.26.tar.gz

[root@aa ~]# mv cacti-1.1.26 /var/www/html/cacti

[root@aa ~]# mysql -ucacti -p cacti < /var/www/html/cacti/cacti.sql

Enter password: //密码为admin123,将cacti的数据库导入

[root@aa ~]# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot mysql -p

Enter password: //密码为abc123,1.1.26版本的cacti需要导入时间数据库

[root@aa ~]# mysql -uroot –p //为cacti用户赋予时间数据库的权限

MariaDB [(none)]> grant select on mysql.time_zone_name to 'cacti'@'localhost' IDENTIFIED BY 'admin123';

[root@aa ~]# vi /var/www/html/cacti/include/config.php

$database_username = 'cacti';

$database_password = 'admin123'; //修改这两项,加入数据库不是在本机上,需要修改$rdatabase相应项并去掉注释

[root@aa ~]# vi /etc/snmp/snmpd.conf

com2sec notConfigUser localhost public //改成环回口地址 41

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

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

[root@aa ~]# systemctl restart snmpd.service

[root@aa ~]# systemctl enable snmpd.service

[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

-----------安装cacti-spine优化数据轮询速度-----

新版的cacti可以不使用php脚本去采集数据,新集成了一个插件spine用于采集数据

[root@aa ~]# rpm -ivh help2man-1.41.1-3.el7.noarch.rpm //安装spine依赖包

[root@aa ~]# ln -s /usr/lib64/libmysqlclient.so.18.0.0 /usr/lib64/libmysqlclient.so

[root@aa ~]# tar xf cacti-spine-1.1.26.tar.gz

[root@aa ~]# cd cacti-spine-1.1.26

[root@aa cacti-spine-1.1.26]# ./configure

[root@aa cacti-spine-1.1.26]# make && make install

[root@aa ~]# cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf

[root@aa ~]# 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

配置完毕可以win10访问192.168.80.181/cacti/进行安装

服务器监控——Cacti(全新版)
服务器监控——Cacti(全新版)
服务器监控——Cacti(全新版)

发现mbstring和snmp没有安装,数据库参数设置有问题

下面我们去优化一下

服务器监控——Cacti(全新版)

安装这两个包

[root@aa ~]# rpm -ivh php-mbstring-5.4.16-42.el7.x86_64.rpm

[root@aa ~]# rpm -ivh php-snmp-5.4.16-42.el7.x86_64.rpm

下面去进行数据库设置

[root@aa ~]# vi /etc/my.cnf.d/server.cnf

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

[root@aa ~]# service mariadb restart

[root@aa ~]# service httpd restart

下面再访问网页安装

服务器监控——Cacti(全新版)

软件包已经安装

服务器监控——Cacti(全新版)

数据库配置没有问题

然后直接next

服务器监控——Cacti(全新版)

这边按照需求选择

安装完成之后,初始用户名admin密码admin,输入之后需要修改密码,密码有一定的复杂度且必须超过8位数(必须包含一个大写一个小写一个字符)

服务器监控——Cacti(全新版)

登录成功

----------------下面进行cacti监控设置------------------

Console -> 设置(Cacti Settings) -> Paths -> 在 Spine Binary File Location 文本框内填入配置文件路径 /usr/local/spine/bin/spine ,在 Spine Config File Path 文本框内填入配置文件路径 /usr/local/spine/etc/spine.conf,点击保存 (Save)。

服务器监控——Cacti(全新版)

Console -> 设置(Cacti Settings) -> Poller -> 在 Poller Type 下拉框中选择 spine ,点击保存 (Save)。注意:假如使用spine的话,下面两项轮训时间和计划任务间隔时间都要设置为every Minute

服务器监控——Cacti(全新版)

在添加完设备和图形后,需要重建采集器缓存。

Console --> 系统工具(system Utilities) --> Rebuild Poller Cache

服务器监控——Cacti(全新版)

点击即可,进入如下画面就不需要设置了

服务器监控——Cacti(全新版)

cacti的基础配置完毕之后,需要在服务器中添加计划任务采集数据(使用php方式计划任务间隔时间为5分钟,而我们使用spine方式,计划任务间隔时间为1分钟)

[root@aa cacti]# crontab –e

/1 * /usr/bin/php /var/www/html/cacti/poller.php >> /tmp/cacti_rrdtool.log

下面我们去cacti上查看

管理设备(device)

查看linux状态为UP即可,注意不要着急spine方式刚刚启动需要2-5分钟左右时间,有快有慢

服务器监控——Cacti(全新版)

下面可以创建图表分析

选中设备

服务器监控——Cacti(全新版)

选GO

服务器监控——Cacti(全新版)

然后直接选图形,可以查看cacti处理后的图片

继续阅读