19.12カスタム監視項目の追加メールアラートテストアラートの構成

5744 ワード

9月12日タスク


19.12カスタム監視項目を追加19.13/19.14メールアラームを構成19.15アラームをテスト19.16メールを送信しない問題処理
19.12カスタム監視項目の追加
需要:あるwebの80ポートの接続数を監視し、図を出す
2つのステップ:1)zabbixモニタリングセンターはモニタリングプロジェクトを作成します.
2)当該監視項目に対して図形で表示する
クライアント127の機器構成:
1.クライアント(127)はestabを記述する.shスクリプト:
[root@localhost ~]# vim /usr/local/sbin/estab.sh
#!/bin/bash
## 80 
netstat -ant |grep ':80 ' |grep -c ESTABLISHED

2.estabを設定.shスクリプト権限は755です.
[root@localhost ~]#  chmod 755 /usr/local/sbin/estab.sh

3.クライアント(127)がプロファイルを編集する
コンテンツを追加(=1はカスタムスクリプトを使用することを示します):
vim /etc/zabbix/zabbix_agentd.conf

次の2行を追加
UnsafeUserParameters=1
UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh
4.zabbix-agentサービスを再起動する:
[root@localhost ~]#  systemctl restart zabbix-agent

サービス側149マシンテスト:
1.リモートからクライアントipへ、コマンドを実行(80ポート接続数を取得):
[root@aminglinux-128 ~]# zabbix_get -s 192.168.193.127 -p 10050 -k 'my.estab.count'
0

2.getenforceファイアウォールを一時的に閉じる:
[root@aminglinux-128 ~]# setenforce 0
setenforce: SELinux is disabled

firewalldファイアウォールを閉じます.ファイアウォールのルールがあるかどうかを確認します.
[root@aminglinux-128 ~]# setenforce 0
setenforce: SELinux is disabled
[root@aminglinux-128 ~]#  systemctl stop firewalld
[root@aminglinux-128 ~]# iptables -nvL
Chain INPUT (policy ACCEPT 127K packets, 28M bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53
    0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ACCEPT     tcp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:67

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24     ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  virbr0 *       192.168.122.0/24     0.0.0.0/0           
    0     0 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT 124K packets, 29M bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     udp  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            udp dpt:68

3.遊覧機はip/zabbixにアクセスし、監視項目を作成する:
上の例は
名前——キー値——追加
4.グラフィックを作成するには:
名前——追加——同時接続数——選択——追加
5.トリガーの作成:
名称——重大度——追加——モニタ項目-選択——機能——N——挿入——追加
19.13メールアラームの設定(上)
1.163網易メールボックスにログインし、設定——クライアント認証パスワード:
POP 3、IMAP、SMTPサービスをオープンして許可コードを記録する
2.メディアタイプの作成:
名前——タイプ——スクリプト名(mail.py)——スクリプトパラメータ:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
3.図中のAlertScriptsPath=ディレクトリ、mail.pyスクリプトはこのディレクトリに作成されます.
vim /etc/zabbix/zabbix_server.conf

4.mailを作成します.pyスクリプト:
#####スクリプト使用説明########
#1.まず、スクリプトのメールアドレスとパスワードを定義します
#2.スクリプト実行コマンドはpython mail.pyターゲットメールボックス「メールテーマ」「メール内容」
コンテンツ参照https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/mail.py
コンテンツの追加:
#!/usr/bin/env python
#-*- coding: UTF-8 -*-
import os,sys
import getopt
import smtplib
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from subprocess import *
def sendqqmail(username,password,mailfrom,mailto,subject,content):
gserver = 'smtp.163.com'
gport = 25
try:
msg = MIMEText(unicode(content).encode('utf-8'))
msg['from'] = mailfrom
msg['to'] = mailto
msg['Reply-To'] = mailfrom
msg['Subject'] = subject
smtp = smtplib.SMTP(gserver, gport)
smtp.set_debuglevel(0)
smtp.ehlo()
smtp.login(username,password)
smtp.sendmail(mailfrom, mailto, msg.as_string())
smtp.close()
except Exception,err:
print "Send mail failed. Error: %s" % err
def main():
to=sys.argv[1]
subject=sys.argv[2]
content=sys.argv[3]
## , ( )
sendqqmail('[email protected]','mima','[email protected]',to,subject,content)
if __name__ == "__main__":
main()

5.mailを設定する.pyスクリプト権限は755です.
[root@aminglinux-128 ~]# chmod 755 /usr/lib/zabbix/alertscripts/mail.py

6.テストは指定メールボックスに1通のメールを送ります.
python mail.py [email protected] "biaoti" "neirong"

19.14メールアラームの設定(下)
1.ユーザーの作成:
図のようにユーザーパラメータを定義します.
haoユーザーの対応するユーザーグループに入り、ユーザーグループの権限を読み書きに変更!!!
アラームメディア(受信メールアドレス)を定義します.
確定149ユーザー-権限は読み書きです!!!
2.アクションの作成:
アクションの設定:
デフォルト:
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE} {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
リカバリ操作を設定するには、次の手順に従います.
デフォルト:
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE} {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
1.トリガーの作成:
トリガパラメータをエラーパラメータに設定し、メールボックスのアラーム効果を達成します!!!
転載先:https://blog.51cto.com/13107353/2176061