一.項目實驗拓撲圖(使用億圖專家繪圖);
二.項目實驗思路及重點內容(步驟及重難知
識點);
php
實施步驟:
步驟 說明
第一步 1.安裝 zabbix server 服務端;
第二步 2.配置 zabbix 服務的 web 頁面並作簡單優化;
第三步 3.實現監控 server.zabbix.com 端的 OS 以及 mysql、httpd;
第四步 4.安裝及配置 agent.zabbix.com 被監控端(FTP 服務器);
第五步 5.登陸 zabbix 的 web 界面,進行添加 agent 主機,驗證監控效果;
第六步 6.配置監控 Win2k8dc1 主機,驗證效果;
第七步 7.自定義監控項,建立項目、觸發器、圖形,驗證監控效果;
第八步 8.實現郵件報警;
第九步 9.安裝並配置 Grafana;
第十步 10.配置 Grafana 的 web 界面,呈現效果;
重點、難點:
重點一 1. Zabbix 簡介
Zabbix 是一個企業級的開源分佈式監控解決方案,由 C 語言編寫而成的底層架
構(server 端和 agent 端),由一個國外的團隊持續維護更新,軟件能夠自由下
載使用,運做團隊靠提供收費的技術支持贏利。
官方網站:http://www.zabbix.com
Zabbix 經過 C/S 模式採集數據,經過 B/S 模式在 web 端展現和配置。
被監控端:主機經過安裝 agent 方式採集數據,網絡設備經過 SNMP 方式採集
數據
Server 端:經過收集 SNMP 和 agent 發送的數據,寫入 MySQL 數據庫,再經過
php+apache 在 web 前端展現。html
1.安裝 zabbix server 服務端; [root@server ~]# ip a ##配置網絡,確保能夠上網 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:4f:c9:00 brd ff:ff:ff:ff:ff:ff inet 192.168.100.101/24 brd 192.168.100.255 scope global eth0 valid_lft forever preferred_lft forever [root@server ~]# vi /etc/hosts 192.168.100.101 server.zabbix.com 192.168.100.152 agent.zabbix.com 192.168.100.153 win2k8dc1 :wq [root@server ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo [root@server ~]# yum -y install net-snmp net-snmp-devel libxml2 libxml2-devel libcurl-devel libevent libevent libevent-devel curl curl-devel mysql-devel snmp perl-DBI php-xml php-bcmath php-mbstring php-ldap php-xmlrpc httpd php php-mysql php-common php-gd php-odbc php-pear gcc* net-snmp libssh2 libssh2-devel mariadb-server mariadb mariadb-devel ntpdate ##安裝 lamp 和依賴包,使用默認的 centos 7 中的默認 yun 源 [root@server ~]# ntpdate ntp1.aliyun.com 10 Sep 09:08:09 ntpdate[1225]: adjust time server 120.25.115.20 offset -0.000095 sec [root@server ~]# echo "ntpdate ntp1.aliyun.com" >>/etc/rc.local [root@server ~]# chmod +x /etc/rc.local [root@server ~]# systemctl start mariadb [root@server ~]# systemctl enable mariadb Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service. [root@server ~]# systemctl start httpd [root@server ~]# systemctl enable httpd Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. [root@server ~]# mysqladmin -u root password 123123 123123 [root@server ~]# wget -O zabbix-3.4.2.tar.gz http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.2/zabbix-3.4.2.tar.gz /download ##下載軟件包,上傳也可 [root@server ~]# tar zxvf zabbix-3.4.2.tar.gz [root@server ~]# cd zabbix-3.4.2 [root@server ~]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 [root@server ~]# make &&make install [root@server ~]# mysql -uroot -p123123 ##登錄數據庫建立保存監控模板的數據庫,並 導入數據模板,以及受權 zabbix 用戶鏈接數據庫; create database if not exists zabbix default character set utf8 collate utf8_general_ci; use zabbix; source /root/zabbix-3.4.2/database/mysql/schema.sql; source /root/zabbix-3.4.2/database/mysql/images.sql; source /root/zabbix-3.4.2/database/mysql/data.sql; grant all on zabbix.* to zabbix@'192.168.100.101' identified by 'zabbix'; flush privileges; show grants for zabbix@'192.168.100.101'; exit [root@server ~]# groupadd zabbix [root@server ~]# useradd -r -g zabbix zabbix [root@server ~]# mkdir /usr/local/zabbix/logs [root@server ~]# chown zabbix:zabbix /usr/local/zabbix/ -R [root@server ~]# vi /usr/local/zabbix/etc/zabbix_server.conf :%g/^#/d :%g/^$/d LogFile=/usr/local/zabbix/logs/zabbix_server.log PidFile=/tmp/zabbix_server.pid DBHost=192.168.100.101 DBName=zabbix DBUser=zabbix DBPassword=zabbix DBSocket=/var/lib/mysql/mysql.sock Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf :wq [root@server ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf :%g/^#/d :%g/^$/d PidFile=/tmp/zabbix_agentd.pid Server=127.0.0.1,192.168.100.101 ServerActive=192.168.100.101 Hostname=server.zabbix.com LogFile=/usr/local/zabbix/logs/zabbix_agentd.log Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf :wq 解釋: PidFile=/tmp/zabbix_agentd.pid ##運行的 PID 文件 Server=127.0.0.1,192.168.100.101 ##輸入 zabbix_server 主機的 ip 地址 ServerActive=192.168.100.101 ##輸入 agent 主機採集到數據發送到的 server 端 Hostname=server.zabbix.com ##輸入本機的主機名 LogFile=/usr/local/zabbix/logs/zabbix_agentd.log ##指定日誌文件 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf ##開啓附加配置文件目錄 [root@server ~]# /usr/local/zabbix/sbin/zabbix_server [root@server ~]# netstat -utpln |grep 10051 tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 29079/zabbix_server [root@server ~]# /usr/local/zabbix/sbin/zabbix_agentd [root@server ~]# netstat -utpln |grep 10050 tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 29148/zabbix_agentd [root@server ~]# mv /root/zabbix-3.4.2/frontends/php/ /var/www/html/zabbix [root@server ~]# chown -R apache:apache /var/www/html/zabbix/ [root@server ~]# vi /etc/php.ini 878 date.timezone = Asia/Shanghai 384 max_execution_time = 300 394 max_input_time = 300 672 post_max_size = 32M 405 memory_limit = 128M 854 extension=bcmath.so :wq 解釋: 878 date.timezone = Asia/Shanghai ##時區 384 max_execution_time = 300 ##單位秒,經過 POST、GET 以及 PUT 方式接 收數據時間進行限制 394 max_input_time = 300 ##php 程序上傳文件解析數據時的時間限制 672 post_max_size = 32M ##POST 方式請求數據所容許的最大大小 405 memory_limit = 128M ##設置 php 程序的內存限制 854 extension=bcmath.so ##加載 zabbix 程序須要加載的擴展模塊 bcmath.so [root@server ~]# systemctl restart httpd
訪問安裝 http://192.168.100.101/zabbix/,默認用戶名 admin 密碼 zabbix
前端
安裝完成,設置顯示字體爲中文;
解決 zabbix 顯示圖像下邊文字亂碼狀況:
上傳字符集文件到此目錄下;
java
4
node
勾選如下三個監控模板,點擊選擇按鈕;
在上個界面會顯示此主機的監控項,此主機的圖形,能夠自行跟據監控項進行建立圖形;
選擇監控項,點擊選擇;
查看監控主機的圖形;
可是意外出現了,關於 Mysql 數據庫的全部監控項沒有圖形,如圖所示;
通過查看,問題以下圖,監控 Mysql 服務器的鍵值不使用;
解決方案以下;
設置監控失效的鍵值,打開 zabbix_server 服務器,同時在此也是被監控端;mysql
[root@server ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf PidFile=/tmp/zabbix_agentd.pid Server=127.0.0.1,192.168.100.101 ServerActive=192.168.100.101 Hostname=server.zabbix.com LogFile=/usr/local/zabbix/logs/zabbix_agentd.log Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf UnsafeUserParameters=1 UserParameter=mysql.version,mysql -V UserParameter=mysql.status[*],/usr/local/zabbix/etc/chk_mysql.sh $1 UserParameter=mysql.ping,mysqladmin -uroot -p123123 -P3306 -h192.168.100.101 ping | grep -c alive :wq 內容解釋: Server=192.168.100.151,127.0.0.1 //指定 zabbix 服務器的地址 ServerActive=192.168.100.101 //指定 agent 採集到數據以後發送給 server 端 Hostname=server.zabbix.com //指定 agent 端的主機名、server 端必須須要解析,注意: 在 web 界面添加被監控主機時,必須寫此主機名; UnsafeUserParameters=1 //容許全部字符的參數傳遞給用戶定義的參數。 UserParameter=mysql.version,mysql -V //定義鍵值 mysql.version,以及鍵值的值 mysql -V UserParameter=mysql.status[*],/usr/local/zabbix/etc/chk_mysql.sh $1 // 定 義 鍵 值 mysql.status[*] UserParameter=mysql.ping,mysqladmin -uroot -p123123 -P3306 -h192.168.100.101 ping | grep -c alive ///定義鍵值 mysql.ping,指定 chk_mysql.sh 腳本,使用此腳本檢查 mysql 的運 行狀態,使用 mysqladmin 命令指定 agent 端的數據庫鏈接用戶密碼 ip 地址,注意保證 mysqladmin 命令的連接; [root@server ~]# vi /usr/local/zabbix/etc/chk_mysql.sh ##編寫檢查 mysql 狀態的腳本, 在腳本中指定 agent 端的 mysql 的 ip 地址,鏈接的用戶名密碼等 #!/bin/bash #------------------------------------------------------------------------------- #FileName: check_mysql.sh #Revision: 1.0 #Date: 2015/06/09 #Author: DengYun #Email: dengyun@ttlsa.com #Website: www.ttlsa.com #Description: #Notes: ~ #------------------------------------------------------------------------------- #Copyright: 2015 (c) DengYun #License: GPL #用戶名 MYSQL_USER='root' #密碼 MYSQL_PWD='123123' #主機地址/IP MYSQL_HOST='192.168.100.101' #端口 MYSQL_PORT='3306' #數據鏈接 MYSQL_CONN="/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}" #參數是否正確 if [ $# -ne "1" ];then echo "arg error!" fi #獲取數據 case $1 in Uptime) result=`${MYSQL_CONN} status|cut -f2 -d":"|cut -f1 -d"T"` echo $result ;; Com_update) result=`${MYSQL_CONN} extended-status |grep -w "Com_update"|cut -d"|" -f3` echo $result ;; Slow_queries) result=`${MYSQL_CONN} status |cut -f5 -d":"|cut -f1 -d"O"` echo $result ;; Com_select) result=`${MYSQL_CONN} extended-status |grep -w "Com_select"|cut -d"|" -f3` echo $result ;; Com_rollback) result=`${MYSQL_CONN} extended-status |grep -w "Com_rollback"|cut -d"|" -f3` echo $result ;; Questions) result=`${MYSQL_CONN} status|cut -f4 -d":"|cut -f1 -d"S"` echo $result ;; Com_insert) result=`${MYSQL_CONN} extended-status |grep -w "Com_insert"|cut -d"|" -f3` echo $result ;; Com_delete) result=`${MYSQL_CONN} extended-status |grep -w "Com_delete"|cut -d"|" -f3` echo $result ;; Com_commit) result=`${MYSQL_CONN} extended-status |grep -w "Com_commit"|cut -d"|" -f3` echo $result ;; Bytes_sent) result=`${MYSQL_CONN} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3` echo $result ;; Bytes_received) result=`${MYSQL_CONN} extended-status |grep -w "Bytes_received" |cut -d"|" -f3` echo $result ;; Com_begin) result=`${MYSQL_CONN} extended-status |grep -w "Com_begin"|cut -d"|" -f3` echo $result ;; *) echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_inser t|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)" ;; esac :wq [root@server ~]# chmod 777 /usr/local/zabbix/etc/chk_mysql.sh [root@server ~]# mysql -uroot -p123123 grant all on *.* to 'root'@'192.168.100.101' identified by '123123'; flush privileges; show grants for root@'192.168.100.101'; exit [root@server ~]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/ //爲 zabbix 的命令作軟鏈 接,檢測 mysql 狀態時會使用 zabbix_get 命令 [root@server ~]# yum -y install psmisc [root@server ~]# killall -9 zabbix_server [root@server ~]# killall -9 zabbix_agentd [root@server ~]# /usr/local/zabbix/sbin/zabbix_server [root@server ~]# /usr/local/zabbix/sbin/zabbix_agentd [root@server ~]# netstat -utpln |grep 100 tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 29800/zabbix_agentd tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 29733/zabbix_server [root@server ~]# vi /etc/my.cnf ##禁止反向解析 [mysqld] skip-name-resolve [root@server ~]# systemctl restart mariadb [root@server ~]# zabbix_get -s 192.168.100.101 -k mysql.ping ##在此能夠經過 zabbix_get 命令進行獲取服務器監控項的具體鍵值,mysql.ping 是在 zabbix_agentd.conf 配置文件中的鍵 值名稱,經過此名稱能夠查看鍵值,一般可以獲取到鍵值,獲取監控數據就是沒問題的; 1 [root@server ~]# zabbix_get -s 192.168.100.101 -k mysql.status[Com_update] 143 [root@server ~]# zabbix_get -s 192.168.100.101 -k mysql.version mysql Ver 15.1 Distrib 5.5.56-MariaDB, for Linux (x86_64) using readline 5.1
再次打開 zabbix 的 web 界面,驗證 mysql 服務器的監控界面;
按照如上方法將 server.linuxfan.cn 的 httpd 服務的狀態添加到 zabbix 的圖形中;linux
首先安裝 zabbix_agentd 端的測試服務(ftp)而且確保網絡通訊; [root@agent ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:a0:76:46 brd ff:ff:ff:ff:ff:ff inet 192.168.100.152/24 brd 192.168.100.255 scope global eth0 inet6 fe80::20c:29ff:fea0:7646/64 scope link valid_lft forever preferred_lft forever [root@agent ~]# vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=agent.zabbix.com :wq [root@agent ~]# vi /etc/hosts 192.168.100.101 server.zabbix.com 192.168.100.152 agent.zabbix.com 192.168.100.153 win2k8dc1 :wq [root@agent ~]# reboot [root@agent ~]# ping server.zabbix.com -c 4 [root@agent ~]# yum -y install vsftpd [root@agent ~]# /etc/init.d/vsftpd start 其次開始配置 agent.zabbix.com 被監控端主機的 zabbix 的 agent 代理端; [root@agent ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo [root@agent ~]# yum -y install libxml2-devel libcurl-devel pcre-devel ntpdate [root@agent ~]# ntpdate ntp1.aliyun.com [root@agent ~]# wget -O zabbix-3.4.2.tar.gz http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.2/zabbix-3.4.2.tar.gz /download [root@agent ~]# tar zxvf zabbix-3.4.2.tar.gz [root@agent ~]# cd zabbix-3.4.2 [root@agent zabbix-3.4.2]# ./configure --prefix=/usr/local/zabbix --enable-agent --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 [root@agent zabbix-3.4.2]# make &&make install [root@agent zabbix-3.4.2]# cp misc/init.d/tru64/zabbix_agentd /etc/init.d/ [root@agent zabbix-3.4.2]# vi /etc/init.d/zabbix_agentd 24 DAEMON=/usr/local/zabbix/sbin/zabbix_agentd :wq [root@agent zabbix-3.4.2]# chmod +x /etc/init.d/zabbix_agentd [root@agent zabbix-3.4.2]# cd [root@agent ~]# groupadd zabbix [root@agent ~]# useradd -r -g zabbix zabbix [root@agent ~]# chown -R zabbix:zabbix /usr/local/zabbix/ [root@agent ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf :%g/^$/d :%g/^#/d LogFile=/tmp/zabbix_agentd.log Server=192.168.100.101 ServerActive=192.168.100.101 Hostname=agent.zabbix.com :wq [root@agent ~]# /etc/init.d/zabbix_agentd start Zabbix agent started. [root@agent ~]# netstat -utpln |grep zabbix tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 12481/zabbix_agentd tcp 0 0 :::10050 :::* LISTEN 12481/zabbix_agentd
控效果;
添加 agent.zabbix.com 主機完成,默認的圖形以後五個,無 ftp 服務圖形,接下來手動添加
ftp 服務圖形顯示;
web
首先配置 windows2008 主機的網絡;
其次用宿主機訪問 zabbix 官網下載監控 windows2008 的插件;
下載完成,將下載後的插件複製到測試主機 win2k8dc1 中,進行配置;
C:\zabbix\bin\win64\zabbix_agentd.exe -c C:\zabbix\conf\zabbix_agentd.win.conf -i ##安裝
C:\zabbix\bin\win64\zabbix_agentd.exe -c C:\zabbix\conf\zabbix_agentd.win.conf -s ##啓動
C:\zabbix\bin\win64\zabbix_agentd.exe -c C:\zabbix\conf\zabbix_agentd.win.conf -d ##刪除
windows 主機配置完成,下邊在 web 界面,添加主機 win2k8dc1;
添加完成,默認圖形爲 2 個,能夠手動添加,在此不作過多說明,驗證當前圖形以下;
sql
以上關聯的 Template OS Linux 模板基本涵蓋了全部系統層面的監控,包括了咱們最關注的
幾項:ping、load、cpu 使用率、memory、disk、網卡流量等等,固然有些觸發器的閥值可
能須要根據服務器的自身狀況進行修改。
下面添加自定義服務器內存使用檢測項,在此配置一個監控項爲:內存使用 70M 進行警告
提醒:
1.修改客戶端 zabbix_agentd.conf 配置文件,最後一行添加:
UserParameter=memory_userd,free -m|grep Mem|awk '{print $3}'
語法:UserParameter=key,shell command
監控 key 值:memory_userd,key 值能夠隨意編寫,可是一會須要在 web 頁面建立監控項時
指定 key 值;
Shell 命令或腳本:free -m|grep Mem|awk '{print $3}'
注:在 zabbix_server 端可使用 zabbix_get -s agent 端 ip 地址 -p 10050 -k key 名
經過此命令能夠查看 agent 端 key 的監控值;
具體實現方式以下,更改 agent.zabbix.com 主機的配置文件來自定義監控項;
[root@agent ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf
UserParameter=memory_userd,free -m|grep Mem|awk '{print $3}'
:wq
[root@agent ~]# /etc/init.d/zabbix_agentd restart
使用 server.agent.com 主機查看其監控項鍵值;
[root@server ~]# zabbix_get -s 192.168.100.152 -k memory_userd
338
使用 web 界面添加此監控項;
監控項添加完成後,建立觸發器(根據條件進行觸發某個告警操做);
觸發器建立完成後,建立監控顯示的圖形;
打開首頁,很明顯的提示;shell
首先配置 server.zabbix.com 端的郵件;
[root@server ~]# yum -y install postfix mailx dos2unix
[root@server ~]# mailx -V
[root@server ~]# vi /etc/mail.rc //在此文件末尾添加,指定接收郵件郵箱地址,指定郵
箱服務器地址,指定接收郵件郵箱地址的受權碼,並不是 163 郵箱的密碼,而是受權碼,登錄
163 網易郵箱地址後,--設置--開啓 smtp 和 pop3--點擊客戶端生成受權碼--使用此受權碼進
行指定到此配置文件;
set from=li__wenhu@163.com smtp=smtp.163.com set smtp-auth-user=li__wenhu@163.com smtp-auth-password=... set smtp-auth=login :wq [root@server ~]# echo "測試內容" |mail -s "測試標題" li__wenhu@163.com // 測 試 郵 件 接收狀況 [root@server ~]# vi /usr/local/zabbix/etc/zabbix_server.conf //打開 server 端主配置文 件的腳本存放位置 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts :wq [root@server ~]# vi /usr/local/zabbix/share/zabbix/alertscripts/2.sh //編寫報警郵件 腳本,調整 mail 命令語法位置,使用 dos2unix 命令轉換字符,避免收到郵件不顯示正常郵 件內容而出現 ATT00001.bin 的錯誤; #!/bin/bash #export.UTF-8 bt=$2 sjr=$1 FILE=/tmp/mailtmp.txt echo "$3" >$FILE /usr/bin/dos2unix -k $FILE /bin/mail -s "$bt" "$sjr" <$FILE :wq [root@server ~]# chmod 777 /usr/local/zabbix/share/zabbix/alertscripts/2.sh [root@server ~]# chown zabbix:zabbix /usr/local/zabbix/share/zabbix/alertscripts/2.sh [root@server ~]# touch /tmp/mailtmp.txt [root@server ~]# chmod 777 /tmp/mailtmp.txt [root@server ~]# chown zabbix:zabbix /tmp/mailtmp.txt //注意文件以及報警腳本
的歸屬以及權限,注:腳本文件和存放郵件消息文件歸屬必須是 zabbix;
[root@server ~]# /usr/local/zabbix/share/zabbix/alertscripts/2.sh li__wenhu@163.com "測試標
題 2" "測試內容 2" //測試腳本郵件接收狀況
dos2unix: converting file /tmp/mailtmp.txt to Unix format ...
配置 zabbix web 網站進行監控項的郵件報警,每一張圖片後附帶解釋和注意事項,大致
步驟分爲 監控--建立報警媒介類型--更新用戶使用的報警媒介類型--建立動做(根據觸發器
觸發)--驗證;
建立報警媒介類型:
輸入建立的報警媒介類型的名稱,指定類型爲腳本的方式,而且輸入 zabbix_server 端
/usr/local/zabbix/share/zabbix/alertscripts 目錄下的腳本名稱,確保腳本的歸屬是 zabbix,
而且腳本的權限是 777,下邊設置腳本參數,也就是發送郵件的語法:腳本 收件人 標題 內
容,必須嚴格按照此標準填寫;
建立報警媒介類型成功後,進行確認;
配置 zabbix 中的用戶所使用的報警媒介類型以及接收郵件的郵箱;
選擇報警媒介類型爲剛剛建立的類型,而且輸入接收郵件的地址,指定報警時間和報警級
別;
建立動做,也就是發送郵件的動做;
輸入動做名,動做名最好爲英文,能夠選擇觸發這個動做的條件(能夠選擇觸發器=觸發器
的名稱或者選擇觸發器似觸發器名稱),做爲條件,如若如圖不選擇觸發器的條件,那麼任
何消息都會提示到郵箱;
添加報警動做,一旦此觸發器添加觸發,添加報警郵件的標題和內容,默認操做步驟持續
時間(修改持續時間爲 60 秒 (一分鐘發送一次郵件)),添加操做(添加接收郵件的用戶);
默認接收人內容:故障{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}
添加操做(添加接收郵件的用戶),步驟(指定郵件發送的次數),僅送到(選擇建立的媒
介類型);
添加恢復操做(指故障恢復以後發送郵件的動做),具體步驟和添加操做相同;
確認動做建立的完成;
開始測試郵件報警
測試一:首先關閉 agent.zabbix.com 主機的 ftp 服務,測試郵件報警狀況;
[root@agent ~]# /etc/init.d/vsftpd stop
關閉 vsftpd: [肯定]
測試二:關閉 win2k8 主機,測試郵件報警狀況;
[root@server ~]# wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.1-1.x86_64.rpm [root@server ~]# yum -y localinstall grafana-4.6.1-1.x86_64.rpm [root@server ~]# grafana-cli plugins install alexanderzobnin-zabbix-app ##安裝 zabbix 插 件 [root@server ~]# mkdir -p /opt/grafana/data/plugins/ [root@server ~]# cp -r /var/lib/grafana/plugins/alexanderzobnin-zabbix-app/ /opt/grafana/data/plugins/ [root@server ~]# ls /opt/grafana/data/plugins/ alexanderzobnin-zabbix-app [root@server ~]# chmod 777 /opt/grafana/data/plugins/ -R [root@server ~]# systemctl start grafana-server [root@server ~]# netstat -utpln |grep gra Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 57103/grafana-serve
訪問測試 http://192.168.100.101:3000,默認用戶名 admin,密碼 admin,在此是谷歌瀏覽器
翻譯事後的界面,你們能夠自行下載谷歌瀏覽器,下載翻譯插件,在此不作過多介紹;
安裝 grafana;
啓用插件;
添加數據源;
建立儀表盤;
建立儀表盤時指定顯示的圖形;
輸入圖形名稱;
選擇數據源和圖中須要顯示的主機和主機的監控項;
建立完成,保存此儀表盤,輸入儀表盤的名稱;
驗證建立的儀表盤;
在現有的 dashboard 中添加圖形;
驗證最終的儀表盤顯示圖形;
難點、重點解說,擴展學習)1.錯誤及解決方案:錯誤一:監控 Mysql 數據庫時,沒有圖形;錯誤及解決方案:P/13-18錯誤二:配置報警郵件時,郵箱收到的郵件爲 ATT00001.bin 的內容;錯誤及解決方案:P/38郵箱收到郵件出現 ATT00001.bin 的內容:緣由:zabbix 沒法將內容轉義成中英文,須要藉助 dos2unix工具進行轉換