首页 > 其他分享 >获取zabbix全量主机

获取zabbix全量主机

时间:2023-05-15 18:56:33浏览次数:46  
标签:主机 self stop zabbix host hosts 全量 password user

修改URL和username password为自己的系统即可

#!/usr/bin/python3
# -*- coding: utf-8 -*
# Copyright (C) 2023 - 2023 zhoujt, Inc. All Rights Reserved 
# @Date    : 2023/5/15 18:03
# @Author  : zhoujt
# @Email   : [email protected]
# @FileName: ZabbixGet_all_host.py
# @IDE     : PyCharm
import requests
import json


# 获取token
class Zabbix:
    def __init__(self, user, password):
        self.user = user
        self.password = password
        self.session = requests.Session()
        self.host = 'http://zabbix.zhoujt.com'
        self.url = self.host + '/api_jsonrpc.php'
        self.login()

    def login(self):
        data = {
            "jsonrpc": "2.0",
            "method": "user.login",
            "params": {
                "user": self.user,
                "password": self.password
            },
            "id": 1,
            "auth": None
        }
        response = self.session.post(self.url, json=data)
        # 获取结果中的token
        self.auth = response.json()['result']

    def get_hosts(self):
        auth_token = self.auth
        # 构造API请求的数据
        data = {
            'jsonrpc': '2.0',
            'method': 'host.get',
            'params': {
                'output': ['hostid', 'host', 'status'],
                'selectInterfaces': ['ip']
            },
            'auth': auth_token,
            'id': 1
        }
        url = self.url
        headers = {'Content-Type': 'application/json'}
        # 发送API请求
        response = requests.post(url, headers=headers, data=json.dumps(data))

        # 解析响应数据
        result = json.loads(response.text)
        stop_host = []
        # 提取主机信息
        if 'result' in result:
            hosts = result['result']
            sum_1 = 0
            for host in hosts:
                sum_1 += 1
                host_id = host['hostid']
                host_name = host['host']
                ip_address = host['interfaces'][0]['ip']
                status = host['status']
                print(f"Host ID: {host_id}, Name: {host_name}, IP: {ip_address}, status: {status}")
                if int(status) == 1:
                    stop_host.append(ip_address)
        else:
            print("Failed to retrieve hosts.")
        print("Host sum: %s" % sum_1)
        stop_1 = 0
        print("=======The stop hosts=======\n")
        for i in stop_host:
            stop_1 += 1
            print(i)
        print("Stop hosts: %s" % stop_1)


zab = Zabbix(user="zhoujt", password="password")
zab.get_hosts()

 

标签:主机,self,stop,zabbix,host,hosts,全量,password,user
From: https://www.cnblogs.com/security-guard/p/get_zabbix_host.html

相关文章

  • Windows 11 恢复经典的右键全量菜单
    设置打开windows命令行终端输入并回车(下列代码为同一行):regaddHKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32/ve/d""/f退出命令行终端退出并重新登录账号或重启资源管理器或重启电脑恢复默认打开windows命令行终端输入并回......
  • zabbix告警 Zabbix server: Utilization of housekeeper processes over 75% 解决方法
    原因分析为了防止数据库持续增大,Zabbix有自动删除历史数据的机制,即housekeeper,而在频繁清理历史数据的时候,MySQL数据库可能出现性能降低的情况,此时就会告警。一般来说,Zabbix都会监控ZabbixServer本身。如下所示,我们可以分析“Zabbixserver:Utilizationofhousekeeperinte......
  • 清理zabbix历史数据
    zabbix历史记录一般是这几个表清理历史记录就是清理这几个表简单粗暴清理直接重建表TRUNCATETABLEhistory;OPTIMIZETABLEhistory;TRUNCATETABLEhistory_uint;OPTIMIZETABLEhistory_uint;TRUNCATETABLEhistory_str;OPTIMIZETABLEhistory_str;TRUNCATE......
  • labview 多路温度采集系统,工程实例代码,modbus通讯(Ni-modbus),一路串口主机,两路从机设
    labview多路温度采集系统,工程实例代码,modbus通讯(Ni-modbus),一路串口主机,两路从机设备(一路进行温度采集,一路进行开关控制),软件架构精简易拓展,软件涉及到fgv功能性全局变量队列,引用等高级labview知识点,适合学习提升labview开发能力。该程序为2018版,程序为个人开发ID:12996200......
  • MES系统Labview开发的发动机生产线源码,公司给国内主机厂配套的生产线,爱好工控的朋友可
    MES系统Labview开发的发动机生产线源码,公司给国内主机厂配套的生产线,爱好工控的朋友可以参考,架构经典,非常值得参考,学习,里面很多功能可以直接借用ID:55300605992377250......
  • 设备Labview源码,给国内主机厂配套,采用Modus _tcp和西门子P L C通讯采集数据,研华P C I
    设备Labview源码,给国内主机厂配套,采用Modus_tcp和西门子PLC通讯采集数据,研华PCI板卡,工艺配方,数据曲线存储和追溯,是有志于上位机labview工程师参考好教程ID:27100606427875413......
  • 如何设置主机电脑静态IP地址
    注意:请在完成环境搭建后设置主机的静态IP(方便以后重新开启虚拟机时进行操作),不要在没有完成环境搭建时设置静态IP!!!因为虚拟机node结点在进行环境搭建的时候,需要联网下载一些依赖包!!!右键左下角windows点击网络连接-->网络和共享中心接下来按照自己电脑的ip改,我这里这是参考......
  • G034-OP-COA-OPEN-04 OpenStack 发放云主机(图形化)
    1您需要了解本篇采用OpenStack图形化界面进行操作模拟弹性公网EIP地址段规划:采用和控制节点、计算节点同一网段即可,如:192.168.100.0/24模拟云主机私网IP地址段规划:自定义网段,如:192.168.88.0/24RedHatOpenStack环境可参考下方G033博文进行搭建文章中所提到的公网......
  • omron欧姆龙CJ/CP程序 欧姆龙CJ2M-CPU35,搭配普洛菲斯触摸屏,主机
    omron欧姆龙CJ/CP程序欧姆龙CJ2M-CPU35,搭配普洛菲斯触摸屏,主机搭载NC413定位控制模块带将近30轴,NG剔除功能。全自动CE锂电池包装成型机,轴控制,涵盖人机配方一键换型功能,故障记录功能,产量统计及OEE功能,优质的触摸屏程序模板,气缸报警功能块,真空报警功能块,轴实时位置,脉冲转毫米功......
  • omron欧姆龙CJ/CP程序 欧姆龙CP1H-XA,主机搭载CIF串口模块与从机PC LIN
    omron欧姆龙CJ/CP程序欧姆龙CP1H-XA,主机搭载CIF串口模块与从机PCLINK通信控制,全自动CE锂电池贴胶检测机,主从站进行轴控制,涵盖人机配方一键换型功能,故障记录功能,产量统计及OEE功能,优质的触摸屏程序模板,气缸报警功能块,真空报警功能块轴实时位置脉冲转毫米功能块等,可重复调用整条生......