1. 程式人生 > >zabbix 監控主機並且郵箱報警

zabbix 監控主機並且郵箱報警

zabbix安裝不在演示,前面有文章

先監控一臺主機

被監控主機安裝Zabbix-Agent

同樣需要安裝zabbix官方源

rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm

安裝客戶端需要的軟體包:

yum -y install zabbix zabbix-agent zabbix-sender

 

修改配置檔案

[[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf

特定情況配置zabbix_agentd.conf需改變的引數如下:

Server:被動模式,允許哪臺伺服器連線agent。

serverActive:主動模式,向哪臺伺服器傳送資料。

一個agent是可以向多個伺服器傳送資料的,多個ip用逗號分隔。例如:

Server=127.0.0.1,192.168.0.240表server的ip為127.0.0.1和192.168.0.240這兩臺zabbix-server

伺服器端可獲取次agent的監控資料。

[[email protected] ~]# egrep -v "(^#|^$)" /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

Server=127.0.0.1,192.168.0.240              #被動模式:zabbix-server的ip地址

ServerActive=192.168.0.240:10051        #主動模式

#主動和被動可以同時開啟

 

啟動zabbix-agent

[[email protected] ~]# service zabbix-agent start

Starting Zabbix agent:                                     [確定]

 

Zabbix-agent監聽埠10050

[[email protected] ~]# ss -tanlp

新增主機

 

檢視監控數量

 

郵件報警配置

郵件報警有兩種情況:

1、Zabbix服務端只是單純的傳送報警郵件到指定郵箱,傳送報警郵件的這個郵箱賬號是Zabbix服務端的本地郵箱賬號(例如:[email protected]),只能傳送,不能接收外部郵件。

2、使用一個可以在網際網路上正常收發郵件的郵箱賬號(例如:[email protected]),通過在Zabbix服務端中設定,使其能夠傳送報警郵件到指定郵箱。

第一種:使用Zabbix服務端本地郵箱賬號傳送郵件

一、安裝sendmail或者postfix

yum install sendmail #安裝

service sendmail start #啟動

chkconfig sendmail on #設定開機啟動

yum install postfix

service postfix start

chkconfig postfix on

CentOS 5.x 預設已經安裝好sendmail

CentOS 6.x 預設已經安裝好postfix

sendmail和postfix只需要安裝一個即可並開啟服務即可。

 

一般我們用第二種方式

先新增使用者

新增使用者一定要新增到zabbix超級使用者組

許可權一定要給超級管理員許可權

最後存檔。

用新使用者登入

 

自定義item

監控mysql狀態

找一個被監控主機安裝MySQL並啟動

然後命令列檢測mysql程序數:

mysqladmin -p123456 ping |grep -c alive

1

“1”說明mysql存活

 

在被監控的主機上修改zabbix-agentd.conf配置檔案新增下面一行(下面的密碼指的是被監控主機MySQL的登入密碼如果沒有設定密碼就不用寫)

UserParameter=mysql_alive,mysqladmin –p”123456”ping |grep -c alive

重啟zabbix-agent服務

 

配置完成後在zabbix-server上檢測與被監控主機上的mysql是否通訊:

zabbix_get -s 10.3.45.233 -k mysql_alive

1

自定義建立專案

 

 

再建立一個觸發器(報警觸發)

 

記得選擇“嚴重性”

 

 

還可以試著建立一個圖形

 

 

 

預覽

 

設定一個自定義報警型別

在zabbix-server端檢視如下儲存指令碼路徑

先在zabbix-sever本地測試傳送是否成功(我下面測試都是秒送)

echo "hahaha" |mail -s "hahaha" [email protected]

 

#如果不行修改下面檔案

 vim /etc/mail.rc

set [email protected] smtp=smtp.163.com

set [email protected] smtp-auth-password=Benng#這裡是郵箱客戶端授權碼

set smtp-auth=login

直到能收到郵件為準。

 

然後編寫指令碼

Cd /usr/lib/zabbix/alertscripts

Vim zabbix_mail.sh

#!/bin/bash
MAIL_TITLE=$2
MAIL_COM=$3
echo "$MAIL_CON" | /bin/mail -s "$MAIL_TITLE" $1
echo "$1 $2 $3" /tmp/zab_baoj

修改示警媒介型別                            

 

新增使用者示警媒介

 

新增動作

 

注意下面有一個“更新”要先點,然後存檔

 

 

記得基本資料修改

 

 

測試

關閉被監控主機的mysql:/etc/init.d/mysqld stop

檢視主面板重新整理時間為60秒

再檢視郵箱(時間和傳送次數都遵循與組態-動作-操作細節的設定)

注意:上面內容是自己多文件拆分組合總結,存在有些截圖和內容裡面對應的IP對不上,重點是原理清楚就好。

郵箱報警到此完畢。