根据工作的需要,需要查看监控中的所有ip,我们一共有三个机房,每个机房都部署了同样的zabbix监控 根据三个园区的 监控api的url 实现功能:不输入参数 显示所有ip 输入参数 ali yq m6...self.header = {"Content-Type": "application/json-rpc"} def get_Area_url(self): # 这里根据用户传入的参数.../api_jsonrpc.php'% url_head return url def get_token(self): # 获得token 并返回 data =...json.loads(token.text) return json_dict_token['result'] def get_3area_ips(self): # 调用接口,获取...[1]) # 用IDE工具运行会报错 terminal调用使用,可以使用下边的方法传值 # item = Zabbix_ip_3area('m6') #
Wanger | Zabbix开源社区签约专家 Zabbix运维工程师,熟悉Zabbix开源监控系统的架构。乐于分享Zabbix运维经验,个人公众号“运维开发故事”。...去年网易邮箱因为https证书忘记续期,导致大量用户无法正常使用邮箱就是个典型案例。什么时候想起来才去手动查一下也不现实,最好的方法是把过期时间监控起来,距离一定期限自动发送通知。...可以使用Zabbix或者Prometheus的ssl_exporter来进行监控,在Zabbix4.4版本以前可以使用自定义脚本的方式,在Zabbix4.4之后出现了zabbix-agent2,除了官方自带的插件也可以通过自定义插件的方式来满足我们的监控需求...本文介绍如何使用zabbix-agent2自定义插件来实现获取https证书过期时间的需求。...zabbix-agent2自定义https_expire插件 之前介绍过如何使用自定义插件来实现对mqtt的监控,只不过当时使用的Watcher接口来将新数据主动push给server端,这次将通过实现
zabbix是一款非常主流监控软件,以简单易用为人称道。zabbix拥有完善的api方便大家通过第三方调用,所以今天介绍一下如何利用python完成对zabbix api调用。 ...zabbix api主要通过http协议进行通讯,这里我们使用数据是json格式数据进行交互。...这里先放一个官方文档的传送门方便大家翻阅 介绍 zabbix api的地址是“/api_jsonrpc.php”这里先用linux系统命令做个演示:如何获取zabbix的登录token,下面返回的结果是一个...zabbix的token了就可以做一些别的事情了, 这里大家可以尝试获取一下主机信息 例子: 这是一个curl完成和获取主机信息的操作 [root@salt-node1 tmp]# curl -k ...api请求的json内主要三部分:操作zabbix方法,params,token会产生变化,所有这里构建了一个方法,只需要传入这三个参数即可 def zbx_req(zbx_action, zbx_params
Zabbix怎么开启自定义监控? 写一个脚本用于获取待监控服务的一些状态信息。...在zabbix客户端的配置文件zabbix_agentd.conf中添加上自定义的“UserParameter”,目的是方便zabbix调用我们上面写的那个脚本去获取待监控服务的信息。...在zabbix服务端使用zabbix_get测试是否能够通过第二步定义的参数去获取zabbix客户端收集的数据。...或者说突然来了一大波流量,这流量从哪儿来,是不是推广了,还是被攻击了。可以结合监控平台来梳理各个系统之间的业务关系。 10....可以通过Zabbix 的主动模式以及被动模式来实现。当然最好还是通过 API 来实现。 Zabbix监控做过哪些?
使用python的zabbix_api模块,以下是简单的zabbix api的使用 zabbix api文档参考https://www.zabbix.com/documentation/2.2/manual.../api/reference 安装zabbix_api模块 easy_install zabbix_api或者pip install zabbix_api安装模块 在zabbix上创建主机: vim...create_host.py #/usr/bin/env python from zabbix_api import ZabbixAPI import sys server = "http://172.16.133.133...zapi.login(username, password) ip = sys.argv[1] #获取主机组"Linux servers" 的groupid group_id = zapi.hostgroup.get...({"output": "extend","filter": {"name": "Linux servers"}})[0]['groupid'] #获取模版"Template OS Linux"的templateid
Zabbix为我们提供了API,我们可以通过调用API来获取我们想要的数据。 并且,Python中已经有写好的第三方库pyzabbix了,我们可以直接使用。 ?...') 将上面的ip换成自己的zabbix server的ip,然后输入用户名密码来登录Zabbix,获取一个zapi对象,然后就可以使用zapi对象来调用Zabbix的API了。...具体在get()中怎么传入参数,可以传入哪些参数呢?可以参考Zabbix API文档,进入接口的详情说明页,里面列出了所有可以设置的参数和参数代表的含义,以及request和response的示例。...三、调用Zabbix API进行其他操作 使用Zabbix API除了可以在Zabbix上获取数据,也可以向Zabbix添加数据,如添加监控项、导入模板等....然后使用ZabbixSender来将数据包发送到Zabbix平台,ZabbixSender中传入Zabbix服务器的ip和port,然后在send()方法中传入数据包packet,这样数据就会添加到Zabbix
由于Zabbix的web前端是PHP语言编程的,而PHP的性能和相关配置参数有极大关系,因此,如果在大型的环境使用,可以对php进行负载均衡,例如开启php多进程等方式来解决负载问题。...B.获取SESSIONID C.通过SESSIONID建立后续的连接 D.提交POST数据,格式为json,里面放对应的方法,获取需要的数据 zabbix api use python的例子,在这个例子中...,主要是通过API去获取主机的信息。...server"} ], "id":1} 好了,一个简单的API使用例子就完成了。 ...关于更多的API使用,可以阅读官方文档,学习更多的方法,用API的前提是对zabbix操作熟悉,不然很多API你不知道是干嘛用的。 本文仅作抛砖引玉之用,希望大家举一反三,欢迎交流。
json.dumps( { "jsonrpc": "2.0", "method": "user.login", "params": { "user": "Admin", "password": "zabbix..." }, "id": 0 }) 2、 获取zabbix所有的主机组 request json data = json.dumps( { "jsonrpc":"2.0", "method...}, "auth":"key", # theauth id is what auth script returns, remeber it is string "id":1, }) 3、 获取单个组下的所有主机...history.get方法获取单个监控项的历史数据根据第4项的获取到的所有items id的值,找到想要监控的那项,获取它的历史数据。...history.get方法获取单个监控项的历史数据根据第4项的获取到的所有items id的值,找到想要监控的那项,获取它的历史数据。
1.使用Agent2监控Ceph 从Zabbix5.0开始,Zabbix Agent2开始支持对Ceph的监控,Ceph提供了Restful的模块,利用restful模块调用命令获取Ceph的相关状态,...用户 为Zabbix创建的用户名 ceph restful create-key zabbix 查看所有的api 密钥 ceph restful list-keys ?...Zabbix上已经获取到数据了,默认每隔60秒发送一次数据 ceph zabbix send ?...源码目录位于/usr/share/ceph/mgr/zabbix/module.py,可以看到其实是使用了mgr_module模块来获取Ceph的数据,支持如下的传入参数 ?...如果有其他的监控需求可以直接通过在module.py中传入参数来返回对应信息 ? 3.
就可以看到用户数了,接下来的就要使用的用户的微信ID号了。点击用户查看用户的微信ID号。在浏览器查看用户的微信ID号。。.../WeiXin-Private-API [root@zabbix WeiXin-Private-API]# chown zabbix.zabbix /usr/local/zabbix/share/zabbix.../alertscripts/WeiXin-Private-API 修改config文件 [root@zabbix WeiXin-Private-API]# vi config.php 传入的第三个参数,因为在zabbix报警时会传入三个参数:一是微信好友ID,二是报警信息的主题,三是报警信息的具体内容,这里跳过了报警信息主题,直接发送报警信息内容 创建微信报警脚本weixin [root...添加报警媒介 用户添加报警媒介,这里使用默认的administrator用户 添加报警动作 信息如下,使用默认的信息也可以 四、验证结果 重启一台虚拟机进行测试。
# git clone https://github.com/lealife/WeiXin-Private-API[root@zabbix ~]# cp -r WeiXin-Private-API/ /.../WeiXin-Private-API[root@zabbix WeiXin-Private-API]# chown zabbix.zabbix /usr/local/zabbix/share/zabbix.../alertscripts/WeiXin-Private-API 修改config文件 [root@zabbix WeiXin-Private-API]# vi config.php传入的第三个参数,因为在zabbix报警时会传入三个参数:一是微信好友ID,二是报警信息的主题,三是报警信息的具体内容,这里跳过了报警信息主题,直接发送报警信息内容 创建微信报警脚本weixin [...三、配置zabbix 3.1、添加报警媒介 ? 3.2、用户添加报警媒介,这里使用默认的administrator用户 ? 3.3、添加报警动作 ? 信息如下,使用默认的信息也可以 ?
注意:如果zabbix-agent需要被其他机器调用,例如通过zabbix_get获得监控信息,需要在防火墙设置“放开10050端口” 监控网络流量 假设我们要监控机器192.168.8.5网卡em1上的出入口流量...,我们可以先在zabbix服务器上用zabbix_get命令来测试一下,下面代码测试的是输入流量,注意这里的输出是一个累积的流量 ?...Media types设置如下,意思是在/usr/lib/zabbix/alertscripts下存在一个脚本dingding.py,当事件发生时,zabbix会调用该脚本,同时会传入该脚本3个参数,这...这里的意思是:事件的持续时间是1个小时(3600s),每隔2分钟(120s)产生一个事件,一共产生10个事件,产生事件时,发送给Zabbix administrators用户组中的Admin用户,最后事件会使用我们刚刚创建的...通过以上步骤,我们已经把zabbix的监控和报警建立起来了,并实操创建了网卡的流量监控,现在我们把网络流量的阈值调到小,故意制造一个超出流量的事故,看一下报警是否生效,我们预期是发送10个报警,发送完毕后
配置报警媒介类型,传入的三个参数分别为收件人,邮件主题,邮件内容 ?...zabbix邮件报警的web界面配置完成了,还需要修改zabbix_server的配置文件,来支持使用脚本 vim/etc/zabbix/zabbix_server.conf AlertScriptsPath...=/usr/lib/zabbix/alertscripts 修改完成后重启zabbix-server 在/usr/lib/zabbix/alertscripts目录下添加要使用的报警脚本 并给邮件授予执行权限...客户端配置文件中取消注释下面语句,以支持zabbix客户端执行远程命令 vim /etc/zabbix/zabbix_agentd.conf EnableRemoteCommands=1 zabbix执行远程命令使用的是...触发报警 这里关闭ssh服务,使报警触发 systemctlstop sshd 报警触发,两分钟后执行脚本 这里可以使用zabbix-get来获取监控的值。
01 - Zabbix Agent2监控docker的实现原理 首先我们来看一下zabbix agent2监控docker插件的实现原理,其实就是通过调用docker的API来获取数据,插件目录位于...再来看一下docker.go,这里定义了docker的监控项的键值,以及对应的API请求路径,参数长度。 ? 这里是实现了一个Query方法来对根据传来的API路径构造GET请求获取数据。 ?...这里实现了一个Export接口,将对应的key传入给Query方法,返回一个json格式的数据,模板上会创建一些依赖项,使用预处理进程对json数据进行分割。 ?...了解了docker插件的实现思路后我们可以根据我们的需求进行扩展,添加对应的api获取数据就可以了,或者根据这个思路在zabbix agent上实现相同的自定义脚本,甚至可以根据docker插件的实现逻辑来自己编写插件实现其他的监控需求...02-使用Zabbix Agent2的模板监控docker 链接docker模板: ? 然后就可以看到docker的状态了。 ? ? ?
支持在Zabbix每个组件的传入/传出连接中配置。 ? 新的TLC配置参数 注:加密是一个相当复杂的功能,除非您是高级用户,否则不建议您使用它。...配置与SAML的集成 配置与SAML的集成时,需要注意以下几点: Zabbix中须存在相应的用户,但是不会使用Zabbix密码。 需要预先启用SAML身份验证。...10.auditlog.get 在Zabbix 5.0中,我们添加了新的审计日志对象和auditlog.get方法,现在可以通过API来获取审核日志。这看起来像是拼图中缺失的一块。 ?...auditlog.get call 您可以使用auditlog.get方法获取监视程序的审核日志更改。...12.数据库字符集检查 通常,在设置 Zabbix 数据库时,需要使用正确的字符集和正确的排序规则。
本MySQL模板采集数据使用mysqladmin/mysql命令连接数据库,并将获取的数据写入本地文件,然后通过Zabbix agent(active)方式获取各监控项的数据。...流量:上传下载流量。 慢查询:慢查询数、慢启动线程。 系统状态:数据库状态、运行时间。 Innodb参数:缓存池命中率、总页数、脏页数、增删改行数。...本PostgreSQL模板采集数据使用psql命令连接数据库,执行SQL文件中的所有SQL,并将获取的数据写入本地文件,然后通过Zabbix agent(active)方式获取各监控项的数据,扩展性很强...本Hadoop模板通过请求管理界面的Restful API获取数据,标准化了应用集、触发器和图形命名,性能阈值采用宏值方式。 ?...本Elasticsearch模板通过请求集群管理界面的Restful API获取监控数据。将数字类型的文本通过脚本都转化为了数值。 ?
Zabbix API可以通过JSON RPC协议来获取历史数据。 可以采用脚本或者任何支持JSON RPC的工具来使用API。...基本请求格式 Zabbix API 简化的JSON请求如下: { "jsonrpc": "2.0", "method": "method.name", "params": { ...如果你希望创建监控项,"name"和"key_"参数是需要的,每个方法需要的参数在Zabbix API文档中都有描述。 ● "id": 1-这个字段用于绑定JSON请求和响应。...这也是使用API进行相关操作的前提-获取认证ID。...#"value":"94.5259"要获取的值 参考: Zabbix API 官方文档:https://www.zabbix.com/documentation/2.2/manual/api
web集中管理功能 #端口 zabbix server :10051 zabbix agent:10050 #基本监控原理 zabbix agent服务将从系统中获取相关数据传送给zabbix server...,然后zabbix server服务将获取的数据分析之后通过前端页面展示出来 #zabbix的主要功能 1.硬件监控。...如端口,SMTP,网络使用率,网络入流量,网络出流量 #zabbix4.0特性 1、整体性能提高了10%-20% 2、分布式网络宽带降低80% 3、告警处理流程提升 4、支持http agent 5、支持单点登录...#组件功能 Frontend 前端 Zabbix API zabbix的接口 Zabbix server zabbix服务端 Zabbix agent ...低级自动发现 #数据收集 Host 主机 Host group 主机组 就是主机的逻辑分组 Item 监控项 可以理解为监控的一个指标,如CPU使用率
⦁其次我们的被控主机安装一下Apache软件,并能在控制端通过zabbix-get命令获取到Apache进程数....⦁接着点击图形->创建图形->选择创建的自定义key->保存即可. ## 其他常用监控key 同理,我们就可以使用系统默认的监控key来监控内存,CPU以及网络等流量信息,配置过程同上一个案例相同...,只是在配置中使用的配置参数略有区别罢了,此处就不再演示了....-s 192.168.1.20 -p 10050 -k system.uptime 4438 // 系统运行时长(秒)多少秒使用s/uptime来获取 zabbix_get.exe -s 192.168.1.20...自定义一个Key 1.下面我们来自定义一个Key来实现监控两个服务,这里我们先写一个脚本,脚本有一个参数当传入http时,返回http的进程数量,当传入system参数时,显示系统的总进程数,此处实在客户端操作的
实现思路: [图片.png] 首先报警信息里第一行要有itemid,这是前提,根据信息里传入的参数使用正则匹配到itemid 使用脚本创建一个zabbix会话,来根据itemid来获取图片,并将获取到的图片保存到本地...将传入的参数信息的text字段转换成HTML格式,然后将HTML格式的信息和图片作为邮件进行发送 具体脚本如下: #!...用户名 password='zabbix' #定义zabbix用户密码 graph_path='/usr/lib/zabbix/alertscripts/graph' #定义图片存储路径 graph_url...='http://192.168.179.132/chart.php' #定义图表的url #api_url ="http://10.127.0.119/api_jsonrpc.php"...#定义api的url #header = {"Content-Type":"application/json" } #定义api的headers loginurl="http://192.168.179.132
领取专属 10元无门槛券
手把手带您无忧上云