目录:zabbix其他篇

01: 安装zabbix server

02:zabbix-agent安装配置 及 web界面管理

03: zabbix API接口 对 主机、主机组、模板、应用集、监控项、触发器等增删改查

04:获取zabbix监控信息

05:zabbix 监控配置

目录:

1.1 检索警报返回顶部

  参考官网:https://www.zabbix.com/documentation/3.4/zh/manual/api/reference/alert/get

  1、通过触发器trigger获取所有报警信息

#! /usr/bin/env python
# -*- coding: utf-8 -*
import urllib2
import json url = 'http://1.1.1.5/zabbix/api_jsonrpc.php'
username = 'Admin'
password = '' ################################ 一:登陆脚本 login.py ###########################
#1、定义通过HTTP方式访问API地址的函数,后面每次请求API的各个方法都会调用这个函数
def requestJson(url,values):
data = json.dumps(values)
req = urllib2.Request(url, data, {'Content-Type': 'application/json-rpc'})
response = urllib2.urlopen(req, data)
output = json.loads(response.read())
try:
message = output['result']
except:
message = output['error']['data']
print message
quit()
return output['result'] #2、API接口认证的函数,登录成功会返回一个Token
def authenticate(url, username, password):
values = {'jsonrpc': '2.0',
'method': 'user.login',
'params': {
'user': username,
'password': password
},
'id': ''
}
idvalue = requestJson(url,values)
return idvalue # 结果是一个token值:cc75ed2a314906a835ac0786266468ac

zabbix认证和请求函数

# 获取所有触发器中报警信息,如果不报警则不会获取到
def trigger_get_alarm(auth):
values = {
"jsonrpc": "2.0",
"method": "trigger.get",
"params": {
"output": [
"host",
"description",
"triggerid",
"eventid",
"templateids"
],
"selectGroups": [
"name"
],
"selectHosts": [
"name",
"host"
],
"selectItems": [
"name",
"lastvalue",
"units"
],
"filter": {
"value": 1
},
"monitored": 1,
"selectLastEvent": "extend",
"expandComment": 1,
"expandDescription": 1,
"sortfield": "priority",
"sortorder": "DESC",
"withLastEventUnacknowledged": 1
},
"auth": auth,
"id": 1
} output = requestJson(url, values)
return output auth = authenticate(url, username, password)
print json.dumps( trigger_get_alarm(auth) ) # 获取的报警信息如下
'''
[{
"description": "User_Login", # 这里是报警信息的具体内容
"items": [{
"itemid": "28439",
"units": "",
"lastvalue": "59",
"name": "login_user"
}],
"lastEvent": {
"eventid": "73",
"objectid": "15601",
"clock": "1528266869",
"object": "0",
"acknowledged": "0",
"value": "1",
"source": "0",
"ns": "387320307"
},
"triggerid": "15601",
"hosts": [{
"host": "zabbix_agent_1.1.1.3",
"hostid": "10264",
"name": "zabbix_agent_1.1.1.3"
}],
"groups": [{
"groupid": "19",
"name": "New Create Group"
}, {
"groupid": "20",
"name": "New Group 02"
}]
}]
'''

获取所有触发器中报警信息,如果不报警则不会获取到

1.2 历史数据返回顶部

  参考官网:https://www.zabbix.com/documentation/3.4/zh/manual/api/reference/history/get

#1、只返回给定 监控项 的历史记录
def get_historys_by_item(auth):
values = {
"jsonrpc": "2.0",
"method": "history.get",
"params": {
"output": "extend",
"history": 3, # 要返回的历史对象类型
# 0 - numeric float;数字浮点数;1 - character;字符 ;2 - log; 日志;3 - numeric unsigned; 数字符号;4 - text.文本
"itemids": [""],
"sortfield": "clock",
"sortorder": "DESC",
"limit": 2 # 显示两条数据
},
"auth": auth,
"id": 1
} output = requestJson(url, values)
return output auth = authenticate(url, username, password)
print json.dumps( get_historys_by_item(auth) )
'''
[{
"itemid": "28439",
"ns": "244866385",
"value": "4",
"clock": "1528274369"
}, {
"itemid": "28439",
"ns": "197647992",
"value": "4",
"clock": "1528274339"
}]
'''

1、只返回给定 监控项 的历史记录

#2、只返回给定 主机 的历史记录
def get_historys_by_host(auth):
values = {
"jsonrpc": "2.0",
"method": "history.get",
"params": {
"output": "extend",
"history": 3, # 要返回的历史对象类型
# 0 - numeric float;数字浮点数;1 - character;字符 ;2 - log; 日志;3 - numeric unsigned; 数字符号;4 - text.文本
"hostids": "",
"sortfield": "clock",
"sortorder": "DESC",
"limit": 2 # 显示两条数据
},
"auth": auth,
"id": 1
} output = requestJson(url, values)
return output auth = authenticate(url, username, password)
print json.dumps( get_historys_by_host(auth) )
'''
[{
"itemid": "28439",
"ns": "244866385",
"value": "4",
"clock": "1528274369"
}, {
"itemid": "28439",
"ns": "197647992",
"value": "4",
"clock": "1528274339"
}]

2、只返回给定 主机 的历史记录

04:获取zabbix监控信息的更多相关文章

  1. Python3对接华三CAS平台Api获取虚拟机监控信息-渐入佳境

    --时间:2021年2月3日 --作者:飞翔的小胖猪 说明 使用python对接华三CAS虚拟化平台,通过厂商提供的api接口获取每个集群下所有虚拟机的监控信息,并保存数据在本地的mariadb数据库 ...

  2. PHP通过Zabbix API获取服务器监控信息

    开源监控系统Zabbix提供了丰富的API,供第三方系统调用. 基本步骤如下: 1.获取合法认证:连接对应Zabbix URL,并提供用户名和密码,HTTP方法为"POST",HT ...

  3. 05: zabbix 监控配置

    目录:zabbix其他篇 01: 安装zabbix server 02:zabbix-agent安装配置 及 web界面管理 03: zabbix API接口 对 主机.主机组.模板.应用集.监控项. ...

  4. 04.ZabbixWEB网站监控

    1.Web场景监测概述 1.Web网站中什么是动态网站,什么是静态网站 静态网站:纯静态网站就是服务器的源代码和客户端的源代码一致. 动态网站:比如: <?php phpinfo()?> ...

  5. zabbix监控路由器所有接口信息

    zabbix监控路由器所有接口信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1.首先在服务器端安装snmp工具 [root@bogon yinzhengjie]# yum - ...

  6. zabbix 监控交换机文本/日志信息

    简介 公司有台路由设备,需要每天去核对用户量,查看信息等.为了避免重复的工作量,就通过zabbix来完成这个重复性的工作. 先说下思路,首先要创建一个脚本,能从zabbix-server 或者zabb ...

  7. zabbix 监控web网站性能

    一直在纠结用什么实例来给大家演示呢?想来想去还是官方的好,那我们怎么用zabbix监控web性能和可用性呢?我们这边分为几个步骤:打开网站.登陆.登陆验证.退出,一共4个小step,看实例. 检测流程 ...

  8. Zabbix 监控 Nginx(四)

    简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) [root@localhost ~]# /apps/product/ng ...

  9. zabbix监控Oracle

    可监控项 使用zabbix监控oracle数据库需要借助第三方的插件,目前使用较多的是orabbix.目前维护到了1.2.3版本.关于oracle自带的监控项目有以下几个: DB Version (i ...

随机推荐

  1. HDU 2819 - Swap - [二分图建模+最大匹配]

    题目链接:https://cn.vjudge.net/problem/HDU-2819 Given an N*N matrix with each entry equal to 0 or 1. You ...

  2. Pandas的loc方法

    当你读取到DataFrame的数据时,想去定位某一个数据项,可以使用loc方法进行查找,之后你可以赋值给他. import pandas as pd df = pd.read_csv('file_na ...

  3. Linux下缓冲区溢出攻击的原理及对策

    前言 从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用.当函数调用发生时,新的堆栈 帧被压入堆栈:当函数返回时,相应的堆栈帧从堆栈中弹出.尽管堆栈帧结构的引入为在高级语言中实 ...

  4. iOS-绘图之CoreGraphics框架

    第一步:先科普一下基础知识: Core Graphics是基于C的API,可以用于一切绘图操作 Core Graphics 和Quartz 2D的区别 quartz是一个通用的术语,用于描述在iOS和 ...

  5. win7系统注册表的权限修改

    重装win7系统后,安装软件时提示注册表项拒绝访问 解决方法: 输入“Gpedit.msc”后回车,打开“组策略”.然后,依次展开“用户配置→管理模板→系统”,双击右侧窗口中的“阻止访问注册表编辑工具 ...

  6. Flip Game---poj1753(状压+bfs)

    题目链接:http://poj.org/problem?id=1753    题意:是有一个4X4的图,b代表黑色,w代表白色,问最少翻转几次可以把所有的点变成白色或者黑色,每次翻转一个点时,可以把它 ...

  7. 洛谷P2279 消防局的设立 [HNOI2003] 贪心

    正解:贪心 解题报告: 传送门! 这题贪心得挺显然的,,,?居然能有蓝,,,是蓝题太水了嘛,,,? 简单说下,这题一看到就能想到,对最低的没被覆盖到的点给它的祖父建一个消防局 没了? 哦这题实现还挺有 ...

  8. 【剑指offer】变态跳台阶

    一.题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 二.思路: f(n)=f(n-1)+f(n-2)+...+f(0),f(1) ...

  9. 使用vue如何默认选中单选框

    使用了vue以后,发现这真的是一个灵活高效的框架,能够轻松实现页面的实时刷新.那么,今天先聊聊单选框的使用.一般我们使用单选框,会这么写: //HTML <input type=" c ...

  10. CentOS.56安装Redis监控工具RedisLive

    RedisLive是一款开源的基于WEB的reids的监控工具,以WEB的形式展现出redis中的key的情况,实例数据等信息! RedisLive在github上的地址:https://github ...