網絡監控cacti1.2.12安裝部署(一)
網絡監控cacti1.2.12安裝部署(一)
網絡監控cacti1.2.12監控配置(二)
網絡監控cacti1.2.12郵件報警(三)
網絡監控cacti1.2.12圖形顯示故障(四)
網絡監控cacti1.2.12解決圖像顯示亂碼(五)
一、cacti概述
cacti是基於php語言實現的一個軟件,通過snmp協議獲取信息,並將信息存儲在rrdtool中,用戶可以將需要查看的數據通過rrdtool生成圖表顯示出來。所以snmp和rrdtool是cacti的核心所在。
cacti架構:
cacti工作流程:
二、安裝cacti 1.2.12
備註:本次搭建使用centos7系統,可參見centos7模板機搭建部署
1、安裝軟件
yum install -y httpd php php-mysql php-snmp php-xml php-ldap php-gd php-mbstring php-posix
2、設置時區
[root@localhost ~]# vim /etc/php.ini
[PHP]
……
date.timezone = Asia/Shanghai #878行
3、開機啓動httpd
systemctl start httpd && systemctl enable httpd
4、安裝db
4.1 設置db yum安裝源
cat >/etc/yum.repos.d/MariaDB.repo<<EOF
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF
4.2 安裝DB
yum install -y MariaDB-server MariaDB-client MariaDB-devel
4.3 啓動db,並設置開機啓動
systemctl start mariadb && systemctl enable mariadb
4.4 初始化數據庫,設定密碼,除了開始直接回車,其他的選擇都輸入Y。
[root@localhost ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
......
Enter current password for root (enter for none): //初始數據庫密碼爲空,直接按回車鍵
OK, successfully used password, moving on...
......
Set root password? [Y/n] Y //輸入root管理員密碼
New password:
Re-enter new password:
Password updated successfully!
......
Remove anonymous users? [Y/n] Y //刪除匿名賬號
... Success!
......
Disallow root login remotely? [Y/n] Y //禁止root管理員從遠程登錄
... Success!
.......
Remove test database and access to it? [Y/n] Y //刪除test數據庫並取消對它的訪問權限
......
Reload privilege tables now? [Y/n] Y //刷新授權表,讓初始化後的設定立即生效
... Success!
4.5 配置MariaDB參數
[root@cacti ~]# vim /etc/my.cnf.d/server.cnf
[server]
# this is only for the mysqld standalone daemon
character_set_server = utf8mb4
collation-server = utf8mb4_unicode_ci
max_heap_table_size = 256M
max_allowed_packet = 16777216
tmp_table_size = 64M
join_buffer_size = 64M
innodb_file_per_table = ON
innodb_buffer_pool_size = 1024M
innodb_doublewrite = OFF
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads =16
innodb_file_format = Barracuda
innodb_large_prefix = 1
5、安裝snmp
yum install –y net-snmp net-snmp-libs net-snmp-utils net-snmp-devel net-snmp-perl
5.1 配置snmp
vim /etc/snmp/snmpd.conf
......
//修改default爲本機(cacti服務器)的ip,修改public爲自己的團體名(一般不改),42行
com2sec notConfigUser 192.168.95.234 public
//把systemview改成all ,供所有snmp 訪問權限 64行
access notConfigGroup "" any noauth exact all none none
view all included .1 80 // 去掉#號 85行
......
5.2 啓動snmp並設置開機啓動
systemctl start snmpd.service && systemctl enable snmpd.service
5.3 驗證snmp是否生效
snmpwalk -v 2c -c public localhost
6、安裝RRDTool 繪圖工具
yum -y install lm_sensors gcc gcc-c++ libart_lgpl-devel zlib-devel libpng-devel freetype-devel gettext-devel glib2-devel pcre-devel pango-devel cairo-devel libxml2-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker rrdtool
7、安裝spine
7.1 安裝spine編譯軟件
yum install -y dos2unix autoconf automake binutils libtool cpp glibc-headers glibc-devel help2man
7.2 下載cacti-spine-1.2.12,這裏版本要與cacti相同,
cd /usr/local/src
wget https://www.cacti.net/downloads/spine/cacti-spine-1.2.12.tar.gz
7.3 編譯安裝cacti-spine
tar zxvf cacti-spine-1.2.12.tar.gz
cd cacti-spine-1.2.12
./bootstrap
./configure
make && make install
chown root:root /usr/local/spine/bin/spine
chmod +s /usr/local/spine/bin/spine
————————————————
如果make時出現
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
make: *** [spine] Error 1
原因:
編譯你的工程代碼之前之前,
先處理一下mysql的庫,默認查找libmysqlclient_r.so,
可是mysql默認爲libmysqlclient.so,
內容完全一樣,做個鏈接即可
請在root下執行
cd /usr/local/mysql/lib/mysql/ (庫所在目錄)
ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so
————————————————
7.4 編輯spine.conf
cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
vim /etc/spine.conf
#找到裏面對應參數,根據實際情況修改,這裏測試就不改了
DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass cactiuser
DB_Port 3306
8、 安裝cacti
cd /usr/local/src
wget https://www.cacti.net/downloads/cacti-1.2.12.tar.gz
tar zxvf cacti-1.2.12.tar.gz
mv cacti-1.2.12 /var/www/html/cacti
8.1 創建cacti數據庫,創建數據庫用戶cactiuser,設置用戶相關授權
[root@localhost src]# mysql -uroot -p
MariaDB [(none)]> create database cacti;
Query OK, 1 row affected (0.002 sec)
MariaDB [(none)]> grant all on cacti.* to cactiuser@localhost identified by "cactiuser";
Query OK, 0 rows affected (0.003 sec)
MariaDB [(none)]> grant select on mysql.time_zone_name to 'cactiuser'@'localhost' identified by 'cactiuser';
Query OK, 0 rows affected (0.001 sec)
8.2 導入 Cacti 默認數據庫
MariaDB [(none)]> use cacti;
Database changed
MariaDB [cacti]> source /var/www/html/cacti/cacti.sql;
......
MariaDB [cacti]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [cacti]> quit
測試:
#出現信息
/usr/local/spine/bin/spine
8.3 配置數據庫時區
[root@localhost ~]# mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql
Enter password:
Warning: Unable to load '/usr/share/zoneinfo//leapseconds' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo//tzdata.zi' as time zone. Skipping it.
8.4 配置config.php
[root@localhost ~]# vim /var/www/html/cacti/include/config.php
......
$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'cactiuser';
$database_port = '3306';
$database_retries = 5;
$database_ssl = false;
$database_ssl_key = '';
$database_ssl_cert = '';
$database_ssl_ca = '';
......
8.5 創建日誌文件,後續安裝時用的到
touch /var/www/html/cacti/log/cacti.log
touch /var/www/html/cacti/log/cacti_stderr.log
9、創建用戶cactiuser,並授權
useradd cactiuser
chown apache.apache /var/www/html/cacti/ -R
chown cactiuser /var/www/html/cacti/{rra,log}/ -R
chmod 777 /var/www/html/cacti/{rra,log}/ -R
10、重啓服務
systemctl restart httpd && systemctl restart mariadb && systemctl restart snmpd
11、配置頁面
11.1 瀏覽器輸入http://ip/cacti,默認密碼admin/admin
11.2 修改密碼
#注意密碼複雜度
11.3 解決PHP警告
解決辦法:
修改/etc/php.ini中兩個告警參數
11.4 解決mysql警告
修改vi /etc/my.cnf.d/server.cnf,根據警告信息,本着沒有就加,不對就改的原則配置以下參數
重啓一下服務,並刷新瀏覽器:
systemctl restart httpd && systemctl restart mariadb && systemctl restart snmpd
ok,安裝成功