【Linux】Zabbix監控主機及郵箱報警設定
OS:Centos7.2--zabbix-server{IP地址:192.168.146.100}
Centos7.2--zabbix-agent{IP地址:192.168.146.110}
這邊我zabbix服務端已經安裝好了,並且可以訪問zabbix頁面如下:
1)設定zabbix頁面中文顯示
以上圖中所示,已經是中文的介面,但是還是會存在亂碼的情況如下:
解決辦法,我們可以講windows的字型下載到本地,隨後傳到zabbix服務端,操作如下:
windows--控制面板---字型下載
複製到windows本地桌面後,我們通過rz的方式上傳到linux伺服器:
[root@yankerp-zabbix fonts]# pwd /usr/local/nginx/html/zabbix/fonts [root@yankerp-zabbix fonts]# ls DejaVuSans.ttf simsun.ttc [root@yankerp-zabbix fonts]# mv simsun.ttc DejaVuSans.ttf mv: overwrite ‘DejaVuSans.ttf’? y [root@yankerp-zabbix fonts]#
simsun.ttc是我們上傳的字型,zabbix預設字型為DejaVuSans.ttf 所以我們可以直接拷貝上傳的字型起名為DejaVuSans.ttf覆蓋就好了,隨後重新整理zabbix監控頁面如下:
2、zabbix客戶端安裝(192.168.146.110)
既然我們要監控我們就要新增監控的主機,在新增監控主機之前我們需要在被監控主機上安裝agent,安裝agent很簡單,我們也是按照安裝zabbix-server的流程安裝,不過在安裝的過程中只指定agent就可以了。
1)安裝zabbix-配置zabbix-agent
[root@zabbix-agent src]# tar zxf zabbix-3.2.1.tar.gz [root@zabbix-agent src]# cd zabbix-3.2.1/ [root@zabbix-agent zabbix-3.2.1]# ./configure --prefix=/usr/local/zabbix --enable-agent && make;make install [root@zabbix-agent zabbix-3.2.1]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ [root@zabbix-agent zabbix-3.2.1]# mkdir -p /usr/local/zabbix/logs [root@zabbix-agent zabbix-3.2.1]# groupadd zabbix [root@zabbix-agent zabbix-3.2.1]# useradd -g zabbix zabbix [root@zabbix-agent zabbix-3.2.1]# chown -R zabbix:zabbix /usr/local/zabbix/
2)配置開機自啟動
[root@zabbix-agent zabbix-3.2.1]# chkconfig --add zabbix_agentd
[root@zabbix-agent zabbix-3.2.1]# chkconfig zabbix_agentd on
3)修改zabbix開機啟動指令碼的安裝目錄
[root@zabbix-agent zabbix-3.2.1]# vim /etc/rc.d/init.d/zabbix_agentd 如下:
[root@zabbix-agent zabbix-3.2.1]# systemctl daemon-reload
4)編輯zabbix_agentd.conf修改如下:
[root@zabbix-agent ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Server=192.168.146.100
ListenPort=10050
ServerActive=192.168.146.100
Hostname=192.168.146.110
Timeout=15
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
注:
其中Server和ServerActive都指定zabbixserver的IP地址,不同的是,前者是被動後者是主動。也就是說Server這個配置是用來允許192.168.146.100這個ip來我這取資料。而serverActive的192.168.146.100的意思是,客戶端主動提交資料給他。
Hostname=XXX,這個定義的名字必須和web頁面裡面host的名字一樣。
啟動zabbix-agent(測試中-關閉防火牆)
[root@zabbix-agent ~]# /etc/init.d/zabbix_agentd start
Starting zabbix_agentd (via systemctl): [ 確定 ]
[root@zabbix-agent ~]# netstat -anput | grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 11055/zabbix_agentd
到這裡zabbix客戶端已經安裝完畢!接下來配置zabbix-server端來監控zabbix客戶端
3、配置zabbix-server
先在“配置”-“主機”裡新增主機監控,監控os資源:記憶體,cpu,io,負載,頻寬等.
新增完成後選擇模版如下:
到這裡zabbix監控linux主機設定完成
檢測Linux主機的cpu情況如下:
要出現上圖效果,需要等待5-10分鐘...
例:在zabbix-agent主機上安裝web伺服器,使用zabbix-server端伺服器監控web伺服器的流量等情況
安裝Apache(在zabbix-agent操作)
[root@zabbix-agentd ~]# yum install httpd -y
匯入頁面後,測試能夠正常的訪問!如下:
配置zabbix-server監控web主機
1)新增應用集
配置---->主機---->選擇web檢測
不斷重新整理頁面,效果如下:
2)觸發器配置
在這裡已經配置好了,接下來關閉httpd服務,檢視狀態。
當web服務訪問不等於200ok時就會啟用觸發器 嚴重!!!
三、設定zabbix郵箱報警
abbix監控服務端、客戶端都已經部署完成,被監控主機已經新增,Zabiix監控執行正常。在Zabbix服務端設定郵件報警,當被監控主機宕機或者達到觸發器預設值時,會自動傳送報警郵件到指定郵箱。
1)安裝依賴包
[root@yankerp-zabbix ~]# yum install perl-Net-SSLeay perl-IO-Socket-SSL -y
2)解壓軟體,然後將sendemail複製到/usr/local/bin/目錄下,並加上可執行許可權,然後修改使用者和群組。
[root@yankerp-zabbix ~]# tar zxf sendEmail-v1.56.tar.gz
[root@yankerp-zabbix ~]# cd sendEmail-v1.56/
[root@yankerp-zabbix sendEmail-v1.56]# cp sendEmail /usr/local/bin/sendEmail
[root@yankerp-zabbix sendEmail-v1.56]# chown zabbix:zabbix /usr/local/bin/
/usr/local/bin/sendEmail -f [email protected] -t [email protected] -s smtp.163.com -u "Zabbix報警測試" -o message-content-type=html -o message-charset=utf8 -xu yankerpcs -xp **** -m "郵件告警正在測試中"
/usr/local/bin/sendEmail #命令主程式
-f [email protected] #發件人郵箱
-t [email protected] #收件人郵箱
-s smtp.163.com #發件人郵箱的smtp伺服器
-u "我是郵件主題" #郵件的標題
-o message-content-type=html #郵件內容的格式,html表示它是html格式
-o message-charset=utf8 #郵件內容編碼
-xu yankerpcs #發件人郵箱的使用者名稱
-xp ********** #發件人郵箱密碼 注意:此密碼是授權碼如果是163的話
-m "我是郵件內容" #郵件的具體內容
以上圖中表示我們可以正常的接受郵件,接下來配置zabbix郵件告警!
在以下目錄下建立報警指令碼sendmail.sh
給mail指令碼執行許可權並執行測試!
zabbix-web端配置
上面的郵件指令碼配置好後,就要在web端新增報警媒介,在web頁面的管理,報警媒介型別頁面,點選右邊的建立媒體型別
進入建立頁面,然後輸入名稱“郵件報警指令碼”,型別選擇指令碼,名稱選擇mail.sh,點選新增按鈕,新增三個指令碼引數,分別是{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESAGE},分別對於mail.sh中的to、subject和body。新增完成後點下面的新增按鈕,我們的報警媒介就建立完成了
建立好報警媒介後,就需要將報警媒介關聯到我們的使用者。點選管理,使用者,然後選擇我們的使用者admin也可新建一個使用者,點選使用者名稱就進入到使用者配置介面。點選報警媒介,然後點新增,選擇我們上一步建立的郵件報警指令碼,輸入收件人,選擇報警時間和型別,然後點選新增,就將建立好的報警媒介關聯到我們的使用者上面了。
現在需要做的是,建立一個觸發動作,即系統出現故障時,觸發這個動作,然後給我們的郵箱傳送報警郵件。點選配置,選擇動作,然後點選右邊的建立動作。在動作這一頁名稱中寫入我們定義的動作名以及觸發條件
設定操作
步驟是1-3,也即是從1開始到3結束。一旦故障發生,就是執行Email.sh指令碼發生報警郵件給zabbix使用者。
假如故障持續了1個小時,它也只發送3次,第1-3次(即前3次)郵箱傳送給zabbix使用者,時間間隔為0秒。
設定恢復操作
報警測試,將被監控伺服器的zabbix_agent程序關閉。
發現可以正常收到故障報警郵件
最後,點選”報表“->”動作日誌“,可以看到觸發動作的次數(右邊還看檢視到郵件傳送狀態“已傳送”)。
本次測試需要注意:
出現以下的故障
*******************************************************************
Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client
is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER
together with SSL_ca_file|SSL_ca_path for verification.
If you really don't want to verify the certificate and keep the
connection open to Man-In-The-Middle attacks please set
SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.
*******************************************************************
at /usr/local/bin/sendEmail line 1906.
解決辦法:
原因是sendemail軟體和perl5裡面的ssl版本不相容導致的,通過修改sendemail裡面的內容可以解決這個問題。
解決方法:
在sendemail中1906行的內容,從
if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {
修改為
if (! IO::Socket::SSL->start_SSL($SERVER)) {
2:
*******************************************************************
Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client
is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER
together with SSL_ca_file|SSL_ca_path for verification.
If you really don't want to verify the certificate and keep the
connection open to Man-In-The-Middle attacks please set
SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.
*******************************************************************
at /usr/local/bin/sendEmail line 1906.
Jan 13 04:29:51 yankerp-zabbix sendEmail[29686]: ERROR => Received: 554 DT:SPM 163 smtp11,D8CowADHZO69GllahKFICQ--.40213S3 1515788991,please see http://mail.163.com/help/help_spam_16.htm?ip=221.205.62.253&hostid=smtp11&time=1515788991
如果有一直髮郵件發不出去的情況,請檢查smtp服務等是否開啟,在郵箱中設定,如果開啟,那麼可以修改測試郵箱時--郵箱中的具體內容,因為如果寫上很多英文字母測試的話,163郵箱會直接刪掉,它會認為是垃圾郵件,親測5小時!
希望對您有所幫助,再見~