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的简单操作(查看监控,自定义监控和钉钉监控报警)的更多相关文章

  1. zabbix的简单操作(监控客户端MySQL数据包库)

    环境准备: 192.168.175.102    zabbix服务端 192.168.175.106    zabbix客户端(监控MySQL) 命令:iptables -F        #清空防火 ...

  2. zabbix的简单操作(proxy代理分布式监控)

    分布式监控 作用:分担压力,减轻负载,多机房监控 通过zabbix proxy的搭建,zabbix server可以远程从proxy获取到数据,这里的环境相当于zabbix server具有一个公网i ...

  3. zabbix的简单操作(自动发现)

    zabbix需要监控很多服务器,比如公司进购一批新的服务器,如何自动添加到zabbix服务上 自动发现: zabbix Server主动发现所有客户端,然后将客户端记录下来 自动注册: zabbix ...

  4. zabbix 自定义key与参数Userparameters监控脚本输出

    1.修改agent配置文件: 通过yum安装的zabbix-agent配置文件路径为/etc/zabbix/zabbix_agentd.conf 里面定义我们自己配置文件路径:Include=/etc ...

  5. Zabbix学习之路(七)之Nginx的状态监控

    1.安装nginx [root@linux-node2 ~]# yum install -y nginx [root@linux-node2 ~]# mkdir /etc/zabbix/zabbix_ ...

  6. 云监控自定义HTTP状态码说明

    您在使用站点监控时,返回的6XX状态码均为云监控自定义HTTP状态码,具体含义如下表所示: 状态码      含义     备注  610  HTTP连接超时      监测点探测您的网站时出现连接超 ...

  7. 建设DevOps统一运维监控平台,全面的系统监控 Zabbix VS Nagios VS Open-Falcon OR Prometheus

    前言 随着Devops.云计算.微服务.容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器.虚拟机.物理机不一而足.面对动辄几百上千个虚拟机.容 ...

  8. zabbix监控web应用日志报警并发送消息到钉钉

    首先在钉钉上开启钉钉机器人功能 说明:自定义关键词是zabbix发送过来的消息内容必须含有你定义的ERROR或者error字段,否则消息无法发送过来 ip地址段:一般都是zabbix-server的I ...

  9. zabbix监控钉钉报警

    1. bash脚本 #!/bin/bash to=$1 subject=$2 text=$3 #此处的 xxxxx 就是刚刚复制存留的 api 接口地址. curl -i -X POST \ 'htt ...

随机推荐

  1. 浏览器端-W3School-JavaScript-HTML DOM:HTML DOM Attribute 对象

      ylbtech-浏览器端-W3School-JavaScript-HTML DOM:HTML DOM Attribute 对象 1.返回顶部 1. HTML DOM Attribute 对象 HT ...

  2. Struts2-Ajax整合之纯JavaScript版本

    1.Ajax的作用:能够在不重新加载页面的情况下,用异步的方式与后台服务器进行数据交互 2.Struts2-Json的jar包(包含阿里巴巴自己的jar包) commons-beanutils-1.7 ...

  3. 百度地图POI爬取

    我们研究生的课程内容,做下笔记记录一下. 使用的python环境是python3.7 用的图大部分都是老师ppt里的图,懒得自己截了-- 申请百度开发者密匙 (1)注册百度用户,注册过的话,直接登录就 ...

  4. 想使用 MongoDB ,你应该了解这8个方面!

    想使用 MongoDB ,你应该了解这8个方面! 应用性能高低依赖于数据库性能,MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解 ...

  5. Python基础知识思维导图|自学Python指南

    微信公众号[软件测试大本营]回复"python",获取50本python精华电子书. 测试/开发知识干货,互联网职场,程序员成长崛起,终身学习. 现在最火的编程语言是什么?答案就是 ...

  6. LeetCode.1010-歌曲总长度可被60整除的对数

    这是小川的第377次更新,第405篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第239题(顺位题号是1010).在歌曲列表中,第i首歌曲的持续时间为[i]秒. 返回其总 ...

  7. 用linux主机做网关搞源地址转换(snat)

    一.原理图  二.环境 外网  A:192.168.100.20 (vmnet1) 网关  B:192.168.100.10 (vmnet1)     192.168.200.10 (vmnet2) ...

  8. Metinfo5.1 /about/show.php SQL注入

  9. 快速质因数分解及素性测试&ABC142D

    首先,这个整数的标准分解非常的显然易见对吧: 一般我们要把一个数分解成这个样子我们可以这样写: #include<cstdio> ],w[],k; void factorize(int n ...

  10. FESCAR

    FESCAR:阿里重磅开源分布式事务解决方案 FESCAR名字的由来:Fast & EaSy Commit And Rollback FESCAR是啥? 被用在微服务架构中的高性能分布式事务解 ...