构建cacti监测体系(基于LAMP架构)
目录
第一部分 实验环境
第二部分 搭建LAMP架构
第三部分 部署cacti、设置数据库连接
第四部分 配置SNMP
第五部分 安装cacti-spine优化数据轮询速度
第六部分 配置cacti监测系统
第一部分 实验环境
Linux服务器一台
IP地址:192.168.80.10(server)
系统:CentOS 7.4
需要软件:cacti-1.1.26.tar
cacti-spine-1.1.26.tar
Win7客户端一台(测试用)
IP地址:192.168.80.2
第二部分 搭建LAMP架构
注意:由于本实验使用的软件版本都比较高,经过多次测试,数据库选择了最稳定最新版本mariadb,yum源是来自于中科院,各个插件来自阿里云,因此配置的Yum仓库里配置了本地源、阿里云源以及中科院的yum源。
一:配置yum源
[[email protected] ~]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# rm -rf *
[[email protected] 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架构及所需插件
[[email protected] ~]# 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
三:编辑各配置文件
[[email protected] ~]# vi /etc/httpd/conf/httpd.conf //apache配置文件
修改以下内容:
ServerName server
保存退出
[[email protected] ~]# vi /etc/httpd/conf.d/php.conf
最后添加一行内容:
LoadModule php5_module modules/libphp5.so
保存退出
[[email protected] ~]# vi /etc/php.ini
添加一行
修改一行
保存退出
[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# setenforce 0
[[email protected] ~]# systemctl start httpd //开启apache服务
[[email protected] ~]# systemctl start mariadb //开户mariadb服务
[[email protected] ~]# netstat -anpt | grep 80
[[email protected] ~]# netstat -anpt | grep 3306
[[email protected] ~]# mysql_secure_installation //数据库初始化设置
[[email protected] ~]# vi /var/www/html/index.php //编辑Php默认网页显示内容
<?php
phpinfo();
?>
保存退出
//验证:win7下访问http://192.168.80.10
//配置数据库
[[email protected] ~]# 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
[[email protected] ~]# vi /var/www/html/index.php
将原先内容删除,添加以下内容:
<?php
$link=mysqli_connect(‘192.168.80.10‘,‘cacti‘,‘admin123‘);
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
保存退出
//验证数据库连接情况,win7下访问http://192.168.80.10
第三部分 部署cacti、设置数据库连接
一:安装cacti
[[email protected] ~]# tar xf cacti-1.1.26.tar.gz
[[email protected] ~]# mv cacti-1.1.26 /var/www/html/cacti
[[email protected] ~]# mysql -ucacti -p cacti < /var/www/html/cacti/cacti.sql //导入数据库文件,密码admin123
[[email protected] ~]# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot mysql –p
//导入时区文件否则cacti会报错
[[email protected] ~]# 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
[[email protected] ~]# vi /var/www/html/cacti/include/config.php
修改以下内容:
保存退出
第四部分 配置SNMP
[[email protected] ~]# vi /etc/snmp/snmpd.conf
修改以下内容:
保存退出
[[email protected] ~]# systemctl restart snmpd.service
[[email protected] ~]# systemctl enable snmpd.service
[[email protected] ~]# useradd -r -M cacti
[[email protected] ~]# chown -R cacti /var/www/html/cacti/rra/
[[email protected] ~]# chown -R cacti /var/www/html/cacti/log/
[[email protected] ~]# chown -R apache.apache /var/www/html/cacti/resource/
[[email protected] ~]# chown -R apache.apache /var/www/html/cacti/cache
[[email protected] ~]# chown -R apache.apache /var/www/html/cacti/scripts
//做轮询计划任务
[[email protected] ~]# crontab –e
/5 * /usr/bin/php /var/www/html/cacti/poller.php >> /tmp/cacti_rrdtool.log
保存退出
第五部分 安装cacti-spine优化数据轮询速度
[[email protected] ~]# ln -s /usr/lib64/libmysqlclient.so.18.0.0 /usr/lib64/libmysqlclient.so
[[email protected] ~]# ls -l /usr/lib64/libmysqlclient.so
[[email protected] ~]# tar xf cacti-spine-1.1.26.tar.gz
[[email protected] ~]# yum install –y make gcc gcc-c++
[[email protected] ~]# cd cacti-spine-1.1.26
[[email protected] cacti-spine-1.1.26]# ./configure
[[email protected] cacti-spine-1.1.26]# make && make install
[[email protected] cacti-spine-1.1.26]# cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf
[[email protected] cacti-spine-1.1.26]# vi /usr/local/spine/etc/spine.conf
配置以下内容:
保存退出
[[email protected] cacti-spine-1.1.26]# systemctl restart httpd
[[email protected] ~]# 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最低配置如果设置过低会提示标准数值让修改
[[email protected] cacti-spine-1.1.26]# systemctl restart mariadb
第六部分 配置cacti监测系统
//win7访问http://192.168.80.10/cacti/
//如果出现以下错误:
//解决方法:
[[email protected] cacti-spine-1.1.26]# vi /etc/snmp/snmpd.conf
将127.0.0.1改成localhost
保存退出
[[email protected] cacti-spine-1.1.26]# systemctl restart snmpd
[[email protected] 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
[[email protected] cacti-spine-1.1.26]# systemctl restart mariadb
Win7重新访问:
下一步
完成
用户名与密码默认admin,登录后密码要求修改(至少八位,并且复杂)
重新访问:http://192.168.80.10/cacti/
- (控制台)Console -> 系统配置 -> 设置(Cacti Settings) -> Paths -> 在 Spine Binary File Location 文本框内填入配置文件路径 /usr/local/spine/bin/spine ,点击保存 (Save)。
右下角点击保存 - (控制台)Console -> 系统设置 –> 设置(Cacti Settings) -> Poller -> 在 Poller Type 下拉框中选择 spine ,点击保存 (Save)。
- 添加设备:
第一个local linux machine为本机,选择win7点击进行配置
Win7设置:
控制面板—程序和功能
打开服务管理器:
Win+r,services.msc
确定后重启snmp service服务
//刷新网页http://192.168.80.10/cacti/
控制台—管理—设备:
//注意,设备状态必须是up,如果配置完立马来看可能是down,或者unkown,等一会再刷新,有一个默认等待时间。
//以下创建图表分析
//如上图所示:抓取数据成功
在添加完设备和图形后,需要重建采集器缓存。
控制台 --> 系统工具 --> 点击“Rebuild Poller Cache”
//OK,完成
原文地址:http://blog.51cto.com/12227558/2103531