zabbix 服务监控使用手册

配置

zabbix 配置内容比较多,我们要分为9大块来讲解。分别如下:

主机群组

就是主机的逻辑集合

它包含主机和模板,但同一个主机组内的主机和模板没有任何直接的关联

主机组通常在给用户或用户组指派监控权限时使用

主机

主机是指网络上可以被监控的对象,包括物理机、虚拟机、路由器、打印机、java虚拟机进程等

不过需要注意的是,不同主机其支持的监控方式可能会不尽相同,如:

路由器交换机不支持 zabbix agent 就只能使用 snmp 协议监控

java虚拟机只能使用JMX监控方式

应用集

就是监控项的集合,通常命名公式:<你要监听的具体对象的类别>监听组,如

CPU负载监听组、磁盘空间监听组、内存监听组、网卡监听组等

监控项

监控项:表示一个监控的具体对象,例如监控服务器的 CPU负载、磁盘空间等

item 是 zabbix 进行数据收集的核心,相对某个监控对象,每个 item 都由 “key” 来标识

系统自带大部分监控项,一些特定的监控项我们可以自定义,自定义监控项的方法会在后续学习

配置完毕后,在最新数据栏目里可以查看,1 代表服务健康,不是 1 的代表服务异常

触发器

在配置了监控项后我们在界面上看到了业务的正常与否,

那么如果我希望在异常时接到通知,怎么实现呢?

触发器是用于故障告警的一个设置,

将一个监控项添加触发器后,此监控项如果出现问题,就会出激活触发器,

然后触发器将自动连接告警动作,最后触发告警。

例如:定义如果系统负载大于 10 那么报警,这个东西可以称之为触发器。

报警媒介

就是停止的途径,比如短信、邮件等等

zabbix 自带了较多报警媒介

而我接下来准备自定义报警媒介:通过钉钉消息发送

自定义消息媒介 - 钉钉群消息

添加群机器人获取 webhook

从钉钉群推送机器人面板获取 webhook

编写脚本文件(注意路径)

在 zabbix server 安装的时候我已经在容器中安装了 python2 环境

因此,此处我使用了 python2 作为触发脚本

在宿主机上编写触发脚本 vim /data/zabbix/alertscripts/dingding.py

#!/usr/bin/env python
#coding:utf-8
"""

"""
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=e2b"
user=sys.argv[1]
text=sys.argv[3]
data={
    "msgtype": "text",
    "text": {
        "content": text
    },
    "at": {
        "atMobiles": [
           user
        ],
        "isAtAll": False
    }
}
headers = {'Content-Type': 'application/json'}
x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
if os.path.exists("zabbix_dingding.log"):
    f=open("zabbix_dingding.log","a+")
else:
    f=open("zabbix_dingding.log","w+")
f.write("\n"+"--"*30)
f.write(str(x.json()))
if x.json()["errcode"] == 0:
    f.write("\n"+str(datetime.datetime.now())+"    "+str(user)+"    "+" success "+"\n"+str(text))
    f.close()
else:
    f.write("\n"+str(datetime.datetime.now()) + "    " + str(user) + "    " + " error " + "\n" + str(text))
    f.close()

测试脚本,发现权限问题

处理权限问题:

cd /data/zabbix/alertscripts
touch zabbix_dingding.log
chmod +x *

再次测试,发送成功

创建钉钉报警媒介

动作

给触发器配置动作,就是触发器激活后要做什么事情。

配置用户报警媒介

配置完毕后,我们关闭服务器上被监听的端口程序,测试是否能发送钉钉消息

此时,问题面板出现了异常报告,钉钉群也收到了消息推送

如果没有收到,可以查看具体原因

问题一:脚本路径不对

上图的问题是,zabbix server 是基于 docker 搭建的,脚本存放路径不对 ~

问题二:python 没有

通常是基于 docker 搭建会有怎样的问题,需要安装 python3 环境:


以下内容暂略

4、事件
触发器状态变更、Discovery事件等

5、可视化配置
图表配置,讲监控的数据绘制成曲线图。或者在一个屏幕中可以看到某台主机所有监控图表。

6、模板配置
自定义监控模板。例如Template OS Linux

7、报警配置
配置报警介质:邮箱、sms以及什么情况下发送报警通知。

8、宏变量
用户自定义变量,很有用的一个功能。

9、用户与组管理
这不是讲过了么?之前简单一笔带过,这次来个详细点的。


转载请注明来源。 欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。 可以在下面评论区评论,也可以邮件至 sharlot2050@foxmail.com。

文章标题:zabbix 服务监控使用手册

字数:1.2k

本文作者:夏来风

发布时间:2020-11-27, 23:55:39

原始链接:http://www.demo1024.com/blog/zabbix-admin/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。