获取zabbix上所有主机的IP和主机名
#coding:utf-8
#获取zabbix上所有主机的IP和主机名
import requests
import json
import csv
import time def get_token():
data = {
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": username,
"password": password
},
"id": 0
}
r = requests.get(zaurl, headers=header, data=json.dumps(data))
auth = json.loads(r.text)
return auth["result"] def getHosts(token):
data = {
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": [
"hostid",
"host"
],
"selectInterfaces": [
"interfaceid",
"ip"
]
},
"id": 2,
"auth": token, } request = requests.post(zaurl, headers=header, data=json.dumps(data))
dict = json.loads(request.content)
# print (dict['result'])
return dict['result'] if __name__ == "__main__":
zaurl="http://xx.xx.xx.xx/zabbix/api_jsonrpc.php"
header = {"Content-Type": "application/json"}
username = "xx"
password = "xx" token = get_token()
hostlist = getHosts(token)
datafile = "zabbix.txt"
fdata = open(datafile,'w')
for i in hostlist:
hostid = i['hostid']
hostip = i['host']
fdata.write(hostip + ' ' + hostid + '\n')
fdata.close()
获取zabbix上所有主机的IP和主机名的更多相关文章
- linux下的shell命令的编写,以及java怎样调用linux的shell命令(java怎样获取linux上的网卡的ip信息)
程序猿都非常懒,你懂的! 近期在开发中,须要用到server的ip和mac信息.可是server是架设在linux系统上的,对于多网口,在获取ip时就产生了非常大的问题.以下是在windows系统上, ...
- 通过Zabbix API实现对主机的增加(无主机资产的添加和带主机资产的添加)、删除、获取主机id、获取模板id、获取组id
config.yaml存储zabbix的信息(主要包括zabbix server的url .请求头部.登陆的用户名密码) Zabbix_Config: zabbix_url: http://192.1 ...
- 使用ACE获取主机的IP地址
使用ACE获取主机的IP地址,不知道为什么会有127.0.0.1? #include "stdafx.h" #include "ace\OS.h" #inclu ...
- HAproxy通过X-Forwarded-For 获取代理的上一层用户真实IP地址
现在有一个场景就是我们的haproxy作为反向代理,但是我们接了一个抗DDoS设备.所以现在haproxy记录的IP都是抗DDoS设备的IP地址,获取不到用户的真实IP 这样,我们在haproxy 上 ...
- java 获取访问主机的ip地址
Java的api的说法: getHeader public java.lang.String getHeader(java.lang.String name) Return the first val ...
- shell 批量获取ip 和主机名
[DNyunwei@YZSJHL24-209 li]$ cat jia.sh #!/bin/bash ip=`cat jia.ip` for i in $ip;do HostName=`ssh -t ...
- Java 获取当前项目所在服务器的 IP 地址
java中获取当前服务器地址主要使用到InetAddress这个类 public static void main(String[] args) { try { //用 getLocalHost() ...
- 【liunx】使用xshell连接虚拟机上的CentOS 7,使用xhell连接本地虚拟机上的Ubuntu, 获取本地虚拟机中CentOS 7的IP地址,获取本地虚拟机中Ubuntu 的IP地址,Ubuntu开启22端口
注意,如果想用xshell去连接本地虚拟机中的linux系统,需要本地虚拟机中的系统是启动的才能连接!!!!! ============================================ ...
- zabbix上的宏(macro)介绍
宏:macro,预设的文本替换模式: 宏是一种抽象概念(Abstraction),它根据一些列预定义的规则替换一定的文本模式,而解释或编译器在遇到宏时会自动进行这一模式替换.类似地,zabbix基于宏 ...
随机推荐
- npm 安装/删除/发布/更新/撤销 发布包
目录 一. npm安装包 1.1 什么时候用本地/全局安装? 1 当你试图安装命令行工具的时候,例如 grunt CLI的时候,使用全局安装 2. 当你试图通过npm install 某个模块,并通过 ...
- 最简单易懂的linux系统基础优化
第10章 linux的系统优化 10.1 系统的版本,内核查看 10.1.1 系统版本的查看 [root@oldboy6666 ~]# cat /etc/redhat-release CentOS L ...
- ARTS-S python抽象方法抽象类
# coding: utf-8 from abc import ABC, abstractmethod class AbstractClassExample(ABC): def __init__(se ...
- 浅析Java常量池
Java常量池 Java常量池其实分为两种:静态常量池和运行时常量池 1.静态常量池 所谓静态常量池,即*.class文件中的常量池,class文件中的常量池不仅仅包含字符串(数字)字面量,还包含类. ...
- Vue-兄弟组件传值
学习博客:https://www.jianshu.com/p/b10b3ac3729a
- Golang 入门系列(十七)几个常见的并发模型——生产者消费者模型
前面已经讲过很多Golang系列知识,包括并发,锁等内容,感兴趣的可以看看以前的文章,https://www.cnblogs.com/zhangweizhong/category/1275863.ht ...
- drf源码分析系列---权限
权限的使用 全局使用 from rest_framework.permissions import BasePermission from rest_framework import exceptio ...
- 网络配置工具iproute2和net-tools的基本原理和基本使用方法
这是网络程序设计课程的第一次作业的博客,由于还是小白,分享的内容都是比较基础的东西,希望看到的各位同学可以提出指导意见,必将虚心听取. 这次分享的内容是网络配置工具iproute2和net-tools ...
- 基于ATxmega128的ASF串口应用
1.编辑串口的配置参数,一般将这些参数放在conf_usart.h配置头文件中,本程序将这些参数放在user_board.h头文件中 #define USART_SERIAL &USARTD0 ...
- python将数据库修改,数据库操作同步到数据库中
*****************数据库迁移(同步)命令******************************** 1.python manage.py makemigrations 将数据库的 ...