zabbix报警机制

  • 基本概念
    自定义的监控项默认不会自动报警
    首页也不会提示错误
    需要配置触发器与报警动作才可以自定报警触发器
    -表达式,如内存不足300m,用户超过39个等
    -当触发条件发生后,会导致一个触发事件
    -触发事件会执行某个动作
  • 动作
    触发器的条件被触发后的行为
    -可以是发送邮件,也可以是重启某个服务等
  • 触发器
    -通过配置–>模板–>触发器–>创建触发器–>
    触发器表达式:{:.()}
    案例:
    {atmp:getusers.last()}>43 {模板名:自定义命令名:最新数据}
    {主机:key.函数(参数)}<表达式>常数
    {web1:system.cpu.load[all,avg1].last(0)}>5 //0为最新数据
    如果web1主机最新的CPU平均负载值大于5,则触发器状态Problem
    {vfs.fs.size[/,free].max(5m)}<10G //5m为最近5分钟
    根分区,最近5分钟的最大容量小于10G,则状态进入Problem
    {vfs.file.cksum[/etc/passwd].diff(0)}>0 //0为最新数据
    最新一次校验/etc/passwd如果与上一次有变化,则状态进入Problem
    大多数函数使用秒作为参数,可以使用#来表示其他含义(具体参考表-1)。
    avg, count, last, min and max 等函数支持额外的第二个参数time_shift(时间偏移量),这个参数允许从过去一段时间内引用数据。
    函数内容 描述
    sum(600) 600秒内所有值的总和
    sum(#5) 最后5个值的总和
    last(20) 最后20秒的值
    last(#5) 倒数第5个值
    avg(1h,1d) 一天前的1小时的平均值
    (0) 最新值
    创建media
  • 设置邮件

管理–>报警媒介类型–>名称:Email SMTP服务器:localhost SMTP服务端口25 SMTP HELO :monserver SMTP电邮:zabbix@localhost
确认 邮件安装启动(端口25) 发件人
测试: mail -s ‘testmail’ zabbix < /etc/hosts
为账号添加media
管理–>用户–>Admin
点击Admin账户后,在弹出的界面中选择Media(报警媒介)菜单–>点击Add(添加)报警媒介
点击Add(添加)后,在Meida Type中填写报警类型,收件人,时间等信息
创建Action动作
-定义当触发器被触发时,执行
配置–>动作–>创建动作
配置Action(填写名称) 填写Action动作的名称,配置什么触发器被触发时会执行本Action动作
配置导致动作的触发条件 (触发器) (选择) (添加)
-配置Action具体操作行为
操作类型:发送信息

  • 效果测试

-在被监控主机创建账号
-登入监控端web页面,在仪表盘中查看问题
zabbix进阶操作
概述
自动发现:
-当zabbix需要监控的设备越来越多,手动添加监控设备越来越有挑战,此时,可以考虑使用自动发现功能
-需要批量一次性添加一组监控主机,也可以使用自动发现功能
自动发现可以实现:
-自动发现,添加主机,自动添加主机到组
-自动链接模板到主机,自动创建监控项目与图形等
自动发现流程:
-创建自动发现规则
-创建Action动作,说明发现主机后自动执行什么动作
-通过动作,执行添加主机,链接模板到主机等操作

  • 自动发现规则

创建自动发现规则
配置–>自动发现–>创建发现规则
填写规则
-自动发现IP范围(逗号隔开可以写多个)
-多久做一次自动发现(默认为1小时,仅实验修改1m)
-检查方式:http,ftp,agent的自定义key等检查
创建动作
配置–>动作–>(事件源:自动发现)创建动作
动作: 名称d2 主机IP地址=192.168.2.1-254(添加)
操作: 操作(新的) 添加到主机群 web (添加)
操作(新的) 链接模板 Template App HTTP Service, Template OS Linux (添加)
-添加动作名称,添加触发动作的条件
-操作(触发动作后要执行的操作指令)
创建新的主机(101,102)
-创建一台新的主机,验证zabbix是否可以自动发现该主机
-登入zabbix服务器的web页面,查看主机列表

  • 主被动监控

概述
主动和被动都是相对被动监控端主机而言的
默认zabbix采用的是被动监控
-被动监控: server想agent发起链接,发送监控key,agent接收请求,响应监控数据
-主动监控:agent向server发起连接,agent请求需要检测的监控项目列表,server响应agent发送一个items列表,agent确认收到监控列表,tcp链接完成,会话关闭,agent开始周期性地收集数据
区别
-server不用每次需要数据都连接agent,agent会自己收集数据并处理数据,server仅需要把偶承诺数据即可
-当监控主机达到一定数量后zabbix服务器会越来越慢
-此时,可以考虑使用主动监控,释放服务器的压力
-另外,zabbix也支持分布式监控,也是可以考虑的方案
创建新的主机
yum -y install gcc pcre-devel
tar -xf zabbix-3.4.4.tar.gz
cd zabbix-3.4.4/
./configure --enable-agent
make && make install
修改配置文件
vim /usr/local/etc/zabbix_agentd.conf
//注释#Server=127.0.0.1,192.168.2.5
该行,允许谁监控本机
StartAgents=0
//被动监控时启动多个进程
//设置为0,则禁止被动监控,不启动zabbix_agentd服务
ServerActive=192.168.2.5
//允许哪些主机监控本机(主动模式),一定要取消127.0.0.1
Hostname=zabbixclient_web2
//告诉监控服务器,是谁发的数据信息
//一定要和zabbix服务器配置的监控主机名称一致(后面设置)
RefreshActiveChecks=120
//默认120秒检测一次
UnsafeUserParameters=1
//允许自定义key
Include=/usr/local/etc/zabbix_agentd.conf.d/
:wq
killall -9 zabbix_agentd
useradd zabbix
zabbix_agentd (只有进程没有端口)
ps -C zabbix_agentd (查看)

  • 克隆模板

克隆Zabbix自动的监控模板
为了方便,克隆系统自带模板(在此基础上就该更方便)。
通过Configuration(配置)–>Templates(模板)–>选择Template OS Linux(点击)–>全克隆,克隆该模板,新建一个新的模板。
新模板名称为:A_Template OS Linux
修改模板中的监控项目的监控模式
将模板中的所有监控项目全部修改为主动监控模式,通过Configuration(配置)–>Templates(模板)–>选择新克隆的模板,点击后面的Items(监控项)–>点击全选,选择所有监控项目,点击批量更新,将类型修改为:Zabbix Agent(Active主动式)
批量修改监控项的监控模式后,非所有监控项目都支持主动模式
-批量修改后,会发现有几个没有修改主动模式成功
-说明,这些监控项目不支持主动模式,关闭即可
-可以点击类型排序,点击状态即可关闭
添加监控主机
在zabbix监控服务器,添加被监控的主机(主动模式)
配置–>主机–>创建主机
名称:web102 必须与被监控的配置文件Hostname一致
将主机添加Linux servers组
IP地址:0.0.0.0 端口:0 不填IP无法创建成功
为主机添加监控模板
选择刚刚创建的模板(主动模式)
添加链接模板到主机
A_Template OS Linux
验证效果
监控中–>图形–Linux servers–web102–Memory usage

你可能感兴趣的:(监控,基础命令)