Zabbix構成の詳細

8897 ワード

host groups –> host –> application –> item –> trigger –> action (conditions, operations)
ホストの監視
                
items:   ,    。
application:      
trigers:   ,   items   :OK PROBLEM,       PROBLEM    vents(  )。
actions:condition、operation

モニタアイテムitems
items: key+parameter
        key:        
            zabbix  :
                type: 
                    agent 
                    agent(active)
                    snmp v1
                    Simple check        
                 (UserParameter)
                 :
              :
                  
                   
               :
                   
                  
                Log

                :

                :        ,   ,   


            :3.4    
            As is:         
            Delta:(simple change),                
            Delta:(speed per second),             ,        ;
            time:    
                :3.4
            text

            structured data
            arithmetic
            change
            numeral systems

trigger:トリガトリガ
特定のitemが収集したデータの非合理的な区間または非合理的な状態を定義する
     ,  ;              ;
    OK:      -->    zabbix  ,  FALSE;
    PROBLEM:       -->    zabbix  ,  TRUE
           

      :
    {hostname:key[paramters].function(arguments)
        >, #(not equal)...
        +, -, *, /
        &, |
         
        {n1.magedu.com:net.if.in[eno16777736,packets].last(#1)}>15

           :
    nodata()       
    last()         /     
    date()
    time()
    now()
    dayofmonth()
    ...

Severity;   
    Not classified     
    Information         
    Warning           
    Average             ,  
    High              
    Disaster            

trigger       

イベント・メカニズム:4つのイベント・ソース
Trigger                
discovery                 
auto registration         
internal                

アクション:
トリガ条件
conditions:
                ;
operations:
              ;
RECOVERY OPERATIONS
            

トリガ後の動作
send message:
               :
        Email:  
        Script:     
            Script:    ;
                      :
                    zabbix_server.conf     AlertScriptsPath        ;
                zabbix         ,         :
                        $1:            ;
                        $2:subject
                        $3:body
                zabbix 3.0     ,           :
                        {ALERT.SENDTO}
                        {ALERT.SUBJECT}
                        {ALERT.MESSAGE}

        SMS:  
        Jabber:    ,     
        Ez Texting:    ,     

        zabbix  ,                      ;

Pythonメールアラームスクリプトの例:
#!/usr/bin/env python
#coding:utf-8

import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
    from email.utils import parseaddr, formataddr

import sys
    def formatAddr(s):
        name, addr = parseaddr(s)
        return formataddr((Header(name, 'utf-8').encode(), addr))

    def send_mail(to_list,subject,content):
        mail_host = 'smtp.exmail.qq.com'
        mail_user = '[email protected]'
        mail_pass = 'YOUR_PASSWORD' 
        #                
        msg = MIMEText(content,'','utf-8')
        msg['Subject'] = Header(subject, 'utf-8').encode()
        msg['From'] = formatAddr('zabbix   ' % mail_user).encode()
        msg['to'] = to_list

        try:
            s = smtplib.SMTP()
            s.connect(mail_host)
            s.login(mail_user,mail_pass)
            s.sendmail(mail_user,to_list,msg.as_string())
            s.close()
            return True
            except Exception,e:
                print str(e)
                return False

        if __name__ == "__main__":
        send_mail(sys.argv[1], sys.argv[2], sys.argv[3])

リモート実行コマンドremote command機能:agentが存在するホスト上でユーザー指定のコマンドまたはスクリプトを実行します.例:
    ;
  IPMI     ;
               ;

            :
        IPMI
        ssh 
        telnet 
        Custom Script
        Global Script

前提:agentで完了する必要がある構成:
(1) zabbix            ;
          /etc/sudoers  
                 ;
                Defaults requiretty
                 :
                zabbix  ALL=(ALL)  NOPASSWD: ALL

(2) agent           ; 
          /etc/zabbix/zabbix_agentd.conf,      :
        EnableRemoteCommands=1

サービスの再起動が有効になります.
ディスプレイインタフェース:
graph: simple, custom
screen:   graph           ;
slide show:   screen slide show       
map

テンプレート:
      :                 ;
            link, unlink, unlink and clear
         ;

     :macro,         ;
          :
              :Administration --> General --> Macros --> Macros--> Macros 

      :
              :{MACRO_NAME}
               :{$MACRO_NAME}
                    :    、      ;

ネットワーク検出:
zabbix serverは、指定されたネットワーク範囲内のホストをスキャンします.
    :
    ip    ;
        (ftp, ssh, http, ...)
    zabbix_agent   ;
    snmp_agent   ;

     :
    discovery 
    actions: discvery events      

  :--> discovery events 
    Service, Host
    UP/DOWN, DICOVERED/LOST

      :
    send message, remote command
    add/remove host
    enable/disable host
    add host to group
    link  template to host
    ...

カスタムキー:
item type:               ;  key           ;

    agent
    agent(active)
    simple
    snmpv1
    snmpv2
    snmpv3
    ssh
    ...

    :agent, ipmi, snmp, jmx

   key: zabbix agent            UserParameter     key;zabbix_agentd.conf   
    UserParameter=,<command>

UserParameter=nginx.requests,curl -s http://localhost/status | awk '/^[[:space:]]*[0-9]/{print $3}'