zabbix的简单操作(查看监控,自定义监控和钉钉监控报警)
zabbix是一种监控软件,我用的是centos7.5版本
一:我已经添加好主机了,接下来就是看看怎么查看监控内容的
1.打开zabbix服务的web网页

2.检测最新数据,要在最新数据中筛选

3.查看图像

二: 上面只是最简单的查看客户机的方法,接下来演示一下自定义监控
1.zabbix自带模板Template OS Linux (Template App Zabbix Agent)提供CPU、内存、磁 盘、网卡等常规监控, 只要新加主机关联此模板,就可自动添加这些监控项
自定义监控项,在zabbix server上创建监控项前可以先使用zabbix_get来判断脚本是否正确。
在zabbix server端使用yum安装zabbix_get
命令:cd /etc/yum.repos.d/
配置yum源
命令:rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
命令:yum -y install zabbix-get.x86_64
可以使用zabbix_get -help查看用法
注意:zabbix_只能在服务端操作
然后继续操作
命令:zabbix_get -s 192.168.175.102 -p 10050 -k "system.uname"
注释:-s 客户端的IP -p 客户端端口,默认10050 -k 监控项的key

2.实现自定义监控
自定义语法
UserParameter=<key>,<shell command>
UserParameter=login-user,who|wc -l
UserParameter=login-user,/bin/sh /server/scripts/login.sh
3.agent注册(客户端)
命令:cd /etc/zabbix/zabbix_agentd.d/
命令:vim userparameter_login.conf
UserParameter=login-zabbix1,who|wc -l
UserParameter=login-zabbix2,who|wc -l
UserParameter=login-zabbix3,who|wc -l

注意:key名字要唯一
然后重启服务
命令:systemctl restart zabbix-agent.service
然后在服务端进行测试
命令:zabbix_get -s 192.168.175.103 -p 10050 -k "login-zabbix1"
命令:zabbix_get -s 192.168.175.103 -p 10050 -k "login-zabbix2"
命令:zabbix_get -s 192.168.175.103 -p 10050 -k "login-zabbix3"

因为在客户端就注册了三个用户,所以没有login-zabbix4,就会报错
4.在服务端注册(网页操作)
(1)点击配置------>点击模板------>点击创建模板

(2)按照操作要求填写
ceshi login-zabbix


(3)创建应用集
点击应用集----->创建应用集



(4)创建监控项
点击监控项------>创建监控项



(5)创建触发器




(6)创建图形
点击图形------>创建图形



(7)主机关联模板
点击配置---->主机
一个主机可以关联多个模板





测试一下,在浏览器上同时开启四个zabbix网页

我用火狐浏览器添加了四个,谷歌浏览器上就报警了,这样就配置成功了

三:监控报警
(1)第三方报警平台(钉钉)
先指定要发送的群,在群里创建机器人

添加机器人


可以参考 “说明文档”
创建测试文档
vim ceshi.sh
curl 'https://oapi.dingtalk.com/robot/send?access_token=a462c4d7c2e095d182721c352b77cae4bc76ce4903efe876a08386668e451c51' \ #添加自己的webhook
-H 'Content-Type: application/json' \
-d '{"msgtype": "text",
"text": {
"content": "告警"
}
}'
然后执行测试,如果成功会在钉钉上发送消息

(2)查看默认脚本存放位置
命令:cat /etc/zabbix/zabbix_server.conf|grep AlertScriptsPath

命令:cd /usr/lib/zabbix/alertscripts #进入默认脚本目录
注意:这次脚本是用python写的所以需要配置python环境才行
命令:yum -y install python-pip #安装python
命令:pip install requests #安装依赖包
注意:如果安装失败,请配置阿里云yum源
命令:mkdir ~/.pip #创建阿里云pip
命令:vim /root/.pip/pip.conf #写入下以内容
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

看见这些说明安装成功,然后开始写脚本
命令:vim /usr/lib/zabbix/alertscripts/dingding.py #内容如下
curl 'https://oapi.dingtalk.com/robot/send?access_token=a462c4d7c2e095d182721c352b77cae4bc76ce4903efe876a08386668e451c51' \
-H 'Content-Type: application/json' \
-d '{"msgtype": "text",
"text": {
"content": "告警"
}
}'
[root@localhost alertscripts]# cat dingding.py
#!/usr/bin/env python
#coding:utf-8
#zabbix钉钉报警
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=a462c4d7c2e095d182721c352b77cae4bc76ce4903efe876a08386668e451c51"
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("/usr/local/zabbix/logs/dingding.log"):
f=open("/usr/local/zabbix/logs/dingding.log","a+")
else:
f=open("/usr/local/zabbix/logs/dingding.log","w+")
f.write("\n"+"--"*30)
if x.json()["errcode"] == 0:
f.write("\n"+str(datetime.datetime.now())+" "+str(user)+" "+"发送成功"+"\n"+str(text))
f.close()
else:
f.write("\n"+str(datetime.datetime.now()) + " " + str(user) + " " + "发送失败" + "\n" + str(text))
f.close()
命令:chown zabbix.zabbix dingding.py #添加权限
命令:mkdir -p /usr/local/zabbix/logs #添加消息文件
命令:touch /usr/local/zabbix/logs/dingding.log #添加消息文档
命令:chown -R zabbix.zabbix /usr/local/zabbix/logs/dingding.log #给消息文档添加权限
命令:chown -R zabbix.zabbix /usr/local/zabbix/logs #给消息文件添加权限
然后在测试一下,是不是在钉钉发送消息
命令:./dingding.py test 185xxxxxxxx "这个条测试信息,忽略"
注意:这个号码意思是你发送的群里有这个号码,引号里的内容是在钉钉的关键字里设置的 

(3)在zabbix网页里设置
三个参数
创建报警媒介. 三个参数分别是:ALERT.SENDTO ALERT.SUBJECT ALERT.MESSAGE
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}









接下来配置动作
点击配置------>动作


{TRIGGER.STATUS}: {TRIGGER.NAME}
告警主机:{HOST.NAME}
主机IP: {HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID: {EVENT.ID}
下图表示触发5次动作,每隔120秒触发一次,告警发给 admin 用户,用钉钉媒介发送.

恢复参数
{TRIGGER.STATUS}: {TRIGGER.NAME}
告警主机:{HOST.NAME}
主机IP: {HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID: {EVENT.ID}
其他默认


测试将虚拟机关机一下,钉钉上弹出警告,ok完成

总结:。。。。。。。。。。。此处省略一万字
zabbix的简单操作(查看监控,自定义监控和钉钉监控报警)的更多相关文章
- zabbix的简单操作(监控客户端MySQL数据包库)
环境准备: 192.168.175.102 zabbix服务端 192.168.175.106 zabbix客户端(监控MySQL) 命令:iptables -F #清空防火 ...
- zabbix的简单操作(proxy代理分布式监控)
分布式监控 作用:分担压力,减轻负载,多机房监控 通过zabbix proxy的搭建,zabbix server可以远程从proxy获取到数据,这里的环境相当于zabbix server具有一个公网i ...
- zabbix的简单操作(自动发现)
zabbix需要监控很多服务器,比如公司进购一批新的服务器,如何自动添加到zabbix服务上 自动发现: zabbix Server主动发现所有客户端,然后将客户端记录下来 自动注册: zabbix ...
- zabbix 自定义key与参数Userparameters监控脚本输出
1.修改agent配置文件: 通过yum安装的zabbix-agent配置文件路径为/etc/zabbix/zabbix_agentd.conf 里面定义我们自己配置文件路径:Include=/etc ...
- Zabbix学习之路(七)之Nginx的状态监控
1.安装nginx [root@linux-node2 ~]# yum install -y nginx [root@linux-node2 ~]# mkdir /etc/zabbix/zabbix_ ...
- 云监控自定义HTTP状态码说明
您在使用站点监控时,返回的6XX状态码均为云监控自定义HTTP状态码,具体含义如下表所示: 状态码 含义 备注 610 HTTP连接超时 监测点探测您的网站时出现连接超 ...
- 建设DevOps统一运维监控平台,全面的系统监控 Zabbix VS Nagios VS Open-Falcon OR Prometheus
前言 随着Devops.云计算.微服务.容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器.虚拟机.物理机不一而足.面对动辄几百上千个虚拟机.容 ...
- zabbix监控web应用日志报警并发送消息到钉钉
首先在钉钉上开启钉钉机器人功能 说明:自定义关键词是zabbix发送过来的消息内容必须含有你定义的ERROR或者error字段,否则消息无法发送过来 ip地址段:一般都是zabbix-server的I ...
- zabbix监控钉钉报警
1. bash脚本 #!/bin/bash to=$1 subject=$2 text=$3 #此处的 xxxxx 就是刚刚复制存留的 api 接口地址. curl -i -X POST \ 'htt ...
随机推荐
- ControlTemplate in WPF —— ComboBox
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...
- 40组合总和II
题目:给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合.candidates 中的每个数字在每个组合中只能使用一 ...
- win10安装mysql-最简单教程
工具下载地址 链接: https://pan.baidu.com/s/1XL2wUDrcd9NpT8NOcXoDTQ 提取码: vu34 下载好之后解压. 在目录D:\Program Files\my ...
- 《Google工作法》读书笔记
最近一段时间,拜读了<Google工作法>,工作效率提升10倍的57个技巧. 作者是彼得·费利克斯·格日瓦奇,波兰人. 其中印象最深刻的部分如下: (1)不要被邮件夺走时间 不用邮件,所有 ...
- stringbuffer.tostring引发的 Java heap space
今天在测试“生成报告“功能时,出现了这个问题,java抛出java.lang.OutOfMemoryError: Java heap space: 由于开发使用的tomcat是统一配置的,而且其他地方 ...
- Zookeeper 假死脑裂
该问题就是服务集群因为网络震荡导致的多主多从问题,解决方案就是设置服务切换的超时时间,但也同时会导致无法达到高可用的要求.
- 【HTTP】四、HTTP协议常见问题
HTTP协议是一个非常重要的应用层协议,在面试中有很多关于这方面的问题,这里做一个总结,大部分都在前面的文章中提到了,没提到的这里做一个介绍. 1.HTTP协议的基本原理.工作流程 HTTP协 ...
- 奉献pytorch 搭建 CNN 卷积神经网络训练图像识别的模型,配合numpy 和matplotlib 一起使用调用 cuda GPU进行加速训练
1.Torch构建简单的模型 # coding:utf-8 import torch class Net(torch.nn.Module): def __init__(self,img_rgb=3,i ...
- 记一则update 发生enq: TX - row lock contention 的处理方法
根据事后在虚拟机中复现客户现场发生的情况,做一次记录(简化部分过程,原理不变) 客户端1执行update语句 SQL> select * from test; ID NAME --------- ...
- UML类图知识点整理
引用源:https://www.cnblogs.com/me115/p/4092632.html 从一个示例开始 请看以下这个类图,类之间的关系是我们需要关注的: 车的类图结构为<<abs ...