阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

基于Zabbix添加host与trigger

485次阅读
没有评论

共计 3447 个字符,预计需要花费 9 分钟才能阅读完成。

在配置 Zabbix 的过程中或者通过 Zabbix 获取数据是,总是需要获取各个组建的 id 号,有时候需要添加几十上百个 item 或者 trigger。所以就自己写了下面的类。如果以后有需要会再完善。不过估计是不需要了,因为做了一个月监控,终于做完了。代码如下,已经给出简单的注释。有问题可留言。

#!/usr/bin/Python
#-*- coding:utf8 -*-
from zabbix_api import ZabbixAPI
class zabbix_tools:
    ”’
        从 zabbixweb 端获取,Item,host,等列表并添加 host 及 trigger。
    ”’
    def __init__(self,server,username,password):
        self.server=server
        self.zapi = ZabbixAPI(server=self.server, path=””, log_level=0)
        self.zapi.login(username,password)
        self.item_dict={}
        self.app_dict={}
        self.host_dict={}
        self.group_dict={}
       
    def get_item_list(self,hostname):
        #获取指定 host 的 item 列表
        search={“filter”:{“host”:[hostname]}}
        for application_id in [‘2311′,’2312’]:
            search[“applicationids”]=application_id
            for item_info in self.zapi.item.get(search):
                self.item_dict[item_info[“name”]]=[item_info[“itemid”],item_info[“key_”]]
        return self.item_dict
       
    def get_host_list(self):
        #获取整个 zabbix 的 host 列表
        for host in zapi.host.get({}):
            self.host_dict[host[‘name’]]=host[‘hostid’]
        return self.host_dict
       
    def get_group_list(self):
        #获取整个 zabbix 的 hostgroup 列表
        for group in zapi.hostgroup.get({}):
            self.group_dict[group[‘name’]]=group[‘groupid’]
        return self.group_dict
       
    def get_host_info(self,hostname):
        #获取指定 host 的信息
        host_info = self.zapi.host.get({“selectInterfaces”:[“interfaceid”],”filter”:{“host”:[hostname]}})
        hostid = host_info[0][‘hostid’]
        interfaceid =  host_info[0][‘interfaces’][0][‘interfaceid’]
        return (hostid,interfaceid)
       
    def get_aplication_list(self,hostname):
        #获取指定 host 的 application 列表
        search={“filter”:{“host”:[hostname]}}
        for app in self.zapi.application.get(search):
            self.app_dict[app[‘name’]]=app[‘applicationid’]
        return self.app_dict
       
    def create_item(name,key,hostname,appname):
        #在指定 host 下添加一个 item 并指定 appname。
        a = self.get_host_info(hostname)
        hostid = a[0]
        interfaceid = a[1]
        applicationid=self.get_aplication_list[hostname][appname]
        create_item=self.zapi.item.create(
            {
                “name”:name,
                “key_”:key,
                “hostid”:hostid,
                “type”:0,
                “value_type”:0,
                “interfaceid”:interfaceid,
                “date_type”:0,
                “delay”:60,
                “history”:7,
                “trends”:90,
                “status”:0,
                “applications”:[
                    applicationid
                ]
            }
        )
        return “item create success”
       
    def create_trigger(self,expression,description,hostname):
        #为某个 host 添加 trigger
        a = self.get_host_info(hostname)
        hostid = a[0]
        self.zapi.trigger.create({“description”:description,”expression”:expression,”hostid”:hostid,’priority’:2})
        print “trigger create success”
       
if __name__ == ‘__main__’:
    server = “zabbix web server url”
    username = “youusername”
    password = “yourpassword”
    app=zabbix_tools(server,username,password)
    print app.get_group_list()

一些 Zabbix 相关教程集合

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

CentOS 7 LNMP 环境搭建 Zabbix3.0  http://www.linuxidc.com/Linux/2017-02/140134.htm

Ubuntu 16.04 安装部署监控系统 Zabbix2.4  http://www.linuxidc.com/Linux/2017-03/141436.htm

Zabbix 监控安装部署及警报配置  http://www.linuxidc.com/Linux/2017-03/141611.htm

Ubuntu 16.04 下安装部署 Zabbix3.0  http://www.linuxidc.com/Linux/2017-02/140395.htm

CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm

CentOS 7 下 Zabbix 3.0 安装详解 http://www.linuxidc.com/Linux/2017-03/141716.htm

64 位 CentOS 6.2 下安装 Zabbix 2.0.6   http://www.linuxidc.com/Linux/2014-11/109541.htm

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

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141918.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3447字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19355
评论数
4
阅读量
8259058
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的 3D 玩偶了 前些日子参加某网站活动,获得一次实物 3D 打印的机会,于是从众多...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
云服务器部署OpenClaw:轻量应用服务器+钉钉和QQ机器人

云服务器部署OpenClaw:轻量应用服务器+钉钉和QQ机器人

  云服务器部署 OpenClaw:轻量应用服务器 + 钉钉和 QQ 机器人 一、前言 最近开源圈爆...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...