zabbix监控流程

[toc] web

先抛开zabbix监控的其余架构不谈,从最简单的server-agent模式提及,即监控主机-被监控主机(主动模式、被动模式主要是影响数据的采集方式和服务端的负载压力),首先是zabbix最重要的五个组成部分:Item、Trigger、Action、Media、User(其实应该还有个Event,不过这个表现的不直观),翻译一下就是监控元素、触发器、动做、报警介质、用户vim

1.item

Items are the ones that gather data from a host. 意思就是监控采集的项目bash

1.1先添加一个须要监控的主机

1.2 设置item监控项

2.Trigger

顾名思义触发器,也就是将采集来的item值进行必定的判断,须要注意的点有两个,一个是serverity,即报警等级,还有一个是判断的逻辑,判断逻辑分单机判断和触发依赖 服务器

3.Action

action就是server对事件响应(Event)须要作相应的措施了,关键点是四个,一是如何触发action,而是action具体使用什么方式,三是发送的内容,四是动做的对象。action支持的Event有四种:用大白话讲就是Trigger触发时、discover rule文件生效时、自动发现新服务器时以及server自己出问题时。最主要的就是Trigger触发来产生action,在建立action时会有"condition"这个选项来设置触发器,而action的方式是由media来决定,media有五种,常见的是mail、sms、script这三种,邮件的方式只须要在建立一个media方式选邮件,而后填写smtp服务器地址便可,邮件的内容是在action选项卡里面设置,支持普通的字符串以及表达式好比{TRIGGER.NAME}这种,这个值就是对应触发的Trigger的名字 架构

3.1 报警媒介

3.1.1 使用本地虚拟邮箱

  • yum安装mailx
yum -y install mailx
  • 设置邮箱白名单

白名单的邮箱地址能够在服务端/var/spool/mail/zabbix查找dom

Return-Path: <zabbix@localhost.localdomain>
Received: from localhost (localhost [127.0.0.1])
	by cl130.localdomain (Postfix) with SMTP id 62C0B1098C
	for <3558689766@qq.com>; Wed, 22 May 2019 23:20:29 -0400 (EDT)
From: <zabbix@localhost.localdomain>
To: <3558689766@qq.com>
Date: Wed, 22 May 2019 23:20:29 -0400
Subject: Problem: /etc/passwd has been changed on 192.168.163.129
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
Message-Id: <20190523032029.62C0B1098C@cl130.localdomain>
  • 添加告警媒介
    • 点击配置——报警媒介类型——建立媒介类型,页面配置以下

  • 设置好了,就能够触发一下看效果了

3.1.2 web配置第三方邮箱

  • 添加告警媒介post

    • 点击配置——报警媒介类型——建立媒介类型,页面配置以下
  • 设置好了,就能够触发一下看效果了测试

3.1.3 脚本告警

  • yum安装mailxspa

  • 修改/etc/mail.rc翻译

//添加
set from=发件箱
set smtp=smtp.qq.com //我用的是qq,能够根据使用邮箱的不一样来填不一样内容
set smtp-auth-user=发件箱
set smtp-auth-password=发件箱受权码
set smtp-auth=login
  • 重启postfix服务

  • 在服务端上写发送告警信息脚本

[root@cl130 alertscripts]# vim /usr/local/share/zabbix/alertscripts/sendmail.sh

#!/bin/bash
subject=$(echo $2 |tr "\r\n" "\n")
message=$(echo $3 |tr "\r\n" "\n")
echo "$message" | /usr/bin/mail -s "$subject" $1 &>/tmp/sendmail.log

[root@cl130 alertscripts]# cd ..
[root@cl130 alertscripts]# chown -R zabbix.zabbix alertscripts
[root@cl130 alertscripts]# chmod +x scripts/sendmail.sh

//重启服务
[root@cl130 ~]# pkill zabbix
[root@cl130 ~]# zabbix_server 
[root@cl130 ~]# zabbix_agentd 
[root@cl130 ~]# ss -ntl
State       Recv-Q Send-Q               Local Address:Port                 Peer Address:Port 
LISTEN      0      128                             *:10050                           *:*     
LISTEN      0      128                              *:10051  
// 测试脚本
[root@cl130 alertscripts]# bash sendmail.sh 3558689766@qq.com test hello world

  • 添加告警媒介
    • 点击配置——报警媒介类型——建立媒介类型,页面配置以下

  • 触发告警,测试效果
相关文章
相关标签/搜索