通过Zabbix监控60台阿里云的RDS和redis数据库(2)

/usr/local/sbin/database_api.py $1 $2 $3 | grep -Po 'Average":\K[.\d]+' |tail -1
单独把自定义key的后半部分解释一下。在创建item时,database_api.py会通过key获取到三个值
分别是Project,Metric和实例id。然后通过grep提取json字符串中Average对应的值,因为有可能获取
很多值,所以用tail获取最后一个值。

注:主要的坑就是上面的哪个start_time,如果获取不到值就再设置大点就好。下面就是批量增加item的代码。大致参考的是别人的。其中需要注意 的一点就是我是手动获取applicationid的,可以连接上zabbix后通过 zapi.application.get({"filter":{'name':["APPLICATION_NAME"]}})[0]['applicationid'] 获取application的id。其中APPLICATION_NAME就是你的application的名字咯。如果并不需要放入某个application,可以删掉其中的applications那一项。

#!/usr/bin/python
#-*- coding:utf8 -*-
import sys
from zabbix_api import ZabbixAPI
server = "http://YourZabbixServerAddress"
username = "Admin"
password = "password"
zapi = ZabbixAPI(server=server, path="", log_level=0)
zapi.login(username, password)
 
def get_hostinfo():
        #主要用来获取host的id,接口的id,其中HOST_NAME就是你想往哪个host里面增添item。
    host_info=zapi.host.get({"selectInterfaces":["interfaceid"],"filter":{"host":["HOST_NAME"]}})
    hostid = host_info[0]['hostid']
    interfaceid =  host_info[0]['interfaces'][0]['interfaceid']
    return (hostid,interfaceid)
 
def create_item(name,key):
    a = get_hostinfo()
    hostid = a[0]
    interfaceid = a[1]
    create_item=zapi.item.create(
        {
            "name":name,
            "key_":key,
            "hostid":hostid,
            "type":0,
            "value_type":0,#0是float,3是整数
            "interfaceid":interfaceid,
            "date_type":0,
            "delay":60,
            "history":7,
            "trends":90,
            "status":0,
            "applications":[ #如果不放入某个applications可以删掉此项
                "2311"
            ]
        }
    )
    return "item create success"
if __name__ == "__main__":
    arg1='CpuUsage'
    with open('conf') as f:
            #从conf文件中读取实例id和实例名称。
        for i in f:
            rds=i.split()
            key="rds.get_from_cms[acs_rds,%s,%s]"%(arg1,rds[0])
           %(rds[1],arg1)
            print key,name
            result=create_item(name,key) #调用添加函数。
            print result

#conf
实例id 实例名称

一些Zabbix相关教程集合

Ubuntu 14.04下Zabbix2.4.5 源码编译安装  .com/Linux/2015-05/117657.htm

CentOS 7 LNMP环境搭建Zabbix3.0 

Ubuntu 16.04安装部署监控系统Zabbix2.4 

Zabbix监控安装部署及警报配置 

Ubuntu 16.04下安装部署Zabbix3.0 

CentOS 6.3下Zabbix监控apache server-status

CentOS 7 下 Zabbix 3.0安装详解

64位CentOS 6.2下安装Zabbix 2.0.6   

ZABBIX 的详细介绍请点这里
ZABBIX 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7e3c06c76f1c099c260618553f4501d3.html