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 ...
随机推荐
- 描述一下 Intent 和 IntentFilter?
Android 中通过 Intent 对象来表示一条消息,一个 Intent 对象不仅包含有这个消息的目的地,还可以包含消息的内容,这好比一封 Email,其中不仅应该包含收件地址,还可以包含具体的内 ...
- go-ethereum开发问题
1. abigen 参考文档(Native DApps: Go bindings to Ethereum contracts) abigen --sol token.sol --pkg token - ...
- table 隔列换色
$("table tr").find("td:eq(1),td:eq(2),td:eq(4)").css("background-color" ...
- 源码安装zabbix4.0.1
本篇是纯粹安装zabbix4.0.1, 前提需要安装lnmp请安装 https://www.cnblogs.com/effortsing/p/9982028.html 环境准备: 一台虚拟机 192. ...
- 使用xUnits来实现单元测试
目录 前言 单元测试 xUnit 小结 附录 前言 从开始敲代码到现在,不停地都是在喊着记得做测试,记得自测,测试人员打回来扣你money之类的,刚开始因为心疼钱(当然还是为了代码质量),就老老实实自 ...
- Python学习之进程
8.2 进程 8.2.1 进程的创建 开启多进程scoketserver:server.client 进程的开启:python中的多线程,一定是有一个主进程,由主进程创建几个子进程, Linux与Wi ...
- python学习之函数(一)
4.4函数 面向过程编程的缺点: 1.代码重复: 2.代码可描述性不高: 4.4.1 函数初识 函数是对代码块动作和功能的封装定义:函数是以功能为导向,一个为函数封装一个功能. 优点: ...
- HCL试验3
PC端配置:配置ip地址 配置网关 交换机(左)配置:①创建VLAN system-view vlan 10 vlan 20 ②配置PC端接口 interface gi 1/0/1 port link ...
- 应用安全 - 社工 - By 大数据 - shodan - 汇总
使用 | 命令 搜索语法 hostname: 搜索指定的主机或域名,例如 hostname:”google” port: 搜索指定的端口或服务,例如 port:”” country: 搜索指定的国家, ...
- python+selenium下载文件——Chrome
from selenium import webdriver import time options = webdriver.ChromeOptions() prefs = { 'profile.de ...