CentOS 7.3下Zabbix 4.0監控搭建過程超詳細教程
Zabbix是一個高度整合的企業級開源網路監控解決方案,與Cacti、nagios類似,提供分散式監控以及集中的web管理介面。zabbix具備常見商業監控軟體所具備的功能,例如主機效能監控,網路裝置效能監控,資料庫效能監控,ftp等通用協議的監控,能夠靈活利用可定製警告機制,允許使用者對事件傳送基於E-mail的警告,保證相關人員可以快速解決。還能夠利用儲存資料提供傑出的報表及實時的圖形化資料處理,實現對監控主機7x24小時集中監控。
Zabbix通過C/S模式採集資料通過B/S模式在web端展示和配置,通過SNMP協議傳輸,而被監控物件只需要支援SNMP協議或者執行Zabbix——agents代理程式即可。 服務端監聽埠為10051,而被監控端即Zabbix——agents代理程式監控10050埠。
本篇基於CentOS 7.3版本安裝Zabbix4.0實現對CentOS 7.3主機的監控管理以及警告機制郵箱傳送的搭建。
實驗環境
主機 | 作業系統 | IP地址 | 主要軟體 |
---|---|---|---|
zabbix服務端 | centos7.3 x86_64 | 192.168.144.113 | zabbix-server4.0 |
Linux被監控端 | centos7.3 x86_64 | 192.168.144.114 | zabbix-agent4.0 |
Zabbix服務端環境部署
1、部署LAMP環境
- 由於zabbix提供集中的web監控管理介面,因此服務在web介面的呈現需要LAMP架構支援。
yum install -y \//安裝LAMP環境包 httpd \ mariadb-server mariadb \ php \ php-mysql \//php連線mysql模組 php-gd \ libjpeg* \ php-ldap \ php-odbc \ php-pear \ php-xml \ php-xmlrpc \ php-mhash
- 編輯配置httpd
vim /etc/httpd/conf/httpd.conf
ServerName www.yun.com ... DirectoryIndex index.html index.php//新增首頁支援格式
- 編輯配置php,配置中國時區
vim /etc/php.ini
date.timezone = PRC//PRC為中國時區
- 啟動httpd,mysql
systemctl stop firewalld.service setenforce 0 systemctl start httpd.service systemctl start mariadb.service netstat -ntap | egrep '(80|3306)'
- 啟動msyql後執行初始安全設定。
mysql_secure_installation mysql -u root -p
CREATE DATABASE zabbix character set utf8 collate utf8_bin; GRANT allON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123';//建立zabbix資料庫,並設定使用者密碼 flush privileges;
- 資料庫設定完成,檢測php與資料庫連通情況
vim /var/www/html/index.php
<?php $link=mysql_connect('192.168.144.113','zabbix','admin123'); if($link) echo "<h1>Success!!</h1>"; else echo "Fail!!"; mysql_close(); ?>
出現上圖則PHP連通資料庫完成。
- 為保證zabbix使用者也可以登入資料庫,若出現本地無法登入情況,解決方式如下。
- 使用root賬戶登入資料庫。
select user,host from mysql.user;//有空使用者名稱稱佔用導致本地無法登入遠端可登入 +--------+-----------+ | user| host| +--------+-----------+ | zabbix | %| | root| 127.0.0.1 | | root| ::1| || cacti| | root| cacti| || localhost | | root| localhost | +--------+-----------+ drop user ''@localhost;//刪除空使用者 drop user ''@cacti; flush privileges;
2、部署Zabbix Server
yum install php-bcmath php-mbstring -y 安裝php支援zabbix元件 rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm //會自動生成yum原始檔,保證系統可以上網 yum install zabbix-server-mysql zabbix-web-mysql -y 安裝zabbix元件 zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix //生成資料庫檔案,注意密碼不要輸成root的
- 檢視、修改zabbix配置檔案
grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf
38:LogFile=/var/log/zabbix/zabbix_server.log 49:LogFileSize=0 72:PidFile=/var/run/zabbix/zabbix_server.pid 82:SocketDir=/var/run/zabbix 101:DBName=zabbix//訪問資料庫名稱 117:DBUser=zabbix//zabbix訪問資料庫使用者 125:DBPassword=admin123 //配置檔案中只需修改本行,zabbix訪問資料庫密碼 347:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log 465:Timeout=4 507:AlertScriptsPath=/usr/lib/zabbix/alertscripts 517:ExternalScripts=/usr/lib/zabbix/externalscripts 553:LogSlowQueries=3000
- 修改zabbix在httpd中的時區
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
- 為防止web介面中文亂碼現象,需要將相應字型檔案複製,使zabbix識別
cp STKAITI.TTF /usr/share/zabbix/fonts/
- 使zabbix系統識別字體
vim /usr/share/zabbix/include/defines.inc.php
:%s /graphfont/kaiti/g//採用全域性替換模式
- zabbix基本配置完成,啟動服務,實現web介面安裝
systemctl enable zabbix-server
systemctl start zabbix-server
netstat -anpt | grep zabbix //監聽在10051埠上
systemctl restart httpd.service
- web介面安裝訪問。
http://192.168.144.113/zabbix/
web介面安裝流程如下:
zabbix被監控端代理設定
- 安裝zabbix-agent客戶端
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm yum install -y zabbix-agent
- 編輯修改配置檔案
grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf vim /etc/zabbix/zabbix_agentd.conf
13:PidFile=/var/run/zabbix/zabbix_agentd.pid 32:LogFile=/var/log/zabbix/zabbix_agentd.log 43:LogFileSize=0 98:Server=192.168.144.113//zabbix伺服器地址 139:ServerActive=192.168.144.113//活躍伺服器地址 150:Hostname=test 268:Include=/etc/zabbix/zabbix_agentd.d/*.conf
- 關閉防火牆,啟動服務
systemctl stop firewalld.service setenforce 0 systemctl enable zabbix-agent.service systemctl restart zabbix-agent.service netstat -anpt | grep zabbix //監聽在10050埠
WEB管理介面新增被管理主機
配置郵箱報警功能
1、配置自動郵箱傳送
yum install mailx -y
vim /etc/mail.rc 編輯mailx配置檔案
set [email protected] set smtp=smtp.qq.com set [email protected] set smtp-auth-password=郵箱密碼 set smtp-auth=login
- 測試郵箱軟體是否可用
echo "hello world" | mail -s "testmail" [email protected] //測試發信正常
2、編寫郵件傳送指令碼
- 郵件傳送觸發指令碼一定要寫在zabbix指定的alterscripts目錄下,後面直接指定指令碼名稱即可觸發。
vim /usr/lib/zabbix/alertscripts
#!/bin/bash #send mail messages=`echo $3 | tr '\r\n' '\n'` subject=`echo $2 | tr '\r\n' '\n'` echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
touch /tmp/mailx.logchown -R zabbix.zabbix /tmp/mailx.logchmod +x /usr/lib/zabbix/alertscripts/mailx.sh chown -R zabbix.zabbix /usr/lib/zabbix/
- 測試發郵件指令碼是否可以正常工作
./mailx.sh [email protected] "主題" "內容"
3、配置服務監控自動觸發郵件傳送指令碼
4、在被監控主機模擬故障
- 關閉被監控主機的httpd服務,驗證郵箱接收情況。
Linux公社的RSS地址 : ofollow,noindex" target="_blank">https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址: https://www.linuxidc.com/Linux/2018-11/155517.htm