天天看點

伺服器監控——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處理後的圖檔

繼續閱讀