Zabbix服務安裝部署及監控配置

簡介

zabbix 是一個基於 WEB 界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案
zabbix 能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位解決存在的各種問題。

Zabbix 主要特點

安裝與配置簡單,學習成本低 支持多語言(包括中文) 免費開源 自動發現服務器與網絡設備分佈式監視以及 WEB 集中管理功能 可以無 agent 監視 用戶安全認證和柔軟的授權方式 通過 WEB 界面設置或查看監視結果 email 等通知功能

Zabbix主要功能

監控CPU負載、內存使用、磁盤使用、網絡狀態、端口監視、日誌監視、插件開發自定義

Zabbix運行機制

Zabbix Server 和 Zabbix agent
Zabbix Server 可以通過 SNMP,Zabbix agent,Ping,端口監視等你方法提供對遠程服務器/網絡狀態的 監視,數據收集功能,可以在運行 Linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD,OX X,Windows 多 平臺。
Zabbix Agent 安裝在需要被監控的目標服務器上,主要完成對硬件信息與操作系統有關的內存,CPU 等你 信息收集。
Zabbix Server 可以單獨監視遠程服務器的服務狀態,同時也可以與 Zabbix Agent 結合。可以輪詢 Zabbix Agent 主動接收監視數據(trapping 傳遞 方式),同時還可以被動接收 Zabbix Agent 發送的數據。
Zabbix運行過程圖
在這裏插入圖片描述
Zabbix 支持多種網絡方式下的監控,可以通過分佈式的部署和安裝監控代理 Zabbix,通過 C/S 模式採集數據,通過 B/S 模式在 Web 端展示和配置!Agent 監控端口 10050
服務端安裝 Zabbix Server 和 Zabbix Agent 兩個服務,客戶端只安裝 Zabbix Agent 一個服務,監控原理 就是 Zabbix Agent 服務將從系統中獲取的相關數據傳送給 Zabbix Server,然後 Zabbix Server 服務獎數據分 析之後以 PHP 頁面展示出來!

整個環境所需要的軟件包
php-5.6.13
libmcrypt-2.5.8
mysql-5.6.26
nginx-1.8.0
zabbix-3.4.3
我們需要先構建 LNMP 的環境,因爲 Zabbix 通過 PHP 頁面展示
搭建 LNMP 的環境,如果有這個環境可以忽略

創建導入zabbix數據庫

Zabbix 需要數據庫的支持,而且Zabbix 已經自帶了數據庫結構,images 數據庫和表數據等相關內容

mysql -uroot -p123456 #創建 Zabbix 使用數據庫
mysql> create database zabbix;
mysql> grant all on zabbix.* to zabbix@test63 identified by 'zabbix';	#zabbix 用戶授權
mysql> flush privileges;
mysql> exit

tar xvf zabbix-3.4.3.gz -C /usr/local/src/ 
cd /usr/local/src/ zabbix-3.4.3/ #導入數據庫,注意順序,否則會報錯
mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
 [root@test63 zabbix-3.4.3]# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql 
[root@test63 zabbix-3.4.3]# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql

如果在做分佈式的環境中,Proxy 服務器只需要一個數據庫 schema,代理者 agent 不需要數據庫!Server 必須 三個數據庫同時擁有

編譯安裝 zabbix

[root@test63 ~]# groupadd zabbix
[root@test63 ~]#useradd -s /sbin/nologin -g zabbix zabbix#創建用戶
[[email protected]]# 
yum install -y net-snmp-devel  
yum install libevent libevent-devel -y#解決依賴
[[email protected]]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/var/lib/mysql/bin/mysql_config--with-net-snmp --with-libcurl

參數說明
–prefix= #指定路徑
–enable-server #Server 支持
–enable-agent #支持 Zabbix 客戶端
–with-mysql #指定 MySql 庫可以選擇自定路徑 mysql_config,mysql_config 是命令,用於編譯 mysql 客戶端程序
–with-net-snmp #支持 snmp 協議,需要安裝 net-snmp-devel 包
–with-libcurl #支持 CURL 功能,libcurl 主要功能就是用不同的協議連接不同的服務器,
libcurl 當前支持的協議有 http,https,ftp,gopher,telent,dict,file,和 ldap 協議

其他參數:
–enable-proxy 指的是支持 zabbix 代理服務器,zabbix proxy 是一個監控代理服務器,它收集到監控數據,選存放在緩衝區,保存的時間可以通過配置文件設定,然後再傳送的 zabbix server。監控代理服務需要一個獨立的數據庫。
用 zabbix proxy 的好處:進程監控,當監控的位置通信不便時,當通訊上千臺設備的時候,使用 zabbix_proxy 可以簡化維護分佈式監控,降低 zabbix server 的負負載,
在這裏插入圖片描述
看到如下信息,預編譯就沒有什麼問題

***********************************************************
*	Now run 'make install'	*
*	*
*	Thank you for using Zabbix!	*
*	<http://www.zabbix.com>	*
***********************************************************
[root@test63 zabbix-3.4.3]# make install	#按上面的提示,沒有 make 步驟,直接 make install
[root@test63 ~]# ls /usr/local/zabbix/	//編譯成功,產生如下目錄
bin	etc	lib	sbin	share

配置 zabbix Server

[root@test63~]#vim/usr/local/zabbix/etc/zabbix_server.conf
DBHost=test63	 #默認註釋掉了,直接取消註釋即可
DBName=zabbix	#數據庫用戶,我們授權的用戶也是zabbix
DBUser=zabbix	  #默認是 root,我們授權的用戶是 zabbix
DBPassword=zabbix	#密碼我們授權的也是 zabbix

監控 Zabbix Server 本身

監控本身,意思是本身作爲服務器之外,自己也做自己的客戶端,也要使用agentd這個代理者 配置文件中,有 agentd 和 agent 兩個配置文件,前者是守護進程,後者依賴 xinetd

[root@test63~]#vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=127.0.0.1	#默認監控服務器自己,這三行不用改
ServerActive=127.0.0.1
Hostname=Zabbix server
UnsafeUserParameters=1	#允許所有的字符是在用戶定義的參數,參數傳遞,也就是支持自定義腳本

其中 Server 和 ServerActive 都指定 zabbixserver 的 IP 地址,不同的是,前者是被動,後者是主動。也就是說前者允許 127.0.0.1 這個 ip 來我這取數據。而 serverActive 的 127.0.0.1 的意思是,客戶端主動提交數據給他。

啓動服務

如果 zabbix 用戶不存在, 將以 root 運行,新建之後,如果 zabbix 存在,那麼直接可以用 zabbix 運行

[root@test63 ~]#/usr/local/zabbix/sbin/zabbix_server
sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory#如果啓動報錯解決
[root@test63 zabbix]# vim /etc/ld.so.conf#解決庫文件找不到
include ld.so.conf.d/*.conf
/var/lib/mysql/lib/   #根據實際路徑添加此行
[root@test63 zabbix]#ldconfig#使庫文件生效
[root@test63~]#echo /usr/local/zabbix/sbin/zabbix_server >> /etc/rc.local	#開機啓動 
[root@test63 ~]# netstat -antup | grep zabbi
#server 運行端口 10051
tcp	0	0 0.0.0.0:10051	0.0.0.0:*	LISTEN37568/zabbix_server

或者通過啓動腳本啓動 zabbix

Zabbix默認有部分啓動腳本,如果你自己也可以通過腳本的方式來實現,可以使用他的模板來實現 腳本在源碼目錄的 misc/init.d/下面(使用 fedora 下面的 core 即可,也可以使用 fedroa core5 的腳本均可)

[root@test63~]#cd /usr/local/src/zabbix-3.4.3/misc/init.d/
[root@test63 init.d]# cp fedora/core/*  /etc/rc.d/init.d/
[root@test63 init.d]# vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix  #找到此行,並修改 	
[root@test63 init.d]# vim /etc/init.d/zabbix_agentd ; cd
BASEDIR=/usr/local/zabbix  #找到此行,並修改 	
[root@localhost core]# vim /etc/rc.d/init.d/zabbix_agentd 
[root@localhost core]# /etc/init.d/zabbix_agentd start
Reloading systemd:                                         [  OK  ]
Starting zabbix_agentd (via systemctl):                    [  OK  ]
[root@localhost core]# chkconfig zabbix_server on
[root@localhost core]# chkconfig zabbix_agentd on

編輯 php 頁面控制文件

默認配置文件沒有寫入到我們的 Nagix 的配置文件中,也就是不能加載到我們的 zabbix 頁面目錄

[root@test63~]#cp -r /usr/local/src/zabbix-3.4.3/frontends/php/*   /usr/local/nginx/html/ 
[root@test63 ~]# vim /usr/local/nginx/conf/nginx.conf
location / {
root	html;
index	index.php index.html index.htm;	#找到此行內容,添加index.php
}

[root@test63 ~]# /usr/local/nginx/sbin/nginx -s reload ; 重啓nginx服務和php-fpm服務
[root@test63 ~]#/etc/init.d/zabbix_server restart
[root@test63 ~]#/etc/init.d/php-fpm restart

打開網頁安裝 zabbix web

瀏覽器輸入:http://192.168.1.63 如圖,下一步 Next
在這裏插入圖片描述
開始檢查環境,如圖,發現很多環境不符合條件
在這裏插入圖片描述
編輯 php.ini 文件,修改環境

[root@test63 ~]# vim /usr/local/php/php.ini
post_max_size = 16M	 #修改
max_execution_time = 300	#修改
max_input_time = 300	#修改
date.timezone = Asia/Shanghai	#此行有註釋,去註釋並修改
always_populate_raw_post_data = -1	 #此行取消註釋即可
mysqli.default_socket = /var/lib/mysql/mysql.sock  #指定php連接mysql的sock路徑
[root@test63 ~]# /etc/init.d/php-fpm restart  #重啓fpm

刷新頁面
在這裏插入圖片描述
如果提示沒有安裝PHP LDAP模塊,爲了不影響後面的功能,現在把這個模塊重新編譯安裝進去:
可以單獨把這個模塊編譯安裝進來

[[email protected]]# cd /usr/local/src/php-5.6.13/ext/  #ext是擴展文件夾
[root@test63 ext]# cd ldap/
[root@test63 ldap]#  /usr/local/php/bin/phpize #再次預編譯
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
[root@test63 ldap]#./configure --with-php-config=/usr/local/php/bin/php-config --with-ldap

上面的過程會報錯,提示缺少庫文件:
解決:

[root@test63 ~]# yum install openldap-devel openldap -y
[root@test63 ~]# rsync -avz /usr/lib64/libldap* /usr/lib/ #直接編輯會報錯找不到,所以要複製文件
[root@test63 ldap]# make && make install #再次configure,即可通過預編譯
[root@test63 ~]# vim /usr/local/php/php.ini#添加:extension=ldap.so
[root@test63 ~]# /etc/init.d/php-fpm restart #再次刷新即可

下一步:
在這裏插入圖片描述
以下默認,直接下一步
在這裏插入圖片描述
下一步:
在這裏插入圖片描述
在這裏插入圖片描述
如果寫入失敗,直接download這個配置文件,然後上傳上去

[root@test63~]#mv zabbix.conf.php /usr/local/nginx/html/conf/ #然後刷新

如果顯示成功
點擊 Finish,完成安裝!
登陸 Zabbix 並配置 登陸之後我們修改語言 默認用戶名和密碼分別爲 admin,zabbix
在這裏插入圖片描述
在這裏插入圖片描述
點擊右上角用戶,然後選擇語言
在這裏插入圖片描述
然後 Update 即可,頁面變爲中文
在這裏插入圖片描述
點擊配置-主機 啓用本主機(默認沒有啓動,點擊後面紅色的停用,則啓用)
在這裏插入圖片描述
把zabbix_agent 也啓動起來:

[root@test63 ~]# /usr/local/zabbix/sbin/zabbix_agentd 或者/usr/local/zabbix/sbin/zabbix_agentd start

再次刷新頁面,可以看到,agent狀態已經正常
在這裏插入圖片描述
可以看到已經開始出圖:
在這裏插入圖片描述
在這裏插入圖片描述
但是發現下面顯示有問題:這個是中文字符集的問題,在英文狀態下顯示是正常的

圖表字符亂碼的解決辦法

在 Windows 下面找一個 ttf 的字體文件C:\Windows\Fonts
[root@test63 ~]# cd /usr/local/nginx/html/fonts/
[root@test63 fonts]# mv DejaVuSans.ttf  DejaVuSans.bak
[root@test63 fonts]# mv 微軟雅黑.ttf  DejaVuSans.ttf #這樣字符問題即解決

Zabbix 啓動服務總結
Nginx 服務啓動
Php-fpm 服務啓動
Mysql 服務器啓動
測試LNMP環境正常
導入數據庫、授權、源碼安裝zabbix
Zabbix_server 服務啓動

配置監控遠程主機:

安裝 Agent(被監控服務器只需要安裝Agent)

[root@test64 ~]# yum install -y curl curl-devel net-snmp net-snmp-devel perl-DBI	  # 解決 依賴
[root@test64 ~]# useradd -M -s /sbin/nologin	zabbix #-M不創建目錄
[root@test64 ~]# tar xvf zabbix-3.4.3.tar.gz -C /usr/local/src/ 
[root@test64 ~]# cd /usr/local/src/ zabbix-3.4.3/
[root@test64 zabbix-3.4.3]#
 ./configure --prefix=/usr/local/zabbix --enable-agent #被監控端只需要部署 agnet
[root@test64 zabbix-3.4.3]# make install ;

## 啓動agent:
[root@test64 ~]# /usr/local/zabbix/sbin/zabbix_agentd #也可以使用系統啓動腳本來啓動:
配置 Agentd 的配置文件
[root@test64~]#vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=192.168.142.125	#zabbix server 地址,可以多個,用,隔開
ServerActive=192.168.142.125	#主動檢查的意思,主動檢查主機的數據的數據發送給 Zabbix Server
Hostname=test64 #當前主機名
UnsafeUserParameters=1 #啓用自定義腳本

 
[root@test64 ~]# pkill zabbix
[root@test64 ~]# /usr/local/zabbix/sbin/zabbix_agentd
[root@test64 ~]# netstat -antup | grep zabbix
tcp	0	0 0.0.0.0:10050	0.0.0.0:*	LISTEN
9683/zabbix_agentd

Server 端測試通訊

[root@test63 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.0.64 -p10050 -k system.uname #可以獲取對方系統版本則證明沒有問題

服務端配置管理腳本

[root@test63	~]#	cp/usr/local/src/zabbix-3.4.3/misc/init.d/fedora/core/zabbix_agentd/etc/init.d/
[root@test63 ~]# vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix	#修改此行內容爲 zabbix 的安裝位置
[root@test63 ~]# chkconfig --add zabbix_agentd [root@test63 ~]# chkconfig zabbix_agentd on
[root@test63 ~]# /etc/init.d/zabbix_agentd restart		//可以監控自己,也要啓動服務 
[root@test63 ~]# netstat -antup | grep zabbix	//兩者之間監控端口不一樣
tcp	0	0 0.0.0.0:10050	0.0.0.0:*	LISTEN
51645/zabbix_agentd
tcp	0	0 0.0.0.0:10051	0.0.0.0:*	LISTEN
10786/zabbix_server

監控自己使用 10050 端口,監控對方使用的是 10051 端口

添加 Host 主機

在這裏插入圖片描述
在這裏插入圖片描述

選擇模板

在這裏插入圖片描述
在彈出的模塊裏選擇一個自己需要的模塊:
在這裏插入圖片描述
返回之後,可以看到已經添加進來:等到可用性變成綠色即可出圖監控
在這裏插入圖片描述
在這裏插入圖片描述
這時間可以通過圖形功能來查看出圖情況.
在這裏插入圖片描述
===通過以上步驟成功添加一臺遠程監控主機

添加監控項

通過比較zabbix servers 羣組和Linux servers 羣組,可以發現,默認的配置中Linux servers監控項比較少,下面手動添加監控項:
在這裏插入圖片描述
篩選無觸發器,出來很多監控項,默認都是啓用狀態,我們無需再次啓動,下面修改自動發現的時間
在這裏插入圖片描述
在這裏插入圖片描述
文件系統探測和網絡流量探測
在這裏插入圖片描述
把原來的3600s改成10s
在這裏插入圖片描述
修改更新數據後,再次返回圖形監控頁面,稍等幾分鐘再次查看監控項
在這裏插入圖片描述
再次返回主頁,可以看到整體的監控狀態
在這裏插入圖片描述

設置 Triger 觸發器值

在這裏插入圖片描述
找到當前主機應用的模板:
在這裏插入圖片描述
在這裏插入圖片描述
默認的值是20%
在這裏插入圖片描述
修改成自己設定的值
在這裏插入圖片描述

自定義繪圖顏色

找到主機對應的模塊—修改模板對應的圖形顏色
在這裏插入圖片描述
在這裏插入圖片描述
根據需求修改每一個項的顯示顏色
在這裏插入圖片描述

總結 zabbix 的文件

zabbix_agent.conf是用超級服務(xinetd)的方式來啓動的,被動檢查,只有 Server 說檢查的時候才檢查
zabbix_agentd.conf是以獨立進程的方式來啓動的,一般使用這個來做配置,自動檢查,自動提交 zabbix_server.conf Server 啓動配置文件,只有一個
zabbix_get 是 Zabbix 中的一個程序,用於 Zabbix-Server 到 Zabbix-Agent 的數據獲取,通常可以用來 檢測驗證 Agent 的配置是否正確。它的使用方法如下
zabbix_get [-hV] -s [-p ] [-I ] -k
-h:遠程 Zabbix-Agent 的 IP 地址或者是主機名。
-p:遠程 Zabbix-Agent 的端口。
-I:本機出去的 IP 地址,用於一臺機器中有多個網卡的情況。
-k:獲取遠程 Zabbix-Agent 數據所使用的 Key。

[expmple@~]# zabbix_get -s 192.168.0.64 -k system.uname

zabbix_sender 與 get 相反,用來發送 Zabbix 服務器處理性能數據。該工具通常用於長時間運行的用戶腳本,用於定期發送可用性和性能數據。使用方法如下
zabbix_sender [-Vhv] {[-zpsI] -ko | [-zpI] -T -i -r} [-c ]
參數說明:
-c --config 配置文件絕對路徑
-z --zabbix-server zabbix server 的 IP 地址
-p --port zabbix server 端口.默認 10051
-s --host 主機名,zabbix 裏面配置的主機名(不是服務器的 hostname),不能使用
ip 地址
-I --source-address 源 IP
-k --key 監控項的 key
-o --value key 值
-i --input-file 從文件裏面讀取 hostname、key、value 一行爲一條數據,使用空格作爲分
隔符,如果主機名帶空格,那麼請使用雙引號包起來
-T --with-timestamps 一行一條數據,空格作爲分隔符:
,配合 --input-file option,timestamp 爲 unix 時間戳
-r --real-time 將數據實時提交給服務器
-v --verbose 詳細模式, -vv 更詳細

http://www.zabbix.org/wiki/Main_Page
https://github.com/zabbix/zabbix-community-repos
各種模板
http://www.douglas.wiki.br/doku.php?id=en:installing_and_configuring_zabbix

#配置監控 Apache 服務

wget https://github.com/lorf/zapache/archive/master.zip #下載模板
[root@test64 ~]# unzip master.zip  #解壓下載的包
[root@test64 ~]# cd zapache-master/
[root@test64 zapache-master]# ls
httpd-server-status.conf.sample    zapache
README.md        zapache-template-active.xml
userparameter_zapache.conf.sample  zapache-template.xml	

說明
httpd-server-status.conf.sample 是用於配置server-status的上個步驟已經配置過了
userparameter_zapache.conf.sample 、zapache 關鍵的文件
zapache-template-active.xml zapache-template.xml模板(zabbix模板都是xml文件)

[root@test64 httpd]# cp zapache-master/ httpd-server-status.conf.sample httpd-server-status.conf
[root@test64 httpd]# vim conf/ httpd-server-status.conf  #在末尾加入
ExtendedStatus On
<location /server-status>
   SetHandler server-status
   Order allow,deny  
   Allow from 127.0.0.1 192.168.1.0/24
</location>
 [root@test64 bin]# systemctl restart httpd 重啓後測試

在這裏插入圖片描述
以上完成代表apache的狀態可以被獲取了

配置zabbix獲取apache

將解壓出來的幾個文件放到相應目錄

[root@test64 zapache-master]#cp zapache /usr/local/bin/
[root@test64 zapache-master]# cp userparameter_zapache.conf.sample  /usr/local/zabbix/etc/zabbix_agentd.conf.d/  
[root@test64 zabbix_agentd.conf.d]# mv userparameter_zapache.conf.sample userparameter_zapache.conf  #重命名
[root@test64 zabbix_agentd.conf.d]# vim userparameter_zapache.conf
UserParameter=zapache[*],/var/lib/zabbixsrv/externalscripts/zapache \$1 
改爲UserParameter=zapache[*],/usr/local/bin/zapache \$1
[root@test64 ~]# chmod +x /usr/local/bin/zapache #查看是否有執行權,
沒有權限可執行下面命令
修改zabbix -agentd.conf
[root@test64 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ #啓用引用此目錄文件

前端頁面操作

導入模板
在這裏插入圖片描述
在這裏插入圖片描述

關聯模板

配置-主機(選擇apache客戶端)
模板-選擇(選擇上面導入的模板)-添加-更新(模板要與主機關聯)
在這裏插入圖片描述
在這裏插入圖片描述
查看最新數據,篩選Apache
在這裏插入圖片描述
可以選擇生產圖形
在這裏插入圖片描述
在這裏插入圖片描述

配置 zabbix 監控 MySQL

ZABBIX 默認提供了 MYSQL 的監控模板

mysql> grant usage on *.* to zabbix@'%' identified by '123456';
mysql> flush privileges;
[root@test64	~]#cp /usr/local/src/zabbix-3.4.3/conf/zabbix_agentd/userparameter_mysql.conf  /usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@test64~]#vim /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf	#啓用並修改 	
[root@test64 ~]# vim /usr/local/zabbix/etc/.my.cnf #建立數據庫和 zabbix 的鏈接信息,最好用隱藏文件,因爲裏面保存了數據庫信息
#Zabbix Agent 
[mysql] 
host=test63
user=zabbix 
password=123456
socket= /var/lib/mysql/mysql.sock
[mysqladmin] 
host=test63
user=zabbix
password=123456
socket= /var/lib/mysql/mysql.sock
[root@test64 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
將 HOME=/var/lib/zabbix 全部改成 HOME=/usr/local/zabbix/etc/
# For all the following commands HOME should be set to the directory that has .my.cnf file with password information.(提示目錄下必須有.my.cnf)
[root@test64 ~]# /etc/init.d/zabbix_agentd restart

模板應用主機:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

Zabbix郵件報警配置

郵件服務可以使用系統自帶的郵件服務來發送郵件或者使用其他郵件服務調用第三方郵件來發送警告郵件

[root@test63 ~]# yum install mailx #安裝mailx組件
[root@test63 ~]# vi /etc/mail.rc #然後編輯mailx的配置文件
set [email protected]
set smtp=smtp.163.com
set [email protected]
set smtp-auth-password=你的密碼 注意:此爲163郵箱設置的客戶端授權密碼
set smtp-auth=login 
[root@test63 ~]# echo "zabbix test mail" |mailx -s "zabbix"[email protected] #測試郵件發送

[root@test63 ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/
[root@test63 alertscripts]# vim sendmail.sh #在zabbix服務端寫郵件發送腳本

#!/bin/bash
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mailx -s "${subject}" $1 >>/tmp/sendmail.log 2>&1
[root@test63 alertscripts]# chown zabbix.zabbix sendmail.sh 
[root@test63 alertscripts]# chmod +x sendmail.sh
vim /usr/local/zabbix/etc/zabbix_server.conf #修改主配置文件,讓服務讀取到這個腳本
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
[root@test63alertscripts]#chmod 777 /tmp/sendmail.log
/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh 
[email protected] "測試郵件標題" "測試郵件內容" #測試發送腳本

頁面操作

在這裏插入圖片描述
在這裏插入圖片描述
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
很多人安裝zabbix 3.0之後,寫的腳本一直髮信不成功,手動執行時可以的。
這是因爲zabbix3.0之後,可以自定義參數了。所以不寫參數,它是不會傳參數的。
在2.x版本不存在這個問題,默認會傳3個參數。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
內容如下
動作
名稱:Action-Email
在這裏插入圖片描述
操作
默認接收人:故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!
默認信息:
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
在這裏插入圖片描述
在這裏插入圖片描述
恢復操作
默認接收人:已恢復!{TRIGGER.STATUS}, 服務器:{HOSTNAME1}: {TRIGGER.NAME}
恢復信息:
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

測試

關閉 zabbix 客戶端服務 zabbix_agentd

[root@test64 ~]# /etc/init.d/zabbix_agentd stop 

延遲比較大,大概要5-10分鐘
可以在日誌看送達狀態:
在這裏插入圖片描述

配置 zabbix 自動發現並監控(監控windows爲案例)

在這裏插入圖片描述

找到conf下的配置文件 zabbix_agentd.win.conf (建議用文本編輯軟件打開),修改LogFile、Server、ServerActive、Hostname這四個參數。具體配置如下:

LogFile=c:\zabbix_agentd.log
Server=192.168.142.125
Hostname=download
ServerActive=192.168.142.125#zabbix server地址

其中logfile是zabbix日誌存放地址。Server 是zabbix服務端ip地址。Hostname是本機機器名。

一定要以管理員身份來運行CMD,否則安裝不了

cd C:\Users\Administrator\Desktop\zabbix_agents_3.4.0.win\bin\win64

在這裏插入圖片描述

安裝windos zabbix客戶端

zabbix_agentd.exe –c C:\Users\Administrator\Desktop\zabbix_agents_3.4.0.win\conf\zabbix_agentd.win.conf–i

在這裏插入圖片描述
啓動客戶端

zabbix_agentd.exe –c C:\Users\Administrator\Desktop\zabbix_agents_3.4.0.win\conf\zabbix_agentd.win.conf–s

在這裏插入圖片描述
創建自動發現規則
在這裏插入圖片描述
添加關聯動作
在這裏插入圖片描述
在這裏插入圖片描述
操作-可添加發現主機發送郵件通知
發送模版
默認接收人自動發現主機: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}
默認信息
發現規則: {DISCOVERY.RULE.NAME}
設備IP:{DISCOVERY.DEVICE.IPADDRESS}
設備DNS: {DISCOVERY.DEVICE.DNS}
設備狀態: {DISCOVERY.DEVICE.STATUS}
設備運行時間: {DISCOVERY.DEVICE.UPTIME}
設備服務端口: {DISCOVERY.SERVICE.NAME}
在這裏插入圖片描述
等待一會,就可以發現自動探測監控了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章