1. 程式人生 > >服務器監控——Cacti(全新版)

服務器監控——Cacti(全新版)

Centos7.4 新版 Cacti 實戰

服務器監控——Cacti

Cacti本身只是一個web界面的管理套件,通過調用Net-SNMP工具來采集監測數據,並結合RRDtool記錄數據並繪制圖片,以web頁面的形勢展示給管理員用戶。

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
技術分享圖片
啟動成功
[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/
技術分享圖片
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 //更換測試頁
<?php
$link=mysqli_connect(‘192.168.80.181‘,‘cacti‘,‘admin123‘);
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
Win10訪問http://192.168.80.181/
技術分享圖片
數據庫連接沒有問題

---------下面可以開始安裝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‘;
MariaDB [(none)]> flush privileges;
[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/進行安裝
技術分享圖片
技術分享圖片
技術分享圖片
發現mbstring和snmp沒有安裝,數據庫參數設置有問題
下面我們去優化一下
技術分享圖片

安裝這兩個包
[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
下面再訪問網頁安裝
技術分享圖片

軟件包已經安裝
技術分享圖片
數據庫配置沒有問題
然後直接next
技術分享圖片
這邊按照需求選擇
安裝完成之後,初始用戶名admin密碼admin,輸入之後需要修改密碼,密碼有一定的復雜度且必須超過8位數(必須包含一個大寫一個小寫一個字符)
技術分享圖片
登錄成功
----------------下面進行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)。
技術分享圖片
Console -> 設置(Cacti Settings) -> Poller -> 在 Poller Type 下拉框中選擇 spine ,點擊保存 (Save)。註意:假如使用spine的話,下面兩項輪訓時間和計劃任務間隔時間都要設置為every Minute
技術分享圖片
在添加完設備和圖形後,需要重建采集器緩存。
Console --> 系統工具(system Utilities) --> Rebuild Poller Cache
技術分享圖片
點擊即可,進入如下畫面就不需要設置了
技術分享圖片
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分鐘左右時間,有快有慢
技術分享圖片

下面可以創建圖表分析
選中設備
技術分享圖片
選GO
技術分享圖片
然後直接選圖形,可以查看cacti處理後的圖片
技術分享圖片

服務器監控——Cacti(全新版)