19.12-19.16


19.12カスタム監視項目の追加
需要:あるwebの80ポートの接続数を監視し、図を出す
2つのステップ:1)zabbixモニタリングセンターはモニタリングプロジェクトを作成します.2)当該監視項目に対して図形で表示する
1クライアント定義スクリプトが必要
[root@centos7-02 sbin]#vim/usr/local/sbin/estab.sh 
    
#!/bin/bash
##  80       
netstat -ant |grep ':80 ' |grep -c ESTABLISHED

パラメータの説明:
このコマンドでは、80ポートの同時接続数を取得できます.
2保存後、スクリプトの権限を変更する必要があります.
[root@centos7-02 sbin]# chmod 755 !$
chmod 755/usr/local/sbin/estab.sh
このスクリプトはzabbix用に書かれているので、zabbixが読み書き権限を持って動作することを保証します.
3クライアントでプロファイルを編集する
#vim/etc/zabbix/zabbix_agentd.conf
UnsafeUserParametersを検索し、次のパラメータを追加します.
UnsafeUserParameters=1  
UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh 
パラメータの説明:
UnsafeUserParametersの値が0に等しい場合はカスタムスクリプトは使用できません
UserParameterは、カスタムスクリプトのパスと、このスクリプトがzabbix上でどのような名前で表示されるかを定義します.
my.estab.count[*]モニタ項目に対応する「キー値」パラメータ
後の[*]にスクリプトのパラメータを書きますが、パラメータがなければ省略できます.スクリプトは/usr/local/sbin/estabです.sh
4 zabbix-agentサービスの再起動
#systemctl restart zabbix-agent
5サービス・エンドの検証
[root@centos7-01 fonts]# zabbix_get -s 192.168.189.129 -p 10050 -k 'my.estab.count'
0
129クライアントサーバには80ポートのアクセスがないため、結果は0
6その後zabbixモニタリングセンター(ブラウザ)でモニタリング項目を追加するように構成する
ホストaming-02——《点中监视项——》右上隅作成监视项——》监视项目情报(监视项目名称とキー値)を记入する
7グラフィックの作成
「構成」>「ホスト」>「グラフィック」>「グラフィックの作成」--」モニタ項目作成したばかりの80モニタ項目を選択--」追加
図面のプレビュー
8このモニタアイテムにトリガを作成し、接続数が200に達した場合に警告します.
操作:
トリガの作成——』トリガ名を記入し、アラームレベル———追加———監視項目を選択———機能最新T値>N———N記入200———挿入
モニタリング項目を追加し、図面を作成する考え方をまとめます.
  • は、スクリプトまたは他の手段によってデータ量を取得する方法を講じる(図のモニタリングには、モニタリングの重大度を測定するためにデータ数が必要であるため)
  • .
  • データを取得した後、モニタリングセンターでモニタリング項目を追加し、モニタリング項目を図にし、トリガについては実際の状況を見て作成します.

  • 19.13アラームメールアラームの設定(上)
    1 163メールボックスにログインし、POP 3、IMAP、SMTPサービスをオンにする
    2クライアント認証パスワードのオープンと記録
    パスワードはできるだけ複雑にしてください.後でメールを送るのがこのパスワードですから.
    3アラームスクリプトの追加
    zabbix监视センタ——《管理——》警报媒体タイプ——《警报媒体を作成する——》记入媒体情报(シナリオ)——《3つのスクリプトパラメータを追加する——》追加
    パラメータの説明:
    受信者
    テーマ
    メールの内容
    4サービス側でmailを定義する.pyのpythonスクリプト(この手順は構成のコア操作です)
    4.1で/etc/zabbix/zabbix_server.confはAlertScriptsPathを検索してmailを取得する.pyのスクリプトパスが配置されたディレクトリ
    #/etc/zabbix/zabbix_server.conf
    検索
    AlertScriptsPath
    見つける
    AlertScriptsPath=/usr/lib/zabbix/alertscripts 
    4.2 mailを作成します.py
    [root@centos7-01 fonts]# cd/usr/lib/zabbix/alertscripts
    [root@centos7-01 alertscripts]# vim mail.py
    #!/usr/bin/env python
    #-*- coding: UTF-8 -*-
    import os,sys
    reload(sys)
    sys.setdefaultencoding('utf8')
    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]
    ##  QQ        ,               (                   ,        )
        sendqqmail('[email protected]','             ','[email protected]',to,subject,content)
    if __name__ == "__main__":
        main()

    パラメータの説明:
    上記のパラメータは#コメントに基づいて説明します.
    4.3 755権限を与え、そうでない場合、影響は後続することを覚えておいてください.
    [root@centos7-01 ~]# chmod 755/usr/lib/zabbix/alertscripts/mail.py 
    4.4 pythonスクリプトメールテストの実行
    パラメータフォーマットは作成したばかりのmailです.pyの3つのパラメータ:受信者、トピック、内容、後の2つは「」でパラメータを参照し、スペースで分割します.
    [root@centos7-01 alertscripts]# python mail.py [email protected] "warnning test""ok"
    4.5受入検査
    受信成功
    時間も合って
    [root@centos7-01 alertscripts]# date
    2018年05月28日月曜日18:03:43 CST