部落客QQ:819594300
有什麼疑問的朋友可以聯系部落客,部落客會幫你們解答,謝謝支援!
一、 zabbix簡介
zabbix是完全開源的工具,整合了cacti和nagios等特性
附:SNMP(udp 161 udp 162)
衆多網絡工具都支援此協定,比如常見路由交換,常見OS
其既可以做管理端也可以做被管理端
snmp協定大緻有3個版本分别是v1 v2 v3
無論是v1 和 v2 的安全性是比較差的,因為傳輸是明文的, V3的認證密碼用MD5/SHA摘要算法加密。
很多工具支援網絡管理的功能,而對于非網絡裝置(作業系統),可以完全抛開snmp這種不安全的架構來實作監控的。是以很多工具都是控制端和agent架構,他們有專屬的agent
Zabbix的主要功能:
①具備常見的商業監控軟體所具備的功能(主機的性能監控、網絡裝置性能監控、資料庫、FTP 等通用協定監控、多種告警方式、詳細的報表圖表繪制)。
②支援自動發現網絡裝置和伺服器(可以通過配置自動發現伺服器規則來實作)。
③支援分布式,能集中展示、管理分布式的監控點,擴充性強。
④server 提供通用接口(api 功能),可以自己開發完善各類監控(根據相關接口編寫程式實作),編寫插件容易,可以自定義監控項,報警級别的設定。
⑤資料收集,支援 snmp(包括 trapping and polling ),IPMI,JMX,SSH,TELNET。
⑥自定義的檢測;自定義收集資料的頻率;
⑦伺服器/代理和用戶端模式。
⑧靈活的觸發器(可以定義非常靈活的問題門檻值,稱為觸發器)。
⑨高可定制的報警,發送通知,可定制的報警更新,收件人,媒體類型。
⑩CPU負荷、記憶體使用、磁盤使用、網絡狀況、端口監視、日志監視等等。
硬體監控:Zabbix IPMI Interface
系統監控:Zabbix Agent Interface
Java監控:ZabbixJMX Interface
網絡裝置監控:Zabbix SNMP Interface
應用服務監控:Zabbix Agent UserParameter
MySQL資料庫監控:percona-monitoring-plulgins
URL監控:ZabbixWeb 監控
zabbix重要元件說明:
①zabbix server:負責接收agent發送的報告資訊的核心元件,所有配置、統計資料及操作資料都由它組織進行;
②database storage:專用于存儲所有配置資訊,以及由zabbix收集的資料;
③web interface:zabbix的GUI接口;
④proxy:可選元件,常用于監控節點很多的分布式環境中,代理server收集部分資料轉發到server,可以減輕server的壓力;
⑤agent:部署在被監控的主機上,負責收集主機本地資料如cpu、記憶體、資料庫等資料發往server端或proxy端;
另外,zabbix server、proxy、agent都有自己的配置檔案以及log檔案,重要的參數需要在這裡配置,後面會詳細說明。
一個監控系統運作的大概的流程是這樣的:
agentd需要安裝到被監控的主機上,它負責定期收集各項資料,并發送到zabbix server端,zabbix server将資料存儲到資料庫中,zabbix web根據資料在前端進行展現和繪圖。這裡agentd收集資料分為主動和被動兩種模式:
主動:agent請求server擷取主動的監控項清單,并主動将監控項内需要檢測的資料送出給server/proxy
被動:server向agent請求擷取監控項的資料,agent傳回資料。
zabbix常用的監控架構平台
①server-agentd模式:
這個是最簡單的架構了,常用于監控主機比較少的情況下。
②server-proxy-agentd模式:
這個常用于比較多的機器,使用proxy進行分布式監控,有效的減輕server端的壓力。
zabbix的系統架構:
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKiom1kXsDiQtETEAAJQmwoKaRk861.jpg" target="_blank"></a>
說明:abbix是一個基于Web界面的提供分布式系統監視以及網絡監視功能的企業級開源解決方案。借助Zabbix,可以很輕松地減輕運維人員們繁重的伺服器管理任務,實作業務系統的持續運作。
下面會逐漸介紹Zabbix分布式監控系統的部署及使用。
配置好IP、DNS 、網關,確定使用遠端連接配接工具能夠連接配接伺服器。
二、Zabbix部署前的LNMP環境的搭建過程:
虛拟機環境:
<a href="https://s2.51cto.com/wyfs02/M02/95/9B/wKioL1kXsDiRCFArAABn3ywqwLc607.jpg" target="_blank"></a>
監控端和被監控端ip:
①zabbix監控伺服器(即:zabbix_server):
192.168.1.8
說明:zabbix的服務端(若要監控本機,則需要在本機的配置zabbix agent)
②zabbix被監控主機(即:zabbix_agent):
192.168.1.9
說明:zabbix的用戶端(被監控端,必須配置zabbix agent)
系統環境:
centos7.2x86_64
1)安裝編譯工具及庫檔案
<a href="https://s2.51cto.com/wyfs02/M00/95/9C/wKiom1kXsDiAIAnLAAFkqvxRAyk082.jpg" target="_blank"></a>
圖中内容如下:
yum-y install make apr* autoconf automake curl-devel gcc gcc-c++ openssl openssl-devel gd kernel keyutilspatch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-develkeyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-develzlib-devel libXpm* freetype libjpeg* libpng* libtool* libxml2 libxml2-devel patch libcurl-devel bzip2-develfreetype-devel
2)安裝mysql5.7.13
①在這裡安裝mysql的步驟就省略了,不會安裝mysql5.7.13的朋友可以浏覽我的博文,位址如下:
<a href="http://zpf666.blog.51cto.com/11248677/1908988" target="_blank">http://zpf666.blog.51cto.com/11248677/1908988</a>
②mysql安裝完畢後,看一下mysql的服務:
<a href="https://s4.51cto.com/wyfs02/M00/95/9B/wKioL1kXsDmSkA5lAAB0-HvzMig352.jpg" target="_blank"></a>
③防火牆開啟3306端口例外
<a href="https://s4.51cto.com/wyfs02/M01/95/9C/wKiom1kXsDmwrNTAAAEDsk6gDOw882.jpg" target="_blank"></a>
④mysql資料庫密碼
我的資料庫密碼是:123456
3)安裝nginx1.10.2
①解壓zlib和pcre
<a href="https://s2.51cto.com/wyfs02/M00/95/9C/wKiom1kXsDqC2ObhAAFNG_giU1I558.jpg" target="_blank"></a>
說明:不需要編譯,隻需要解壓就行。
②建立組賬戶和使用者賬戶
<a href="https://s2.51cto.com/wyfs02/M01/95/9B/wKioL1kXsDrR-vmuAADy0lE5oEE353.jpg" target="_blank"></a>
③下載下傳安裝nginx
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKiom1kXsDvSd6RGAAGS_bGQFWI813.jpg" target="_blank"></a>
./configure--prefix=/usr/local/nginx1.10 --with-http_dav_module--with-http_stub_status_module --with-http_addition_module--with-http_sub_module --with-http_flv_module --with-http_mp4_module--with-pcre=/root/pcre-8.39 --with-zlib=/root/zlib-1.2.8 --with-http_ssl_module--with-http_gzip_static_module --user=www --group=www && make&& make install
④做軟連結
<a href="https://s3.51cto.com/wyfs02/M00/95/9C/wKioL1kXsDvSr4YVAACb1rtuQfI574.jpg" target="_blank"></a>
⑤nginx文法檢測、啟動nginx服務并檢視服務
<a href="https://s3.51cto.com/wyfs02/M01/95/9C/wKiom1kXsDyz2ygzAAENhsVgc6U263.jpg" target="_blank"></a>
⑥防火牆開啟80端口例外
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKioL1kXsDzjYplCAAELDWJSXuI719.jpg" target="_blank"></a>
⑦在一台用戶端通路測試
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKioL1kXsD2DtP-xAAF1S2g3FAk643.jpg" target="_blank"></a>
4)安裝php5.6.27
①安裝libmcrypt
<a href="https://s3.51cto.com/wyfs02/M00/95/9C/wKiom1kXsD2jOoc1AAD8VDsvirM838.jpg" target="_blank"></a>
②做軟連結
<a href="https://s1.51cto.com/wyfs02/M00/95/9C/wKioL1kXsD7CNU53AACfapFs6mY076.jpg" target="_blank"></a>
③安裝php
<a href="https://s1.51cto.com/wyfs02/M00/95/9C/wKiom1kXsD7QJRolAAKren74Ftc428.jpg" target="_blank"></a>
./configure--prefix=/usr/local/php5.6 --with-config-file-path=/etc --with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config--with-mysql-sock=/usr/local/mysql/mysql.sock --with-gd --with-iconv--with-libxml-dir=/usr --with-mhash --with-mcrypt--with-config-file-scan-dir=/etc/php.d --with-bz2 --with-zlib--with-freetype-dir --with-png-dir --with-jpeg-dir --enable-xml --enable-bcmath--enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex--enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf--with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip--enable-soap --without-pear --with-gettext --enable-session --with-mcrypt--with-curl && make && make install
④拷貝樣例配置檔案并修改
<a href="https://s3.51cto.com/wyfs02/M00/95/9C/wKioL1kXsD_B1qpjAADaxKfOZiw063.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/95/9C/wKiom1kXsD_CD9z_AAA9wsJPXY4338.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/95/9C/wKiom1kXsD_TLb2DAAAzRxOD-Hs442.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M01/95/9C/wKioL1kXsECB2qVSAABC4mGUY20195.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M01/95/9C/wKioL1kXsECTwN01AAA7mYpXFhw871.jpg" target="_blank">//上傳檔案大小</a>
<a href="https://s2.51cto.com/wyfs02/M02/95/9C/wKiom1kXsEDTA8aQAABJNrNggso332.jpg" target="_blank">//php腳本最大執行時間</a>
<a href="https://s2.51cto.com/wyfs02/M02/95/9C/wKiom1kXsEDxEROSAAA8zJx_8fY701.jpg" target="_blank"></a>
//以秒為機關對通過POST、GET以及PUT方式接收資料時間進行限制
<a href="https://s4.51cto.com/wyfs02/M02/95/9C/wKioL1kXsEGAWXC4AABcIAUSDq4596.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/95/9C/wKioL1kXsELyKs4pAABQA0bc_CI988.jpg" target="_blank"></a>
⑤建立php-fpm服務啟動腳本
<a href="https://s2.51cto.com/wyfs02/M00/95/9C/wKiom1kXsEPAHdyZAAFkYDn5w40851.jpg" target="_blank"></a>
⑥提供php-fpm配置檔案并編輯
<a href="https://s1.51cto.com/wyfs02/M00/95/9C/wKioL1kXsEPQTLXgAADXu0rDvVw125.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M00/95/9C/wKiom1kXsEOC7PvzAAA_chZGfsE429.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/95/9C/wKiom1kXsEShWCF4AABHf21NQQ4845.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M00/95/9C/wKioL1kXsETCnyT_AABLmJz4ABE185.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/95/9C/wKiom1kXsEThhZaXAABCf7hbdnM876.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/95/9C/wKioL1kXsETAB8qSAAA738YGySY762.jpg" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M01/95/9C/wKioL1kXsEWwrNXNAABEUqNOjjE195.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKioL1kXsHmyj4-QAABIDOPe_HM872.jpg" target="_blank"></a>
⑦啟動php-fpm服務并檢視
<a href="https://s3.51cto.com/wyfs02/M00/95/9C/wKiom1kXsHmgy0axAADN0pWm5LE864.jpg" target="_blank"></a>
5)配置nginx支援php
<a href="https://s5.51cto.com/wyfs02/M02/95/9C/wKiom1kXsHrDZrDwAACaGqRgeD4576.jpg" target="_blank"></a>
user www www;
worker_processes 4;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
use epoll;
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent"$http_referer" '
# '"$http_user_agent""$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
charset utf-8;
#access_log logs/host.access.log main;
location / {
root html;
index index.phpindex.html index.htm;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
#error_page 404 /404.html;
# redirectserver error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
location /status {
stub_status on;
}
<a href="https://s5.51cto.com/wyfs02/M02/95/9C/wKioL1kXsHqyefh8AAHtx6wmgG8567.jpg" target="_blank"></a>
6)測試LNMP
進入nginx預設的網頁根目錄,建立.php的測試頁:
<a href="https://s2.51cto.com/wyfs02/M00/95/9C/wKioL1kXsHuRPRvGAACrLsByNuA733.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M00/95/9C/wKiom1kXsHuwQIjwAAB9v4Pz6Fo581.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M00/95/9C/wKioL1kXsHyR--yqAACfa_mYrxE878.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M01/95/9C/wKiom1kXsHzC8rmbAAFAvV21ngA471.jpg" target="_blank"></a>
在用戶端上通路:
<a href="https://s2.51cto.com/wyfs02/M01/95/9C/wKiom1kXsH2z8WKYAAHiebot1NM767.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M01/95/9C/wKioL1kXsH3xDtTFAAB3u9CVDVo681.jpg" target="_blank"></a>
至此,LNMP部署完畢。
三、監控系統Zabbix-3.2.1的安裝
1)zabbix-server端的操作
說明:zabbix伺服器端要提前安裝好LNMP環境(mysql,nginx,php5的安裝目錄均是/usr/local)
①建立zabbix運作的使用者
<a href="https://s2.51cto.com/wyfs02/M01/95/9C/wKioL1kXsH2SaLu8AAEzjyVlLqk657.jpg" target="_blank"></a>
②安裝libcurl和net-snmp等依賴包
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKiom1kXsH6xbkoiAAC9zk_85g8431.jpg" target="_blank"></a>
yum-y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdkjava-1.8.0-openjdk-devel OpenIPMI-devel libssh2-devel
注意:OpenIPMI-devel 和libssh2-devel軟體包必須使用centos線上yum軟體源安裝。
③安裝Fping
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKiom1kXsH6RirUUAAEG1XABPJM382.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKioL1kXsH_zC2wuAAGZlohOGdo387.jpg" target="_blank"></a>
④安裝zabbix Server
<a href="https://s5.51cto.com/wyfs02/M02/95/9C/wKioL1kXsH-TWLX_AAFVHFZ9l4E562.jpg" target="_blank"></a>
./configure--prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java--with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl--with-openipmi && make && make install
注意:
⑴編譯時最好帶上--enable-java這個參數,友善後續監控tomcat程式所用。
⑵--with-ssh2是不需要在用戶端伺服器上面安裝Zabbix agent,如果需要使用ssh檢查,需要在編譯的時候加上這項,最低需要libssh2 1.0.0版本,需要安裝ssh開發包
⑶--with-openipmi使用者可以利用IPMI 監視伺服器的實體特征,如溫度、電壓、電扇工作狀态、電源供應等。
⑷如果添加了--enable-proxy, 那麼會生成get和sender兩條指令. 如下, 用于接收agent發生過來的資訊, 同時發送給server。
⑤添加系統軟連接配接
<a href="https://s4.51cto.com/wyfs02/M00/95/9C/wKiom1kXsIDwDQC7AAEWSU-jnLA590.jpg" target="_blank"></a>
2)zabbix server配置與啟動
①建立zabbix資料庫和mysql使用者
<a href="https://s5.51cto.com/wyfs02/M00/95/9C/wKioL1kXsIDTkPqvAACv0fPek6w970.jpg" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M00/95/9C/wKiom1kXsIDA9DNkAAEAWSJCNG0147.jpg" target="_blank"></a>
②導入zabbix初始資料
切換到zabbix的解壓目錄下:
<a href="https://s4.51cto.com/wyfs02/M00/95/9C/wKioL1kXsIGRc-NWAAIl89KnmGE055.jpg" target="_blank"></a>
進行zabbix初始資料導入:
<a href="https://s4.51cto.com/wyfs02/M01/95/9C/wKiom1kXsIHScMU4AAHv0U90GQo921.jpg" target="_blank"></a>
③編輯/usr/local/zabbix/etc/zabbix_server.conf
<a href="https://s4.51cto.com/wyfs02/M01/95/9C/wKiom1kXsIKhbb1sAACce9M9YcQ239.jpg" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M01/95/9C/wKioL1kXsILwFPTlAABg1vHhO4A047.jpg" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M01/95/9C/wKioL1kXsILTgqvcAABj4Bbu65k967.jpg" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M02/95/9C/wKiom1kXsIOx6lMpAAA3CtA3hRI851.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/95/9C/wKiom1kXsIOgDEb4AAAxJUHfED4203.jpg" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M02/95/9C/wKioL1kXsIOgTQe1AAA1Mw6L4KY623.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/95/9C/wKioL1kXsIOA-rGdAAA9XR_CW3U101.jpg" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M00/95/9C/wKiom1kXsISScp5TAAAwwH9QmHg287.jpg" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M00/95/9C/wKioL1kXsISwAQMqAABgbbthCPY885.jpg" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M01/95/9C/wKiom1kXsIShDy2DAAEiHMpOjAI504.jpg" target="_blank"></a>
④啟動zabbix server
<a href="https://s2.51cto.com/wyfs02/M01/95/9C/wKioL1kXsIWQDKK1AAEdgy-QOKE618.jpg" target="_blank"></a>
從上圖可以看到啟動zabbix server服務失敗了。
我們先分析下失敗原因:
從圖上可以看出,說是沒發現libmysqlclient.so.20這個庫檔案。那我們用find指令搜尋一下看一看,到底有沒有這個檔案:
<a href="https://s2.51cto.com/wyfs02/M00/95/9C/wKiom1kXsIXzTSCgAAIYiP2W5yk296.jpg" target="_blank"></a>
libmysqlclient.so.20這個庫檔案确實存在。現在我們再去看看ld.so.conf檔案,看看裡面有沒有libmysqlclient.so.20的路徑。
<a href="https://s4.51cto.com/wyfs02/M02/95/9C/wKioL1kXsKvRLRqdAADv7BlQ4zw438.jpg" target="_blank"></a>
可以看見裡面沒有libmysqlclient.so.20的路徑,我們把libmysqlclient.so.20路徑添加到ld.so.conf裡面即可。
注明:ld.so.conf檔案是系統搜尋動态連接配接庫的目錄設定,在這個檔案裡面寫下的位址系統在運作程式時會自動去這些個目錄裡面找需要的動态庫檔案
解決辦法如下:
⑴進入ld.so.conf檔案
<a href="https://s2.51cto.com/wyfs02/M02/95/9C/wKiom1kXsKzSb8WyAACtaOXm5N8605.jpg" target="_blank"></a>
⑵在末尾新增兩行内容
<a href="https://s3.51cto.com/wyfs02/M00/95/9C/wKiom1kXsKyyBb4ZAADqesMo3iI757.jpg" target="_blank"></a>
⑶讓其修改生效
<a href="https://s2.51cto.com/wyfs02/M00/95/9C/wKioL1kXsKzDPlvcAAC72ZJSFSg535.jpg" target="_blank"></a>
再次嘗試啟動:
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKioL1kXsK3SLeVIAAENwo766Nw537.jpg" target="_blank"></a>
從上圖我們可以看到啟動後沒有報錯,啟動成功了,确認一下服務是否真正開啟,我們可以看到zabbix_server預設監聽的端口号是10051。
⑤添加開機啟動腳本
<a href="https://s3.51cto.com/wyfs02/M00/95/9C/wKiom1kXsK3RNpRoAAKF92xYK1w544.jpg" target="_blank"></a>
⑥修改zabbix開機啟動腳本中的zabbix安裝目錄
編輯服務端配置檔案:
<a href="https://s1.51cto.com/wyfs02/M01/95/9C/wKiom1kXsK7wn-TBAADd79ClHg0018.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/95/9C/wKioL1kXsK6QwxVPAABHEaX80z4595.jpg" target="_blank"></a>
//zabbix安裝目錄
<a href="https://s1.51cto.com/wyfs02/M02/95/9C/wKiom1kXsK6Cbl7iAABZeDGcUr4583.jpg" target="_blank"></a>
//pid檔案路徑
編輯用戶端配置檔案:
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKioL1kXsK_T6pbgAADmnrZ7PgY065.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/95/9D/wKiom1kXtvCibWP0AABHEaX80z4711.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/95/9D/wKioL1kXtvGgWk8SAABZeDGcUr4185.jpg" target="_blank"></a>
⑥重載systemctl,并重新啟動zabbix_server服務
<a href="https://s3.51cto.com/wyfs02/M00/95/9C/wKiom1kXsK-RMy7bAAIxmMF068w381.jpg" target="_blank"></a>
⑦在防火牆上開啟10051端口例外
<a href="https://s3.51cto.com/wyfs02/M00/95/9C/wKioL1kXsLCzqiuoAAEiUYGtzQg619.jpg" target="_blank"></a>
3)配置zabbix web頁面
①在安裝目錄将frontends拷貝到指定的web root:
<a href="https://s3.51cto.com/wyfs02/M00/95/9C/wKioL1kXsLCz2fz4AAEPnhpFPYg227.jpg" target="_blank"></a>
注1:/usr/local/nginx/html為Nginx預設站點目錄
注2:www為Nginx運作賬戶
注3:PHP需要至少開啟擴充:
gd,bcmath,ctype,libXML,xmlreader,xmlwriter,session,sockets,mbstring,gettext,mysql
②檢視是否包括了上面所提到的所有擴充子產品
<a href="https://s3.51cto.com/wyfs02/M01/95/9C/wKiom1kXsLHhxVELAAMDXFFPBGA506.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/95/9C/wKioL1kXsLKwrMTrAAIllpVq9bM498.jpg" target="_blank"></a>
從上圖裡看到的擴充和注3進行對比,少一個都不行,少一個你都沒有繼續做下去的必要了。
我這裡可以對比出,全部的擴充子產品都存在了。
③在頁面上安裝zabbix_server
說明:通路Web界面http://192.168.1.8/zabbix,進行相關web配置,配置完成後使用預設使用者admin(密碼:zabbix)登陸即可。
⑴進入ZABBIX WEB安裝畫面
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKiom1kXsLLxwt8eAAEXc815W5s772.jpg" target="_blank"></a>
⑵進入ZABBIX檢測畫面
<a href="https://s1.51cto.com/wyfs02/M01/95/9C/wKiom1kXsLPivbCkAAEfKQXRGuk990.jpg" target="_blank"></a>
⑶對資料庫進行設定,這裡如果資料庫在本地的話端口可以使用0
<a href="https://s2.51cto.com/wyfs02/M02/95/9C/wKioL1kXsLSjstW0AAEXS0OUTtQ894.jpg" target="_blank"></a>
⑷點選Next step,下一步步進行zabbix server 細節的設定 這一步可以預設
<a href="https://s2.51cto.com/wyfs02/M01/95/9C/wKioL1kXsLTictYpAADgGcSLHZQ630.jpg" target="_blank"></a>
⑸點選安裝,安裝完成後,如果沒有錯誤就會進入完成畫面
<a href="https://s3.51cto.com/wyfs02/M00/95/9C/wKiom1kXsLXh_C9hAADw7d90l1s606.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKiom1kXsLWA9Mz0AADpP7aD3PA196.jpg" target="_blank"></a>
⑹使用賬号:admin,用預設密碼:zabbix 登入
<a href="https://s2.51cto.com/wyfs02/M02/95/9C/wKioL1kXsLbQX3FCAAF5TYQ4WVs879.jpg" target="_blank"></a>
⑺登入後畫面如下
<a href="https://s2.51cto.com/wyfs02/M00/95/9C/wKioL1kXsLaj-qqtAAHPRjfCTvw248.jpg" target="_blank"></a>
至此 ZABBIX的基礎安裝完成。
④此時你看到的是英文頁面,我們現在讓其顯示簡體中文頁面
⑴由于在安裝資料庫時已經将zabbix庫設定了utf-8字元
首先确定zabbix開啟了中文支援功能:
說明:登入到zabbix伺服器的資料目錄下(前面部署的zabbix資料目錄是/usr/local/nginx1.10/html/zabbix/),打開locales.inc.php檔案。
<a href="https://s1.51cto.com/wyfs02/M00/95/9C/wKiom1kXsLej9WPaAADkbZ-Ebhs320.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/95/9C/wKiom1kXsLfxhsjTAAA7SwoGiMQ820.jpg" target="_blank"></a>
我們可以從第55行看到,zabbix是支援簡體中文的。
⑵登陸zabbix後,點選右上角的“使用者”圖示,将語言設定為“中文”
<a href="https://s3.51cto.com/wyfs02/M00/95/9C/wKioL1kXsLfD7M5wAACjpXNsvfo462.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/95/9C/wKioL1kXsLjjE0KuAAJERqN6CXg764.jpg" target="_blank"></a>
⑤解決zabbix繪圖中出現中文亂碼問題
⑴從windows下控制台->字型->選擇一種中文字庫。
例如“楷體”
<a href="https://s1.51cto.com/wyfs02/M01/95/9C/wKiom1kXsLiwYWFXAAEq_ZnzKPM039.jpg" target="_blank"></a>
⑵把它拷貝到zabbix的web端的fonts目錄下
<a href="https://s1.51cto.com/wyfs02/M02/95/9C/wKiom1kXsLmCopwkAAKp3FuA4Gw974.jpg" target="_blank"></a>
⑶把原有的字型檔案DejaVuSans.ttf移動到别處
<a href="https://s5.51cto.com/wyfs02/M02/95/9C/wKioL1kXsLmy3rbGAAEBFl-AMXc572.jpg" target="_blank"></a>
注意:如果你的simkai檔案的字尾TTF是大寫字母,一定要改成小寫字母ttf。
⑷接着修改代碼include/defines.inc.php檔案中的字型配置,将裡面關于字型設定從DejaVuSans替換成simkai
<a href="https://s5.51cto.com/wyfs02/M01/95/9C/wKioL1kXsLqz5TOuAAGIEvOLHj8371.jpg" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M02/95/9C/wKiom1kXsLrRSXL7AABTpeZeiq4499.jpg" target="_blank"></a>
這樣,修改後,zabbix監控圖形中的中文字就不會出現亂碼了。
四、zabbix用戶端的安裝
說明:既然要監控,我們就要添加要監控的主機,在添加主機之前我們首先要在被檢測主機上面安裝agent,安裝agent比較簡單,我們也是按照安裝server的流程,下載下傳軟體包,在編譯的時候,我們隻選擇agent即可。
192.168.1.9作為zabbix的被監控端,它提供web和mysql應用服務。
1)安裝zabbix,配置zabbix agent
①安裝zabbix agent
<a href="https://s1.51cto.com/wyfs02/M00/95/9C/wKiom1kXsOvBQAQQAADuNeKrHPs140.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M00/95/9C/wKioL1kXsOyA7D_wAAF0mUC87hQ201.jpg" target="_blank"></a>
②配置開機自動啟動
<a href="https://s1.51cto.com/wyfs02/M00/95/9C/wKiom1kXsOyjebH1AAFgzTCYJoQ438.jpg" target="_blank"></a>
③修改zabbix開機啟動腳本中的zabbix安裝目錄
<a href="https://s1.51cto.com/wyfs02/M01/95/9C/wKiom1kXsOzgt71yAADg2X-L9nU447.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M00/95/9C/wKioL1kXsO2ykrLYAABRU5aWU9E808.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/95/9C/wKiom1kXsO2wsWD1AABU__MKqDk746.jpg" target="_blank"></a>
④重載systemctl
<a href="https://s2.51cto.com/wyfs02/M01/95/9C/wKioL1kXsO2A-qXmAADd7lnELgM412.jpg" target="_blank"></a>
⑤編輯zabbix_agentd.conf檔案
<a href="https://s2.51cto.com/wyfs02/M02/95/9C/wKiom1kXsO6zSaAJAAEuYBhZ5GM253.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M01/95/9C/wKioL1kXsO6ACEGTAABpgfQePso304.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/95/9C/wKioL1kXsO7zkRI6AABgZzigBzo814.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/95/9C/wKiom1kXsO-xhIT3AAA9MOMur0c989.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M00/95/9C/wKiom1kXsO-C2RjyAAA3C3xJij0556.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M00/95/9C/wKioL1kXsO_iok_LAABNvAtr10s670.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/95/9C/wKioL1kXsPCDn7JZAABHtqU7eJg807.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M00/95/9C/wKiom1kXsPDy0PYyAAAjxcpDzWU754.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M01/95/9C/wKiom1kXsPDDTlH0AABePngqxvc364.jpg" target="_blank"></a>
注明:其中Server和ServerActive都指定zabbixserver的IP位址,不同的是,前者是被動後者是主動。也就是說Server這個配置是用來允許192.168.1.8這個ip來我這取資料。而serverActive的192.168.1.8的意思是,用戶端主動送出資料給他。
Hostname=XXX,這個定義的名字必須和web頁面裡面host的名字一樣。
⑥啟動zabbix_agentd
<a href="https://s5.51cto.com/wyfs02/M00/95/9C/wKioL1kXsPGipj9gAAD9xFMCM_s042.jpg" target="_blank"></a>
⑦防火牆開啟10050端口例外
<a href="https://s5.51cto.com/wyfs02/M01/95/9C/wKiom1kXsPHhwfDCAAEcnHIu_Gc411.jpg" target="_blank"></a>
到此,zabbix3.2.1監控系統的基本環境安裝完成。
2)實作zabbix添加監測項,添加對Linux主機的監控
說明:先在“配置”-“主機”裡添加主機監控,監控os資源:記憶體,cpu,io,負載,帶寬等.
①登入zabbix,先在“配置”-“主機”裡單擊”建立主機”:
<a href="https://s3.51cto.com/wyfs02/M01/95/9C/wKioL1kXsPLQVdyfAAEiCY54H1E313.jpg" target="_blank"></a>
②在“主機”标簽,填寫相關資訊
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKiom1kXsPLSU51sAAFyjVEOevI236.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/95/9C/wKioL1kXsPOwPVjGAACstQIZQM0918.jpg" target="_blank"></a>
其它選項預設即可。
③在“模闆”标簽,填寫相關資訊
<a href="https://s4.51cto.com/wyfs02/M02/95/9C/wKioL1kXsPOgeXO2AADoXAgnhfs391.jpg" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M02/95/9C/wKiom1kXsPSjvHZ_AAK2ovW5By8592.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M00/95/9C/wKiom1kXsPTSXRlDAADQKNQesEM318.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M00/95/9C/wKioL1kXsPWyXUdYAADbzg-pdvk263.jpg" target="_blank"></a>
至此,Zabbix監控Linux主機設定完成,如下圖所示:
<a href="https://s1.51cto.com/wyfs02/M02/95/9C/wKioL1kXsPXQMpHpAAF_SDWF3fk039.jpg" target="_blank"></a>
④過一段時間後,可以來觀察監控圖效果出來了沒有
<a href="https://s2.51cto.com/wyfs02/M00/95/9C/wKiom1kXsPWi5XQtAAC7JMlr7Us803.jpg" target="_blank"></a>
3)添加對Linux主機的mysql的監控
說明:zabbix3.0 server已自帶mysql的模闆了,隻需配置好agent用戶端,然後在web端給主機增加模闆就行了。
①首先在用戶端的mysql裡添權重限,即本機使用zabbix賬号連接配接本地的mysql(在zabbix_agent用戶端上操作)
<a href="https://s1.51cto.com/wyfs02/M01/95/9C/wKiom1kXsPbjlFP9AACl8dKVcgI844.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/95/9C/wKioL1kXsPaTnUffAAEcWnI8m3U608.jpg" target="_blank"></a>
②在zabbix_agent服務目錄下建立.my.cnf 連接配接檔案(注意有個“.”)
說明:zabbix安裝目錄是/usr/local/zabbix
<a href="https://s1.51cto.com/wyfs02/M02/95/9C/wKiom1kXsPbT12iPAAEUSitoaZk742.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M00/95/9C/wKioL1kXsPfRJmq6AAC087abhEg673.jpg" target="_blank"></a>
⑴如果在資料庫grant授權時,針對的是localhost,這個.my.cnf裡面就不用加host參數了【就如上面的配置】
⑵如果grant授權時針對的是本機的ip(如192.168.1.9),那麼在.my.cnf檔案裡就要加上host參數進行指定了
即在.my.cnf檔案就要加上:
host=192.168.1.9
socket=/usr/local/mysql/mysql.sock
user=zabbix
password=123456
③配置mysql的key檔案
說明:這個可以從zabbix3.2安裝時的解壓包裡拷貝過來
從zabbix_server服務端安裝時解壓目錄/root/zabbix-3.2.1/conf/zabbix_agentd/userparameter_mysql.conf 拷貝到zabbix_agent用戶端上的/usr/local/zabbix/etc/zabbix_agentd.conf.d/ 目錄下。
<a href="https://s2.51cto.com/wyfs02/M02/95/9C/wKioL1kXsPewIZOUAAFFupOww_I847.jpg" target="_blank"></a>
④檢視 userparameter_mysql.conf 檔案,看到類似HOME=/var/lib/zabbix 的路徑設定,把路徑全都替換為/usr/local/zabbix/etc/,也就是上面的.my.cnf檔案所在的目錄路徑。
另外,注意userparameter_mysql.conf 檔案裡的mysql指令路徑(提前做好mysql的系統環境變量,以防mysql指令不被系統識别)。
<a href="https://s4.51cto.com/wyfs02/M00/95/9C/wKiom1kXsU7BRVS_AACSyYCdLPM859.jpg" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M00/95/9C/wKioL1kXsU6wwB32AAB5Ht9SJwA188.jpg" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M01/95/9C/wKiom1kXsU_w0Qn8AAE8wh9X4GQ313.jpg" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M00/95/9C/wKioL1kXsU-gHgoAAABwT2UwoWQ765.jpg" target="_blank"></a>
⑤重新開機zabbix_agent服務
<a href="https://s2.51cto.com/wyfs02/M01/95/9C/wKiom1kXsVCikGC4AAHlaL8ZN_M460.jpg" target="_blank"></a>
注明:如果stop關不了服務,可以使用“pkill -9 zabbix_agent”指令強制殺死程序。
另外還可以使用“/usr/local/zabbix/sbin/zabbix_agentd”開啟服務。
⑥接着在zabbix_server服務端進行指令行測試
<a href="https://s1.51cto.com/wyfs02/M01/95/9C/wKioL1kXsVCTu2WhAADjRHtCuy0017.jpg" target="_blank"></a>
⑴在userparameter_mysql.conf中關于mysql指令前面添加絕對路徑(在zabbix_agent上操作)
<a href="https://s2.51cto.com/wyfs02/M01/95/9C/wKioL1kXsVDg7B6PAACMnV5Ys78750.jpg" target="_blank"></a>
⑵修改三個地方
<a href="https://s2.51cto.com/wyfs02/M02/95/9C/wKiom1kXsVGDK62BAACTSJrCoWE237.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M02/95/9C/wKiom1kXsVGAj5iVAAFCTUvHAyM506.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/95/9C/wKioL1kXsVKjLx_dAABhoxM085E399.jpg" target="_blank"></a>
⑶重新開機服務
<a href="https://s3.51cto.com/wyfs02/M00/95/9C/wKiom1kXsVLw0BKXAAEpquAPW80816.jpg" target="_blank"></a>
再次回到zabbix_server服務端進行指令行測試:
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKioL1kXsVORiqosAACw613DuEQ142.jpg" target="_blank"></a>
注明1:如果出現類似這一串key的數字,就說明配置ok,服務端能監控到用戶端的mysql資料了!
成功了之後在監控界面增加主機對應的MySQL模闆就ok了。
注明2:
zabbix_get指令介紹
參數說明:
-s--host:指定用戶端主機名或者IP
-p--port:用戶端端口,預設10050
-I--source-address:指定源IP,寫上zabbix server的ip位址即可,一般留白,伺服器如果有多ip的時候,你指定一個。
-k--key:你想擷取的key
zabbix_get擷取資料:
⑴擷取負載
<a href="https://s4.51cto.com/wyfs02/M00/95/9C/wKiom1kXsVOR34pQAACiG4x57sw421.jpg" target="_blank"></a>
⑵擷取主機名
<a href="https://s4.51cto.com/wyfs02/M00/95/9C/wKioL1kXsVTSClU0AACW7tX8uJ0317.jpg" target="_blank"></a>
⑦登入zabbix監控界面,在“配置”-“模闆”裡可以看到自帶的mysql監控模闆
<a href="https://s4.51cto.com/wyfs02/M00/95/9C/wKioL1kXsVWCdcy4AANuJMvNudo268.jpg" target="_blank"></a>
⑧在相應主機監控配置裡添加mysql的監控模版(zabbix自帶的)即可:
<a href="https://s1.51cto.com/wyfs02/M01/95/9D/wKiom1kXsVWxBHy5AAFp4ilNUp4787.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/95/9D/wKiom1kXsVax3BHXAAFVh84eBiU167.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/95/9C/wKioL1kXsVeQt6KmAACCZDWpLng136.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M02/95/9D/wKiom1kXsVjgMAKnAACpQ_FsE8I953.jpg" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M01/95/9C/wKioL1kXsVigIhPeAAEiYXkuQSs990.jpg" target="_blank"></a>
⑨下面是mysql監控項的效果圖
⑴監控mysql的帶寬:在zabbix前端可以實時檢視mysql發送接收的位元組數。其中bytes received表示從所有用戶端接收到的位元組數,bytes sent表示發送給所有用戶端的位元組數。
<a href="https://s5.51cto.com/wyfs02/M02/95/9D/wKiom1kXsVjj42Y6AADcA2wuBy8639.jpg" target="_blank"></a>
⑵監控mysql的操作狀态:在zabbix前端可以實時檢視各種SQL語句每秒鐘的操作次數。
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKioL1kXsVnzkHN7AADUZWKl9KU336.jpg" target="_blank"></a>
五、zabbix3.2.1郵件報警設定
說明:zabbix監控服務端、用戶端都已經部署完成,被監控主機已經添加,zabiix監控運作正常。
在zabbix服務端設定郵件報警,當被監控主機當機或者達到觸發器預設值時,會自動發送報警郵件到指定郵箱。
具體操作如下(操作在Zabbix監控服務端進行):
1)安裝sendmail兩個依賴包
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKioL1kXsVnRUycMAACaJhnLKh8660.jpg" target="_blank"></a>
2)解壓sendmail,然後将sendemail複制到/usr/local/bin/目錄下,并加上可執行權限,然後修改使用者和群組
<a href="https://s3.51cto.com/wyfs02/M00/95/9D/wKiom1kXsVmjoUXYAAHDy-Le1ic260.jpg" target="_blank"></a>
3)執行# /usr/local/bin/sendEmail -h可檢視sendEmail的幫助
4)下面開始進行發郵件測試
①先去申請一個郵箱,我這裡以網易的163郵箱為例
②登入郵箱,申請授權碼
<a href="https://s2.51cto.com/wyfs02/M00/95/9C/wKioL1kXsVqCUKdAAAFXAYGXf7E283.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/95/9D/wKiom1kXsVrDyeQOAAEEAMUIGMw412.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M00/95/9D/wKiom1kXsVuTVCMMAACXbXXNn4c712.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/95/9C/wKioL1kXsVvz-qRFAAFpuxzMPdc193.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M00/95/9C/wKioL1kXsVuSmR1cAAErPol67Ac909.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/95/9D/wKiom1kXsVyTKIghAAG5Odx4qUU807.jpg" target="_blank"></a>
注明:這裡我将我的授權碼設定成了123abc
③正式開始測試
<a href="https://s3.51cto.com/wyfs02/M01/95/9D/wKiom1kXsV3RKi-NAALdNoJLSzY025.jpg" target="_blank"></a>
從上圖我們看出,郵件沒發成功,有報錯。
原因是:sendemail軟體和perl5裡面的ssl版本不相容導緻的,通過修改sendemail裡面的内容可以解決這個問題。
<a href="https://s3.51cto.com/wyfs02/M02/95/9C/wKioL1kXsV3gH7GfAADLfKOY7Fs334.jpg" target="_blank"></a>
1906行改為如下内容:
<a href="https://s3.51cto.com/wyfs02/M00/95/9D/wKiom1kXsYrgTRK5AABFXN0f9PI773.jpg" target="_blank"></a>
再次進行重試測試:
<a href="https://s3.51cto.com/wyfs02/M00/95/9D/wKioL1kXsYuBiTD2AAKlOcAjVcE054.jpg" target="_blank"></a>
我們去郵箱檢視:
<a href="https://s2.51cto.com/wyfs02/M01/95/9D/wKiom1kXsYvzn0LxAACsE9o-las169.jpg" target="_blank"></a>
指令主要選項說明:
/usr/local/bin/sendEmail #指令主程式
-f [email protected] #發件人郵箱
[email protected] #收件人郵箱
-ssmtp.126.com #發件人郵箱的smtp伺服器
-u"我是郵件主題" #郵件的标題
-omessage-content-type=html #郵件内容的格式,html表示它是html格式
-omessage-charset=utf8 #郵件内容編碼
[email protected] #發件人郵箱的使用者名
-xp123abc #發件人郵箱密碼或授權碼
-m"我是郵件内容" #郵件的具體内容
5)測試成功了,我們還可以建立報警腳本,自動給我們發郵件
①進入/usr/local/zabbix/share/zabbix/alertscripts/目錄
<a href="https://s2.51cto.com/wyfs02/M01/95/9D/wKioL1kXsYvgCmcxAADDYuxABdY829.jpg" target="_blank"></a>
②建立腳本
<a href="https://s5.51cto.com/wyfs02/M01/95/9D/wKioL1kXsYzwYUhyAACxtCQVclA247.jpg" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M02/95/9D/wKiom1kXsYySkz51AADGfAHCuho961.jpg" target="_blank"></a>
#!/bin/bash
to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail-o tls=auto -f [email protected] -t "$to" -s smtp.126.com -u"$subject" -o message-content-type=html -o message-charset=utf8 -xu [email protected] -xp 123abc -m "$body"
③給腳本可執行權限
<a href="https://s5.51cto.com/wyfs02/M02/95/9D/wKioL1kXsY2CKLarAAEDvoMgYSM630.jpg" target="_blank"></a>
④執行腳本測試發郵件
<a href="https://s5.51cto.com/wyfs02/M02/95/9D/wKiom1kXsY7gWmjCAALpfzmeD_Q402.jpg" target="_blank"></a>
⑤再次去郵箱看一下
<a href="https://s1.51cto.com/wyfs02/M00/95/9D/wKiom1kXsY7BccUhAAF_WWwJCtU430.jpg" target="_blank"></a>
6)zabbix web端配置
①上面的郵件腳本配置好後,就要在web端添加報警媒介,在web頁面的管理,報警媒介類型頁面,點選右邊的建立媒體類型
<a href="https://s4.51cto.com/wyfs02/M02/95/9D/wKioL1kXsY-iL-PqAACb6tOgbi4763.jpg" target="_blank"></a>
②進入建立頁面,然後輸入名稱“郵件報警腳本”,類型選擇腳本,名稱選擇mail.sh,點選添加按鈕,添加三個腳本參數,分别是{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESSAGE},分别對于mail.sh中的to、subject和body。添加完成後點下面的添加按鈕,我們的報警媒介就建立完成了。
<a href="https://s4.51cto.com/wyfs02/M00/95/9D/wKioL1kXsZDxFJo2AAFob01kD7s078.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/95/9D/wKioL1kXsZDDbAvcAAEJJiRI0lo572.jpg" target="_blank"></a>
③建立好報警媒介後,就需要将報警媒介關聯到我們的使用者。點選管理,使用者,然後選擇我們的使用者admin也可建立一個使用者,點選使用者名就進入到使用者配置界面。點選報警媒介,然後點添加,選擇我們上一步建立的郵件報警腳本,輸入收件人,選擇報警時間和類型,然後點選添加,就将建立好的報警媒介關聯到我們的使用者上面了。
<a href="https://s3.51cto.com/wyfs02/M02/95/9D/wKioL1kXsZGh3-phAAEqxuU0cLo210.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M00/95/9D/wKiom1kXsZHhTZf-AADwAcbddd0717.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M00/95/9D/wKiom1kXsZKTnCrSAADPknNg-G4098.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M00/95/9D/wKioL1kXsZLyjF8YAADqG-Z2lZM946.jpg" target="_blank"></a>
④現在需要做的是,建立一個觸發動作,即系統出現故障時,觸發這個動作,然後給我們的郵箱發送報警郵件。點選配置,選擇動作,然後點選右邊的建立動作。
在動作這一頁名稱中寫入我們定義的動作名以及觸發條件。
<a href="https://s1.51cto.com/wyfs02/M00/95/9D/wKioL1kXsZOxKFwOAADO96mOs1U076.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M01/95/9D/wKiom1kXsZPhaWwgAADu_5cfgiU065.jpg" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M01/95/9D/wKioL1kXsZPz-jD-AADqqmMDNaA701.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/95/9D/wKiom1kXsZTSVWwSAAD8PdZ2TdU748.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M02/95/9D/wKioL1kXsZTB1eB1AAFHwzC8PlY516.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M00/95/9D/wKiom1kXsZXgDDIFAAIpWZlbcas645.jpg" target="_blank"></a>
說明:步驟是1-3,也即是從1開始到3結束。一旦故障發生,就是執行Email.sh腳本發生報警郵件給zabbix使用者。
假如故障持續了1個小時,它也隻發送3次,第1-3次(即前3次)郵箱發送給zabbix使用者,時間間隔為0秒。
如果改成1-0,0是表示不限制.無限發送
接着設定“恢複操作”:
<a href="https://s3.51cto.com/wyfs02/M00/95/9D/wKioL1kXsZXS6EMNAAD_HUB9QuU298.jpg" target="_blank"></a>
<a href="https://s2.51cto.com/wyfs02/M01/95/9D/wKiom1kXsZayXwK1AAGrCE4fqe0909.jpg" target="_blank"></a>
<a href="https://s3.51cto.com/wyfs02/M01/95/9D/wKiom1kXsZazvJGWAAD-G7kc6og593.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/95/9D/wKioL1kXsZeT-8gFAAD576qvNnw691.jpg" target="_blank"></a>
⑤報警測試
将192.168.1.9伺服器的zabbix_agent程序關閉,然後等待郵件。
<a href="https://s1.51cto.com/wyfs02/M02/95/9D/wKiom1kXsZfhD8HvAAEKIP1fS34521.jpg" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M02/95/9D/wKioL1kXsZiA6PLaAAC_785xZv4290.jpg" target="_blank"></a>
最後,點選”報表“->”動作日志“,可以看到觸發動作的次數(右邊還看檢視到郵件發送狀态“已發送”)。
本文轉自Mr大表哥 部落格,原文連結:http://blog.51cto.com/zpf666/1925427 如需轉載請自行聯系原作者