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,不多说,谁看谁入迷,下面言归正传, 看看这 ...
随机推荐
- 启动zookeeper时出现的问题
zkEnv.cmd @echo off REM Licensed to the Apache Software Foundation (ASF) under one or more REM contr ...
- HTML5 FileReader
利用HTML5中的FileReader类,动态切换af中Panel的背景,动态设置img元素的图片 1 if(FileReader){ 2 $('.panel').on("tap" ...
- 消息中间件的意义和应用场景 (activeMq)
消息中间件一般两个功能,解耦和异步处理,分别举个例子吧 解耦合:比如我们做一个微博产品中的好友系统,就很需要使用消息中间件当我们添加一个关注的时候, 涉及以下几个子系统 推荐系统,需要根据你关注的人给 ...
- linux(redhat)环境下,如何解压rar文件?
需求描述: 今天一个同事发过来一个压缩文件,让传送到linux服务器上,传上去之后,发现是rar格式的 之前没有解压过,就找了一些解压方法,在此记录下. 操作过程: 1.下载rar在linux环境下的 ...
- [原]pomelo开发环境搭建
pomelo基于nodejs服务器开源框架,比较牛逼的! 1.安装nodejs(官网下载地址) 安装python等 具体见官网说明 2.安装pomelo(见官方步骤)或者 http://blog.cs ...
- MyBatis 原码解析(version:3.2.7)
mybatis-plus 实践及架构原理.pdf mybatis-plus思维导图 首先,我们看使用原生的JDBC来操作数据库的方式: // 1. 获取JDBC Connection Connecti ...
- Git学习笔记(三)
Git提交相关内容 在Git提交时,会保存一个提交对象,该对象包括一个指向暂存区内容快照的指针,包括本次提交作者等相关附属信息,包括零个或多个指向该提交对象的父对象指针:首次提交时是没有祖先,普通提交 ...
- Java获取一维数组的最小值
编写程序,实现接受用户在文本框中输入的单行数据.这些数据都是整数数字,以空格进行分隔,空格数量不限.并将这些数据分割成一维数组,再从数组中提取最小值显示在界面中.思路是先对用户的输入进行验证,即先用t ...
- ios开发之--多个按钮单选效果
开发项目时,有很多场景需要用到按钮单选效果,例如充值页面,选择标签页面等,具体实现代码如下: 1,创建 -(UIView *)headerView { CGFloat width = (Kscreen ...
- ios开发之--两次模态弹出后,怎么返回最上层的页面
解决方法如下: self.presentingViewController.view.alpha = ;[self.presentingViewController.presentingViewCon ...