zabbix高级玩法之通过xml文件一次性导入
author:headsen chen
date: 2018-11-10 10:08:38
背景:zabbix的硬件监控架构已经部署完成,接下来就是创建主机这一步,2400台主机如果采用一台台的创建和关联模板就太慢了。硬件监控不用于agent方式,agent的方式可以采用添加自动发现的规则来自动注册。
硬件监控采用 server端通过SNMP服务去各个物理机的管理卡上去抓相应的硬件信息。所以无法通过自动发现规则来添加主机
1,手动添加一台主机,导出该主机的xml配置信息:
<zabbix_export> <version>4.0</version> <date>2018-11-09T11:12:04Z</date> <groups> <group> <name>Linux servers</name> </group> <group> <name>北京dell服务器组</name> </group> </groups> <hosts> <host> <host>1.1.1.1</host> <name>1.1.1.1</name> <description/> <proxy> <name>10-20-42-2</name> </proxy> <status>0</status> <ipmi_authtype>-1</ipmi_authtype> <ipmi_privilege>2</ipmi_privilege> <ipmi_username/> <ipmi_password/> <tls_connect>1</tls_connect> <tls_accept>1</tls_accept> <tls_issuer/> <tls_subject/> <tls_psk_identity/> <tls_psk/> <templates> <template> <name>Template Dell iDrac SNMPV2</name> </template> </templates> <groups> <group> <name>Linux servers</name> </group> </groups> <interfaces> <interface> <default>1</default> <type>2</type> <useip>1</useip> <ip>1.1.1.1</ip> <dns/> <port>161</port> <bulk>1</bulk> <interface_ref>if1</interface_ref> </interface> </interfaces> <applications/> <items/> <discovery_rules/> <httptests/> <macros/> <inventory/> </host> </hosts></zabbix_export> |
2,分析该xml文件,解析结构分为以下几个标签
<zabbix_export> <version>4.0</version> <date>2018-11-09T11:12:04Z</date> <groups> <group> ...
</group>
</groups> <hosts> ...
</hosts> </zabbix_export> |
其中:hosts 标签就每台添加的主机的信息,我们每次添加的主机,都是再写一个 <hosts> 标签
3,将2400台主机的IP写入dell-ip-list 文件里,并放入centos6.8的系统里,以便通过shell进行操作
4,构思:利用for循环实现生成2400台主机的xml文件
第一步:文件头部不动的部分:
# cat >> dell.xml <<EOF<?xml version="1.0" encoding="UTF-8"?><zabbix_export> <version>4.0</version> <date>2018-11-09T11:12:04Z</date> <groups> <group> <name>Linux servers</name> </group> <group> <name>北京dell服务器组</name> </group> </groups> <hosts>EOF |
第二步:写一个单 <hosts>标签的模板文件:
# cat >> plate.xml << <host> <host>1.1.1.1</host> <name>1.1.1.1</name> <description/> <proxy> <name>10-20-42-2</name> </proxy> <status>0</status> <ipmi_authtype>-1</ipmi_authtype> <ipmi_privilege>2</ipmi_privilege> <ipmi_username/> <ipmi_password/> <tls_connect>1</tls_connect> <tls_accept>1</tls_accept> <tls_issuer/> <tls_subject/> <tls_psk_identity/> <tls_psk/> <templates> <template> <name>Template Dell iDrac SNMPV2</name> </template> </templates> <groups> <group> <name>Linux servers</name> </group> </groups> <interfaces> <interface> <default>1</default> <type>2</type> <useip>1</useip> <ip>1.1.1.1</ip> <dns/> <port>161</port> <bulk>1</bulk> <interface_ref>if1</interface_ref> </interface> </interfaces> <applications/> <items/> <discovery_rules/> <httptests/> <macros/> <inventory/> </host>EOF |
第三步:利用for循环生成2400个物理机的hosts标签文件的脚本: xml.sh
第四步:运行该脚本,生成dell.xml 的文件
# sh xml.sh |
5,将dell.xml文件导入

静等15分钟。之后刷新页面,得到如下页面证明配置成功:

zabbix高级玩法之通过xml文件一次性导入的更多相关文章
- maven 高级玩法
maven 高级玩法 标签(空格分隔): maven 实用技巧 Maven 提速 多线程 # 用 4 个线程构建,以及根据 CPU 核数每个核分配 1 个线程进行构建 $ mvn -T 4 clean ...
- 轻量级高性能ORM框架:Dapper高级玩法
Dapper高级玩法1: 数据库中带下划线的表字段自动匹配无下划线的Model字段. Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true; 备 ...
- 【ASP.NET Core】依赖注入高级玩法——如何注入多个服务实现类
依赖注入在 ASP.NET Core 中起中很重要的作用,也是一种高大上的编程思想,它的总体原则就是:俺要啥,你就给俺送啥过来.服务类型的实例转由容器自动管理,无需我们在代码中显式处理. 因此,有了依 ...
- 【Python基础】random 的高级玩法
random 模块的高级玩法 1.python 随机产生姓名 方式一: import random xing = [ '赵', '钱', '孙', '李', '周', '吴', '郑', '王', ' ...
- Word 查找替换高级玩法系列之 -- 段首批量添加字符
打开「查找和替换」输入框,按照下图操作: 更多查找替换高级玩法,参看:Word查找替换高级玩法系列 -- 目录篇 未完 ...... 点击访问原文(进入后根据右侧标签,快速定位到本文)
- Word 查找替换高级玩法系列之 -- 把论文中的缩写词快速变成目录下边的注释表
1. 前言 问题:Word写论文如何把文中的缩写快速转换成注释表? 原来样子: 想要的样子: 2. 步骤 使用查找替换高级用法,替换缩写顺序 选中所有文字 打开查找替换对话框,输入以下表达式: 替换后 ...
- mybatis mapper xml文件的导入方式和查询方式
mybatis mapper xml文件的导入方式和查询方式 ssm框架 Mybatis mapper与SQLSession的关系 每个基于MyBatis的应用都是以一个SqlSessionFact ...
- 十五天精通WCF——第九天 高级玩法之自定义Behavior
终于我又看完了二期爱情保卫战,太酸爽了,推荐链接:http://www.iqiyi.com/a_19rrgublqh.html?vfm=2008_aldbd,不多说,谁看谁入迷,下面言归正传, 看看这 ...
- [转]十五天精通WCF——第九天 高级玩法之自定义Behavior
终于我又看完了二期爱情保卫战,太酸爽了,推荐链接:http://www.iqiyi.com/a_19rrgublqh.html?vfm=2008_aldbd,不多说,谁看谁入迷,下面言归正传, 看看这 ...
随机推荐
- 安卓开发笔记——Fragment+FragmentTabHost组件(实现新浪微博底部菜单)
记得之前写过2篇关于底部菜单的实现,由于使用的是过时的TabHost类,虽然一样可以实现我们想要的效果,但作为学习,还是需要来了解下这个新引入类FragmentTabHost 之前2篇文章的链接: 安 ...
- Pair programming
Pair programming is an agile software development technique in which two programmers work together a ...
- HTML5标签canvas图像处理
摘要: canvas可以读取图片后,使用drawImage方法在画布内进行重绘.本文介绍canvas的图像处理 drawImage drawImage() 方法在画布上绘制图像.画布或视频.drawI ...
- [Unity3D] 01 - Try Unity3D
01. Move and Rotate 标准全局坐标系 Keyboard using UnityEngine; using System.Collections; public class NewBe ...
- 一个java程序员的年终总结
年底了,该给自己写点总结了! 从毕业到现在已经快4年啦,一直在Java的WEB开发行业混迹.我不是牛人,但是自我感觉还算是个合格的程序员,有必要写下自己将近4年来的经历,给自我以提示,给刚入行的朋友提 ...
- 九度 1254:N皇后问题
Leetcode 原题. 这里 N 最大会取到 13, TLE 了 代码 #include <iostream> #include <stdio.h> using namesp ...
- Weblogic集群部署
有些事情不去尝试,注定是失败,如果预知90%的失败仍然去尝试了,那也会从中学到很多,何况仅靠那10%的可能性也会成功 weblogic安装后 1.打开Configuration Wizard 2.创建 ...
- Python "HTTP Error 403: Forbidden"
问题: 执行下面的语句时 def set_IPlsit(): url = 'https://www.whatismyip.com/' response = urllib.request.urlopen ...
- AngularJS控制器和AngularJS过滤器的学习(3)
前面简单的学习了AngularJS的表达式和指令,就可以说大概对AngularJS有了一定的了解吧,嘿嘿,下面就来总结学习一下AngularJS的控制器和过滤器哦. 说起来AngularJS控制器,其 ...
- @OneToMany、@ManyToOne以及@ManyToMany讲解
一.一对多(@OneToMany)1.单向一对多模型假设通过一个客户实体可以获得多个地址信息.对于一对多的实体关系而言,表结构有两种设计策略,分别是外键关联和表关联.(1) 映射策略---外键关联在数 ...