获取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基于宏 ...
随机推荐
- JVM内运行时数据区
JVM的基本区域: 类加载子系统 运行时数据区(内存区域) 执行引擎 运行时数据区域 方法区(Method Area) 类的所有字和方法字节码,以及一些特殊方法如构造函数,接口代码也在这里定义.简单来 ...
- iSensor APP 之 摄像头调试 OV9655
iSensor APP 之 摄像头调试 OV9655 iSensor app 非常适合调试各种摄像头,已测试通过的sensor有: l OV7670.OV7725.OV9650.OV9655.OV ...
- Xshell连接阿里云服务器
1.遇到的问题 直接用阿里云的终端,还需要登录浏览器很是麻烦,所以用Xshell,ssh远程登录这样就轻松方便了很多. 2.打开 打开安装好的Xshell,点击新建 出现了这个界面,首先注意主 ...
- 【MobX】391- MobX 入门教程(下)
点击上方"前端自习课"关注,学习起来~ 三.MobX 常用 API 介绍 3. 修改可观察数据 在上一部分内容中,我们了解到,对可观察的数据做出反应的时候,需要我们手动修改可观察数 ...
- 【eclipse】Editor does not contain a main type
问题现象: eclipse运行java程序的时候弹出对话框:Editor does not contain a main type. 解决方法: 右击 src路径 → Build Path → Use ...
- Java工作流系统jflow向工作处理器传值的方法大全
关键词:工作流快速开发平台 工作流流设计 业务流程管理 asp.net 开源工作流 bpm工作流系统 java工作流主流框架 自定义工作流引擎 表单设计器 流程设计器 在启动开始节点时, ...
- MySQL创建数据表时设定引擎MyISAM/InnoDB
我在配置mysql时将配置文件中的默认存储引擎设定为了InnoDB.今天查看了MyISAM与InnoDB的区别,在该文中的第七条"MyISAM支持GIS数据,InnoDB不支持.即MyISA ...
- CSRF与auth模块
目录 一.模拟实现中间件的编程思想 (一)impotlib模块 (二)实现功能的配置使用 二.跨站请求伪造CSRF (一)由来 (二)form表单的CSRF (三)ajax中的CSRF (1)通过da ...
- linux指令-date
1.在linux中要显示日期,则可以直接输入指令date 2.如果想以这样2016/12/26的方式输出呢,那就是,Y是年份,m是月份,d是日 date +%Y/%m/%d 3.如果要显示时间,则da ...
- C# 中的栈和堆
程序运行时,它的数据必须存储在内存中.一个数据项需要多大的内存.存储在内存中的什么位置.以及如何存储都依赖于该数据项的类型. 运行中的程序使用两个内存区域来存储数据:栈和堆. 栈 栈是一个内存数组,是 ...