中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

zabbix(2)--詳細配置

發布時間:2020-10-03 19:26:29 來源:網絡 閱讀:9497 作者:掃地僧void 欄目:建站服務器

1、手動添加一臺被監控服務器

添加一臺被監控服務器流程

zabbix(2)--詳細配置

本次測試被監控主機ip:10.55.2.83,OS:RHEL 6.5

被監控端agent安裝

  • a、配置zabbix yum源并安裝

    #yum install zabbix-agent zabbix-sender
  • b、修改配置,agent分Passiv checks(等待zabbix主機來抓取數據)和Active checks(主動向zabbix主機提供數據)兩種,

    本次測試先使用Passive checks模式。

    /etc/zabbix/zabbix_agentd.conf

    Passive checks related(被動檢測相關的配置:agent等待server過來請求數據)
            *Server=10.55.2.81
                以逗號分隔授權給哪些zabbix-server或zabbix-proxy過來采集數據的服務器地址;
            ListenPort=10050
            ListenIP=0.0.0.0
            StartAgents=3

    注意點:在配置active模式時Hostname必須填寫

    ##### Active checks related(主動檢測相關的配置:agent主動向server發送監控數據)
            *ServerActive=IP[:Port]
                以逗號分隔的、當前agent主動發送監控數據過去的server端;
            *Hostname=HOSTNAME
  • c、啟動zabbix-agent,并設置開機自啟動,agent端啟動的默認端口為10050

    ~]# chkconfig zabbix-agent on
    ~]# chkconfig --list zabbix-agent
    zabbix-agent    0:off   1:off   2:on    3:on    4:on    5:on    6:off       
    ~]# service zabbix-agent start
    Starting Zabbix agent:                                     [  OK  ]
    
    ss -tnl 10050端口
    LISTEN     0      128                              :::10050                           :::*     
    LISTEN     0      128                               *:10050                            *:*

在web配置界面上添加監控配置

一次完整的簡單監控配置:

host group-->host-->[applications]-->item-->trigger(Events)-->(Media Type,User Group,User)-->action(conditions,operations(send message,remote script))
  • 定義hostgroup

本次測試我使用zabbix內置的Linux servers

zabbix(2)--詳細配置

  • 定義hosts

zabbix(2)--詳細配置

zabbix(2)--詳細配置

  • 定義監控項application

zabbix(2)--詳細配置

zabbix(2)--詳細配置

zabbix(2)--詳細配置

  • 定義items

zabbix(2)--詳細配置

zabbix(2)--詳細配置

item中設置,type選擇zabbix agent選項

zabbix(2)--詳細配置

zabbix(2)--詳細配置

此時便可以在Monitoring中的Latest data中看到最新采樣的數據

zabbix(2)--詳細配置

  • 添加trigger

    觸發器 trigger events:
        一個監控項可以多個trigger;但一個trigger只能關聯一個監控項
        觸發器的等級:
        觸發器表達式:
            {<server>:<key>.<fuction>(parameter)}<operator><constant>
                <constant>:閾值;
    
            diff():比較采樣值是否事先值的相同;通常通過checksum進行;
            min():指定區間或時間范圍內的最小值;
            max()
            avg()
            nodata()

zabbix(2)--詳細配置

trigger狀態

zabbix(2)--詳細配置

  • 定義媒介

Administration---->Media types

zabbix(2)--詳細配置

zabbix(2)--詳細配置

添加media用戶組合用戶

zabbix(2)--詳細配置

zabbix(2)--詳細配置

zabbix(2)--詳細配置

zabbix(2)--詳細配置

zabbix(2)--詳細配置

注意點:使用zabbix自帶的郵件功能,收件人中的郵箱地址只能填寫一個

zabbix(2)--詳細配置

  • 基于trigger添加action

action為zabbix的全局配置,所以在hosts中沒有

zabbix(2)--詳細配置

zabbix(2)--詳細配置

zabbix(2)--詳細配置

zabbix(2)--詳細配置

這里我定義前3個10分鐘發送給ops用戶

zabbix(2)--詳細配置

報警升級設定,第4-6個10分鐘發送給boss用戶

zabbix(2)--詳細配置

zabbix(2)--詳細配置

2、告警測試

當一臺服務器出現告警時,首先會做的是自行先處理(remote command),如果自行處理失敗后會進行告警升級,進行send message

remote command測試

本次測試一臺httpd的服務器,監控其80端口,如果down了后自動恢復啟動

服務器地址:10.55.10.79

  • 添加監控項,監控其80端口

zabbix(2)--詳細配置

zabbix(2)--詳細配置

zabbix(2)--詳細配置

手動關閉服務進行event測試:——--->ok

[root@itblog yum.repos.d]# systemctl stop httpd.service

[root@itblog yum.repos.d]# systemctl start httpd.service

zabbix(2)--詳細配置

  • 在agent端需要做的配置

    tty問題說明:
    usermod zabbix -s /bin/bash
        (1)zabbix用戶有所需要管理權限(基于sudo授權);
            編輯/etc/sudoers(visudo)
            1)Defaults requiretty,修改為#Defaults requiretty,表示不需要控制終端。
            2)Defaults requiretty,修改為Default:nobody !requiretty,表示僅nobody用戶不需要控制終端。
        (2)agent進程要允許執行遠程命令;
        EnableRemoteCommands=1
    
    添加remote command腳本,首先要添加zabbix的sudo權限
    ~]# visudo
    添加
    zabbix  ALL=(ALL)       NOPASSWD: ALL
    zabbix可在此主機上運行所有操作并無需密碼
    注釋  centos7會有此類要求,不然會報tty的錯誤
    #Defaults    requiretty
    
    編輯zabbix配置文件,開啟remote command功能
    ~]# vim /etc/zabbix/zabbix_agentd.conf
    EnableRemoteCommands=1
    
    LogRemoteCommands=1 #記錄日志
    
    ~]# systemctl restart zabbix-agent.service
  • 添加action

zabbix(2)--詳細配置

zabbix(2)--詳細配置

zabbix(2)--詳細配置

當httpd服務無法自動修復時,進行告警升級,發送郵件

zabbix(2)--詳細配置

  • 測試結果

手動關閉httpd

[root@itblog ~]# systemctl stop httpd.service
[root@itblog ~]# ss -tnl
State      Recv-Q Send-Q   Local Address:Port                  Peer Address:Port              
LISTEN     0      50                   *:3306                             *:*                  
LISTEN     0      128                  *:22                               *:*                  
LISTEN     0      128                  *:10050                            *:*                  
LISTEN     0      128                 :::22                              :::*                  
LISTEN     0      128                 :::10050                           :::*

此時會激活action:remote command,自動開啟服務

zabbix(2)--詳細配置

[root@itblog ~]# ss -tnl
State      Recv-Q Send-Q   Local Address:Port                  Peer Address:Port              
LISTEN     0      50                   *:3306                             *:*                  
LISTEN     0      128                  *:22                               *:*                  
LISTEN     0      128                  *:10050                            *:*                  
LISTEN     0      128                 :::80                              :::*                  
LISTEN     0      128                 :::22                              :::*                  
LISTEN     0      128                 :::10050                           :::*

告警之Media Type中的自定義script

send message:
    Media Type:傳遞消息的通道;
        script:用來定義信息通道。完成信息傳遞的腳本;
            (1)腳本放置路徑:/etc/zabbix/zabbix_server.conf
                AlertScriptPath=/usr/lib/zabbix/alertscripts
            (2)zabbix會向腳本傳遞三個參數:
                $1:經由此信道發送的信息的目標;
                $2:信息的subject;
                $3:信息的body;

    Users:利用指定信道接收消息;
    User Groups:用戶的邏輯容器;
  • 編寫測試script

這里我改了一個python的發郵件腳本,send_mail函數接受上面所述的三個參數

python版本RHEL 6.5自帶的2.6.6

[root@wuzabbix ~]# vim /usr/lib/zabbix/alertscripts/altermail.py
#!/usr/bin/python 
# -*- coding:utf-8 -*- 

import smtplib 
import sys 
from email.mime.text import    MIMEText 
import time 
#reload(sys) 
#sys.setdefaultencoding('utf8') 
current_time=time.strftime('%Y-%m-%d%H:%M',time.localtime(time.time())) 

mail_host ='10.55.1.13'
mail_user ='wuzabbix@*******'
#mail_pwd = '******'

def send_email( content,mailto, get_sub ): 
    #msg = MIMEText( content.encode('utf8'),_subtype = 'html', _charset = 'utf8') 
    msg = MIMEText(content,_subtype='plain',_charset='gb2312') 
    msg['From'] = mail_user 
    msg['Subject'] =get_sub 
    msg['To'] = ",".join( mailto ) 

    try: 
        s = smtplib.SMTP()        
        s.connect(mail_host,25) 
        s.sendmail(mail_user,mailto,msg.as_string()) 
        s.close() 
    except Exception as e: 
        print 'Exception: ', e 

title=sys.argv[2] 
cont=""" 
--------------------------------- 
Abstract:    %s 
--------------------------------- 
Date:        %s 
--------------------------------- 

"""%(sys.argv[3],current_time) 


to_list = [ 
         '%s'%(sys.argv[1]), 
        ] 

with    open('/tmp/sendmail_qs.log','ab') as f: 
        f.write('%s  Receive address:  %s Title: %s \n'%(current_time,sys.argv[1],title)) 
send_email(cont,to_list,title)

添加權限并在本機進行發送測試:

chmod +x altermail.py  
[root@wuzabbix alertscripts]# python altermail.py yaominghe@******* test test

郵件接受OK

zabbix(2)--詳細配置

  • 自定義media type

zabbix(2)--詳細配置

zabbix(2)--詳細配置

  • 編輯我剛才定義的webservice的action

zabbix(2)--詳細配置

  • 修改剛才定義的ops users,將users中定義的媒介也修改

zabbix(2)--詳細配置

  • 關閉httpd進行測試

    [root@itblog ~]# systemctl stop httpd.service
    [root@itblog ~]# ss -tnl
    State      Recv-Q Send-Q   Local Address:Port                  Peer Address:Port              
    LISTEN     0      50                   *:3306                             *:*                  
    LISTEN     0      128                  *:22                               *:*                  
    LISTEN     0      128                  *:10050                            *:*                  
    LISTEN     0      128          127.0.0.1:199                              *:*                  
    LISTEN     0      128                 :::22                              :::*                  
    LISTEN     0      128                 :::10050                           :::*

zabbix(2)--詳細配置

3、key

內建key

基于key+parameter的item添加

相關使用方法可以查看官方文檔中的documentation

https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/zabbix_agent

  • 測試定義一個網卡的入站流量

zabbix(2)--詳細配置

store value:
            As is:數據不做任何處理;
            Delta(Simple change):本次采樣數據減去前一次采樣數據;
            Delta(speed per second):本次采樣數據減去前一次采樣數據,而后除以采樣間隔時長;

此時數據已經過來

zabbix(2)--詳細配置

用戶自定義key

UserParameter

4、展示接口

圖像Graphs

在10.55.2.83服務器上繼續添加多個item,監控網絡流量

zabbix(2)--詳細配置

zabbix(2)--詳細配置

zabbix(2)--詳細配置

zabbix(2)--詳細配置

zabbix(2)--詳細配置

在主機設定中選中graphs進行配置

zabbix(2)--詳細配置

zabbix(2)--詳細配置

zabbix(2)--詳細配置

zabbix(2)--詳細配置

add進行添加,在monitorring就可以進行查看了

screen

把多個graph整合于同一個屏幕進行展示

zabbix(2)--詳細配置

zabbix(2)--詳細配置

slide shows

把多個screen以slide show的方式進行展示

zabbix(2)--詳細配置

zabbix(2)--詳細配置

 

5、模板

應用模板測試

新開一臺被監控主機10.55.1.13,安裝zabbix-agent,zabbix-sender并配置開啟

[root@wulmail zabbix]# vim zabbix_agentd.conf
Server=10.55.2.81
EnableRemoteCommands=1
LogRemoteCommands=1
ServerActive=127.0.0.1,10.55.2.81
Hostname=wulmail    #開啟主動監控時必須指定hostname


[root@wulmail ~]# service zabbix-agent start
Starting Zabbix agent:                                     [確定]
[root@wulmail ~]# chkconfig zabbix-agent on
[root@wulmail ~]# chkconfig --list | grep zabbix-agent
zabbix-agent    0:關閉    1:關閉    2:啟用    3:啟用    4:啟用    5:啟用    6:關閉

web端添加主機

zabbix(2)--詳細配置

zabbix(2)--詳細配置

由于套用了模板,所有點擊add后很多之前需手動添加的東西均自動完成

zabbix(2)--詳細配置

模板可以使用系統自帶的,也可以根據自己需求自己定義。

6、宏和自定義key

宏:macro,預設的文本替換模式;

兩種:
        內置

        自定義{$MACRO}

            命名方式:大寫字母,數字和下劃線;
    級別:
        全局
        模板
        主機

        主機-->模板-->全局
  • 全局宏

zabbix(2)--詳細配置

自定義一個{HTTP_PORT}全局宏進行測試

zabbix(2)--詳細配置

  • 模板宏

zabbix(2)--詳細配置

  • 主機宏

zabbix(2)--詳細配置

主機定義一個宏進行測試

zabbix(2)--詳細配置

zabbix(2)--詳細配置

用戶自定義key

位置:在zabbix agent端實現;
        zabbix_agentd.conf
            UserParameter

語法格式:
    UserParameter=<key>,<command>

使用示例:
監控內存信息
UserParameter=memory.usage[*],cat /proc/meminfo | awk '/^$1:/{print $$2}'

監控nginx狀態頁面
UserParameter=ngx.active[*],curl -s http://$1:$2/$3 | awk '/^Active/{print $$3}'
UserParameter=ngx.accepts[*],curl -s http://$1:$2/$3 | awk '/^[[:space:]]            
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

田林县| 邓州市| 衡东县| 仪陇县| 巴里| 图片| 建水县| 乃东县| 绥化市| 镇雄县| 博野县| 兴国县| 中江县| 延川县| 长治县| 拜泉县| 齐河县| 德州市| 句容市| 茌平县| 桐乡市| 玉山县| 乌兰浩特市| 兴化市| 鄂托克旗| 民和| 罗山县| 海宁市| 元氏县| 香格里拉县| 仪陇县| 望江县| 贺兰县| 上杭县| 谢通门县| 荣成市| 福海县| 孟津县| 观塘区| 常山县| 罗定市|