溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

zabbix監(jiān)控及郵件報警

發(fā)布時間:2020-07-08 03:33:57 來源:網(wǎng)絡(luò) 閱讀:433 作者:mb5cd21e691f31a 欄目:云計算

一.zabbix 客戶端的安裝
既然要監(jiān)控我們就要添加要監(jiān)控的主機,在添加主機之前我們首先要在被檢測主機上面安裝
agent,安裝 agent 比較簡單,我們也是按照安裝 server 的流程,下載軟件包,在編譯的時
候,我們只選擇 agent
192.168.1.20 作為 zabbix 的被監(jiān)控端,提供 web 和 mysql 應(yīng)用
1.安裝 Zabbix,配置 Zabbix agent:
zabbix監(jiān)控及郵件報警

  21  rz   (上傳zabbix-3.2.1.tar.gz)
   22  ls
   23  tar zxf zabbix-3.2.1.tar.gz   (解壓)
   24  cd zabbix-3.2.1/
   25   ./configure --prefix=/usr/local/zabbix --enable-agent && make && make install         (編譯安裝)
 2.優(yōu)化一下zabbix 
23  cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/  (拷貝啟動文件)
   24  vim /etc/init.d/zabbix_agentd       (修改啟動文件)
BASEDIR=/usr/local/Zabbix  #22
 PIDFILE=/usr/local/zabbix/logs/$BINARY_NAME.pid  #31

   25  cd /usr/local/zabbix/etc/
   26  vim zabbix_agentd.conf             (修改zabbix配置文件)
   28  grep -v "^#" /usr/local/zabbix/etc/zabbix_agentd.conf | grep -v "^$" 
PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid  #11
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log #30
Server=192.168.1.10  #91 服務(wù)端IP
ListenPort=10050 #99去注釋
ListenIP=0.0.0.0 #去注釋
ServerActive=192.168.1.10 #132 服務(wù)端IP
Hostname=192.168.1.30  #IP隨便
Timeout=3 #去注釋
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ #262

zabbix監(jiān)控及郵件報警

   29  mkdir /usr/local/zabbix/logs   (創(chuàng)建所需目錄)
   30  useradd  zabbix -s /sbin/nologin -M     (創(chuàng)建所需用戶)
   33  chown  -R  zabbix:zabbix /usr/local/zabbix/  (讓用戶可執(zhí)行/usr/local/zabbix)
   34  ll /usr/local/zabbix/    (查看一下/usr/local/zabbix的屬組和屬主)

zabbix監(jiān)控及郵件報警
3.開機自啟

36  chkconfig --add zabbix_agentd    (添加啟動)
   37   chkconfig zabbix_agentd on         (開啟自啟)
   38   /etc/init.d/zabbix_agentd start     (開啟zabbix)
   40  netstat  -anpt | grep 10050          (查看端口)

zabbix監(jiān)控及郵件報警
到此, zabbix3.2.1 監(jiān)控系統(tǒng)的基本環(huán)境安裝完成。
4.實現(xiàn) zabbix 添加監(jiān)測項
添加對 Linux 主機的監(jiān)控
在瀏覽器中打開: http://192.168.31.225/zabbix
登錄 zabbix,先在“配置”-“主機”里添加主機監(jiān)控,監(jiān)控 os 資源:內(nèi)存, cpu, io,負(fù)載,帶寬等.登錄 zabbix,先在“配置”-“主機”里單擊”創(chuàng)建主機”
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警
注意:下圖中的“主機名稱”要和 zabbix_agentd.conf 文件中設(shè)置的“Hostname”后面的名稱一
致!
主機名稱: 192.168.1.30
群組: Linux servers
agent 代理程序接口
ip: 192.168.1.10
已啟用: 勾選
其它選項默認(rèn)即可
切換到模板
zabbix監(jiān)控及郵件報警
選擇
選擇: Template OS Linux
點添加
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警
添加
zabbix監(jiān)控及郵件報警
至此, Zabbix 監(jiān)控 Linux 主機設(shè)置完成。
zabbix監(jiān)控及郵件報警
配置過一段時間后,觀察下監(jiān)控圖效果出來了沒
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警
zabbix3.0 server 已自帶 mysql 的模板了,只需配置好 agent 客戶端,然后在 web 端給主機增加模板就行了。

二.Zabbix_agent 客戶端操作
使用腳本安裝MySQL

   43  rz  上傳mysql安裝包和腳本
   44  sh mysql.sh 
   45  history 
   46  netstat  -anpt | grep 3306  查看IP

zabbix監(jiān)控及郵件報警
Mysql.sh腳本內(nèi)容

#!/bin/bash
tar -zxf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
#將二進(jìn)制包移動到/usr/local/mysql
mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql
#創(chuàng)建data目錄
mkdir /usr/local/mysql/data
#創(chuàng)建用戶和組并賦予文件夾權(quán)限
groupadd -r mysql
useradd -r -g mysql -M -s /bin/false mysql
chown -R mysql:mysql /usr/local/mysql
#刪除centos7中自帶的mariadb-libs
rpm -e mariadb-libs --nodeps
#設(shè)置my.cnf配置文件
cat> /etc/my.cnf <<EOF
[client]
socket=/usr/local/mysql/mysql.sock
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
pid-file=/usr/local/mysql/data/mysql.pid
socket=/usr/local/mysql/mysql.sock
log-error=/usr/local/mysql/data/mysql.err
EOF
#做服務(wù)的軟鏈接
ln -s /usr/local/mysql/bin/* /usr/local/bin/
#mysql初始化
mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
#服務(wù)自啟動
mv /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#啟動mysql并修改密碼為123
/etc/init.d/mysqld start
mysqlpwd=` grep password /usr/local/mysql/data/mysql.err |awk -F 'root@localhost: ' '{print $2}'`
mysql -uroot -p${mysqlpwd} -e 'alter user root@localhost identified by"123"' --connect-expired-password

(1)在 zabbix_agent 服務(wù)目錄下創(chuàng)建.my.cnf 連接文件
zabbix 安裝目錄是/usr/local/zabbix

   56  cd /usr/local/zabbix/etc/
   57  vim .my.cnf
[client]
host=192.168.1.20   #自己客戶端IP
socket= /usr/local/mysql/mysql.sock
user=test
password=123.com

(2)配置 MySQL 的 key 文件

   48  cd zabbix-3.2.1/conf/zabbix_agentd/
   49  ls
   50  ls /usr/local/zabbix/etc/
   51  cp userparameter_mysql.conf  /usr/local/zabbix/etc/zabbix_agentd.conf.d/  (復(fù)制配置文件)
   52  cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
   53  ls

zabbix監(jiān)控及郵件報警
然后查看 userparameter_mysql.conf 文件,看到類似 HOME=/var/lib/zabbix 的路徑設(shè)置,把路
徑全都替換為 /usr/local/zabbix/etc/,也就是上面的.my.cnf 文件所在的目錄路徑。
另外,注意 userparameter_mysql.conf 文件里的 mysql 命令路徑(提前做好 mysql 的系統(tǒng)環(huán)
境變量,以防 mysql 命令不被系統(tǒng)識別)
如下:vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

60vim/usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
OME=/usr/local/zabbix/etc mysql -N | awk '{print $$2}' #6
HOME=/usr/local/zabbix/etc mysql -N' #15
UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc mysqladmin ping | grep -c alive #17

61 /etc/init.d/zabbix_agentd restart (重啟)
服務(wù)端驗證 zabbix_get -s 192.168.1.20 -p 10050 -k mysql.status[Uptime]
zabbix監(jiān)控及郵件報警
客戶端修改

68 vim  /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

OME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql -N | awk '{print $$2}'  #6
HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysql -N' #15
UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc /usr/local/mysql/bin/mysqladmin ping | grep -c alive  #17

UserParameter=mysql.version,/usr/local/mysql/bin/mysql -V  #18

 55    /etc/init.d/zabbix_agentd restart   (重啟)

服務(wù)端驗證 zabbix_get -s 192.168.1.20 -p 10050 -k mysql.status[Uptime]
zabbix監(jiān)控及郵件報警

(3)mysql查看內(nèi)容

58 mysql -u root -p123
grant all on *.* to test@'192.168.1.%' identified by '123.com';
show global status ;
show global status where Variable_name='Uptime';

zabbix監(jiān)控及郵件報警

zabbix監(jiān)控及郵件報警

(4)登錄 zabbix 監(jiān)控界面,在“配置”-“模板”里可以看到自帶的 mysql 監(jiān)控模板
zabbix監(jiān)控及郵件報警
在相應(yīng)主機監(jiān)控配置里添加 mysql 的監(jiān)控模版(zabbix 自帶的)即可。
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警

【1】 監(jiān)控 mysql 的帶寬:在 zabbix 前端可以實時查看 mysql 發(fā)送接收的字節(jié)數(shù)。其中 bytes
received 表示從所有客戶端接收到的字節(jié)數(shù), bytes sent 表示發(fā)送給所有客戶端的字節(jié)數(shù)。
zabbix監(jiān)控及郵件報警
【2】監(jiān)控 mysql 的操作狀態(tài):在 zabbix 前端可以實時查看各種 SQL 語句每秒鐘的操作次數(shù)
zabbix監(jiān)控及郵件報警

三.zabbix3.2.1 郵件報警設(shè)置:(服務(wù)器配置)
Zabbix 監(jiān)控服務(wù)端、客戶端都已經(jīng)部署完成,被監(jiān)控主機已經(jīng)添加, Zabiix 監(jiān)控運行正常。
在 Zabbix 服務(wù)端設(shè)置郵件報警,當(dāng)被監(jiān)控主機宕機或者達(dá)到觸發(fā)器預(yù)設(shè)值時,會自動發(fā)送
報警郵件到指定郵箱。
具體操作:
以下操作在 Zabbix 監(jiān)控服務(wù)端進(jìn)行
下載 sendemail 軟件
然后安裝那兩個依賴包,命令是:
zabbix監(jiān)控及郵件報警

  244  yum install perl-Net-SSLeay perl-IO-Socket-SSL -y
  245  rz    (上傳sendEmail-v1.56.tar.gz)
  246  ls
  247  tar zxf sendEmail-v1.56.tar.gz 
  248  cd sendEmail-v1.56/
  249  cp sendEmail /usr/local/bin/sendEmail  (復(fù)制命令目錄)
  250  chown zabbix:zabbix /usr/local/bin/sendEmail (給zabbix執(zhí)行權(quán)限)

1.
(1).登上qq瀏覽器操作一下
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警
(2).服務(wù)端執(zhí)行:可以看到他報錯了
sendEmail -f 123456@qq.com -t 123456@qq.com -s smtp.qq.com -u "hello" -o message-content-type=html -o message-charset=utf8 -xu 123456@qq.com -xp twjlhxzhsykjddcb -m "123"
zabbix監(jiān)控及郵件報警
解決vim /usr/local/bin/sendEmail
if (! IO::Socket::SSL->start_SSL($SERVER)) { #1906修改
zabbix監(jiān)控及郵件報警
繼續(xù)執(zhí)行
sendEmail -f 123456@qq.com -t 123456om -s smtp.qq.com -u "hello" -o message-content-type=html -o message-charset=utf8 -xu 123456@qq.com -xp twjlhxzhsykjddcb -m "123"
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警
現(xiàn)在已經(jīng)發(fā)送郵件成功

(3)創(chuàng)建mail.sh郵件腳本

     55  cd
     56  vim  mail.sh   (創(chuàng)建郵件腳本)
#!/bin/bash
to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail -o tls=auto -f 123456@qq.com -t "$to" -s smtp.qq.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu 123546@qq.com  -xp  twjlhxzhsykjddcb   -m "$body"

執(zhí)行腳本測試發(fā)郵件
57 sh mail.sh223456@qq.com test 123 (執(zhí)行腳本發(fā)送郵件)
zabbix監(jiān)控及郵件報警
發(fā)送成功
(4)把腳本移動到進(jìn)入/usr/local/zabbix/share/zabbix/alertscripts/

mv mail.sh /usr/local/zabbix/share/zabbix/alertscripts/
chown +x mail.sh

  1. zabbix web 端配置
    上面的郵件腳本配置好后,就要在 web 端添加報警媒介,在 web 頁面的管理,報警媒介類型頁面,點擊右邊的創(chuàng)建媒體類型
    zabbix監(jiān)控及郵件報警
    進(jìn)入創(chuàng)建頁面,然后輸入名稱“郵件報警腳本”,類型選擇腳本,名稱選擇 mail.sh,點擊添加按鈕,添加三個腳本參數(shù),分別是{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESSAGE},分別對于 mail.sh 中的 to、 subject 和 body。添加完成后點下面的添加按鈕,我們的報警媒介就創(chuàng)建完成了
    zabbix監(jiān)控及郵件報警
    zabbix監(jiān)控及郵件報警
    創(chuàng)建好報警媒介后,就需要將報警媒介關(guān)聯(lián)到我們的用戶。點擊管理,用戶,然后選擇我們的用戶 admin 也可新建一個用戶,點擊用戶名就進(jìn)入到用戶配置界面。點擊報警媒介,然后點添加,選擇我們上一步創(chuàng)建的郵件報警腳本,輸入收件人,選擇報警時間和類型,然后點擊添加,就將創(chuàng)建好的報警媒介關(guān)聯(lián)到我們的用戶上面了。
    zabbix監(jiān)控及郵件報警
    zabbix監(jiān)控及郵件報警
    zabbix監(jiān)控及郵件報警

現(xiàn)在需要做的是,創(chuàng)建一個觸發(fā)動作,即系統(tǒng)出現(xiàn)故障時,觸發(fā)這個動作,然后給我們的郵箱發(fā)送報警郵件。點擊配置,選擇動作,然后點擊右邊的創(chuàng)建動作。
在動作這一頁名稱中寫入我們定義的動作名以及觸發(fā)條件
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警

配置觸發(fā)器
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警
報警測試
將 192.168.1.20 服務(wù)器的 zabbix_agent 進(jìn)程關(guān)閉。
發(fā)現(xiàn)可以正常收到故障報警郵件

/etc/init.d/zabbix_agentd stop
zabbix監(jiān)控及郵件報警
可以看到已經(jīng)成功發(fā)送
zabbix監(jiān)控及郵件報警
zabbix監(jiān)控及郵件報警
qq郵箱收到報錯信息

zabbix監(jiān)控及郵件報警

整個實驗完畢

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI