1. 程式人生 > >簡單操作Zabbix安裝配置與郵件報警(centos 7.4)

簡單操作Zabbix安裝配置與郵件報警(centos 7.4)

zabbix 監控 學習

Zabbix官網下載地址:https://www.zabbix.com/download
實驗拓撲:
zabbix server端: 192.168.80.101 公網環境 centos 7.4 LAMP架構
zabbix angent端: 192.168.80.102 公網環境 centos 7.4
註:zabbix(音同 z?bix)是一個基於WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。
zabbix由2部分構成,zabbix server與可選組件zabbix agent。
下文郵件填自己的真實郵箱才能測試

一、zabbix server端配置


RPM安裝LAMP-------使用本地倉庫源
yum install -y \
httpd \
mariadb-server mariadb \
php \
php-mysql \
php-gd \
libjpeg* \
php-ldap \
php-odbc \
php-pear \
php-xml \
php-xmlrpc \
php-mhash

vi /etc/httpd/conf/httpd.conf
ServerName www. lss01.com
DirectoryIndex index.html index.php

vi /etc/php.ini
date.timezone = PRC //修改php時區為中國

關閉防火墻和安全linux

systemctl stop firewalld.service
setenforce 0

systemctl start httpd.service
systemctl start mariadb.service

netstat -anpt | grep 80
netstat -anpt | grep 3306
技術分享圖片
技術分享圖片
mysql_secure_installation //數據庫初始化
技術分享圖片
技術分享圖片
vi /var/www/html/index.php
<?php
phpinfo();
?>

http://192.168.80.101/
技術分享圖片
mysql -u root -p

CREATE DATABASE zabbix character set utf8 collate utf8_bin;

GRANT all ON zabbix.* TO ‘zabbix‘@‘%‘ IDENTIFIED BY ‘admin123‘;
flush privileges; //建立數據庫zabbix,並且將所有權限授給zabbix用戶

vi /var/www/html/index.php
<?php
$link=mysql_connect(‘192.168.80.101‘,‘zabbix‘,‘admin123‘);
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
mysql_close();
?>
http://192.168.80.101驗證php連接數據庫是否正常
技術分享圖片
連接成功LAMP搭建完畢
----------------以下開始部署zabbix Server-------
需要聯網
rpm -ivh php-mbstring-5.4.16-42.el7.x86_64.rpm
rpm -ivh php-bcmath-5.4.16-42.el7.x86_64.rpm
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服務端和web頁面支持

zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix //生成數據庫文件,註意密碼不要輸成root的.

grep -n ‘^‘[a-Z] /etc/zabbix/zabbix_server.conf //查看zabbix未註釋的生效行
(vi /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
125:DBPassword=admin123 //修改本行
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

vi /etc/httpd/conf.d/zabbix.conf //修改時區

php_value date.timezone Asia/Shanghai

vi /usr/share/zabbix/include/defines.inc.php //修正圖表中文亂碼
:%s /graphfont/kaiti/g //從微軟系統C:\Windows\Fonts下復制相應的字體文件到 /usr/share/zabbix/fonts 目錄中註意字體名稱要對應配置文件,且註意大小寫

systemctl enable zabbix-server
systemctl start zabbix-server
netstat -anpt | grep zabbix //監聽在10051端口上
技術分享圖片
systemctl restart httpd.service

http://192.168.80.101/zabbix/
技術分享圖片
點Next step安裝
技術分享圖片
技術分享圖片
這裏的name是web頁面顯示的名字,按照實際情況填寫
安裝後登錄 用戶名Admin 密碼:zabbix
技術分享圖片
技術分享圖片
設置中文環境

Administrator-Users-點擊用戶-語言中設置
技術分享圖片
技術分享圖片
頁面已經變成中文了
技術分享圖片
二、zabbix agent端配置
-----------配置代理端agent-就是被控服務器----如果服務器也需要被自己監控也需要安裝--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 //生成zabbix的yum倉庫

grep -n ‘^‘[a-Z] /etc/zabbix/zabbix_agentd.conf
(vi /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.80.101
139:ServerActive=192.168.80.101
150:Hostname= LSS
268:Include=/etc/zabbix/zabbix_agentd.d/*.conf
//修改確認agent端配置文件如上

service firewalld stop
setenforce 0
systemctl enable zabbix-agent.service
systemctl restart zabbix-agent.service

netstat -anpt | grep zabbix //監聽在10050端口
技術分享圖片
三、web平臺配置
增加被控主機:
配置-主機-創建主機:
技術分享圖片
主機頁面根據需求配置
技術分享圖片
模板頁需要鏈接模板,根據需要鏈接相應的模板
技術分享圖片
點添加
技術分享圖片
--------配置郵件報警功能---服務器上配置---------
yum install mailx -y

vi /etc/mail.rc //註意網易郵箱需要開啟客戶端授權碼進行第三方登錄

----文件末尾新增---
set from=xiaoshan[email protected] //真實存在的第三方郵箱賬號
set smtp=smtp.126.com
set smtp-auth-user=xiaoshan
[email protected] //登錄的用戶名
set smtp-auth-password=abc123 //註意這邊不是你郵箱的密碼,而是你客戶端授權的授權碼
set smtp-auth=login

郵箱客戶端授權
技術分享圖片
echo "ttttt" | mail -s "testmail" xiaoshan##[email protected] //測試發信正常
技術分享圖片
echo "444" | mail -s "testmail" 102#####[email protected] //網易郵箱發QQ郵箱
技術分享圖片
cd /usr/lib/zabbix/alertscripts
技術分享圖片
cd /usr/lib/zabbix/alertscripts

vi mailx.sh //編寫發郵件腳本
#!/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.log
chown -R zabbix.zabbix /tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/

./mailx.sh xiaoshan##[email protected] "主題" "內容" //測試發郵件腳本是否可以正常工作
技術分享圖片

-----在服務器WEB上配置----
管理?報警媒體類型?創建媒體類型?
技術分享圖片
名稱:Mail-Test
類型:腳本
腳本名稱:mailx.sh
腳本參數://新增以下三個參數

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
技術分享圖片
管理-用戶-點擊Admin-報警媒介:
技術分享圖片
類型:Mail-Test //調用上面的腳本收件人:xiaoshan##[email protected]
br/>收件人:xiaoshan##[email protected]
技術分享圖片
然後點添加---更新

配置?動作?創建動作?刪除默認標簽,修改觸發條件
名稱:Mailx
條件 A 主機群組=Linux servers
技術分享圖片
技術分享圖片
操作?如下配置

默認操作步驟持續時間 60
默認接收人 : {TRIGGER.STATUS}:{TRIGGER.NAME}
默認信息:

告警主機:{HOST.NAME}
告警 IP:{HOST.IP}
告警時間:{EVENT.DATE}-{EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件 ID:{EVENT.ID}
技術分享圖片
操作細節:?

操作類型:發送消息
發送到用戶:Admin (Zabbix Administrator)
僅送到:Mail-Test //一定要配置否則郵件發送不成功
技術分享圖片
恢復操作:{TRIGGER.STATUS}:{TRIGGER.NAME}
恢復信息:

恢復主機:{HOST.NAME}
恢復 IP:{HOST.IP}
恢復時間:{EVENT.DATE}-{EVENT.TIME}
恢復等級:{TRIGGER.SEVERITY}
恢復信息:{TRIGGER.NAME}:{ITEM.VALUE}
恢復 ID:{EVENT.ID}

操作細節:?
操作類型:發送消息
發送到用戶:Admin (Zabbix Administrator)
僅送到:Mail-Test //一定要配置否則郵件發送不成功
技術分享圖片
一定記得要點擊操作裏面的小的添加然後才能點外賣的藍色背景的添加

systemctl restart zabbix-server //服務端重啟
systemctl restart zabbix-agent.service //客戶機重啟

------以下是測試報警-----
技術分享圖片
可以發現zabbix一直會對agent端有ping測試,ping測試的間隔時間是5m,所以需要等待時間5分鐘才可以

我們可以將agent端的網卡down掉 看是否會發送報警郵件過來
ifconfig ens33 down
技術分享圖片
技術分享圖片
發現收到了兩封報警一封是ssh連接一封是ICMP

ifconfig ens33 up //打開看看是否恢復
技術分享圖片
可以在被控主機上模擬相關參數超過閾值,如磁盤空間。然後驗證郵件收發。
dd if=/dev/zero of=myfile bs=1M count=60(要進入想要創建文件夾的目錄,然後此命令創建myfile文件,名字可以修改)
被控主機查看下內存使用率,測/dev/sda1/ /boot
技術分享圖片
和web監控一樣
技術分享圖片
技術分享圖片
模擬sda1內存變化
dd if=/dev/zero of=myfile bs=1M count=900
技術分享圖片
技術分享圖片
技術分享圖片
郵件報警
技術分享圖片
systemctl stop zabbix-agent.service //在被監控主機上關閉 測試報警郵件接收(要等一會才能收到郵件)
技術分享圖片
郵件報警測試成功!!!

簡單操作Zabbix安裝配置與郵件報警(centos 7.4)