Centos7.4下構建cacti監測體系
目錄
第一部分 實驗環境
第二部分 搭建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源。
[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/
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
添加一行
修改一行
保存退出
[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
[root@server ~]# mysql_secure_installation //數據庫初始化設置
[root@server ~]# vi /var/www/html/index.php //編輯Php默認網頁顯示內容
<?php
phpinfo();
?>
保存退出
//驗證:win7下訪問http://192.168.80.10
//配置數據庫
[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
將原先內容刪除,添加以下內容:
<?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
[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
修改以下內容:
保存退出
第四部分 配置SNMP
[root@server ~]# vi /etc/snmp/snmpd.conf
修改以下內容:
保存退出
[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
[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
配置以下內容:
保存退出
[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/
//如果出現以下錯誤:
//解決方法:
[root@server cacti-spine-1.1.26]# vi /etc/snmp/snmpd.conf
將127.0.0.1改成localhost
保存退出
[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重新訪問:
下一步
完成
用戶名與密碼默認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,完成
Centos7.4下構建cacti監測體系