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

#!/bin/bash
for i in `cat dell-ip-list`
do
   cat plate.xml > dd
   sed -i "s/1.1.1.1/$i/g" dd
   cat dd >> dell.xml
done
echo "     </hosts>
</zabbix_export>" >> dell.xml

第四步:运行该脚本,生成dell.xml 的文件

# sh xml.sh

5,将dell.xml文件导入

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

zabbix高级玩法之通过xml文件一次性导入的更多相关文章

  1. maven 高级玩法

    maven 高级玩法 标签(空格分隔): maven 实用技巧 Maven 提速 多线程 # 用 4 个线程构建,以及根据 CPU 核数每个核分配 1 个线程进行构建 $ mvn -T 4 clean ...

  2. 轻量级高性能ORM框架:Dapper高级玩法

    Dapper高级玩法1: 数据库中带下划线的表字段自动匹配无下划线的Model字段. Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true; 备 ...

  3. 【ASP.NET Core】依赖注入高级玩法——如何注入多个服务实现类

    依赖注入在 ASP.NET Core 中起中很重要的作用,也是一种高大上的编程思想,它的总体原则就是:俺要啥,你就给俺送啥过来.服务类型的实例转由容器自动管理,无需我们在代码中显式处理. 因此,有了依 ...

  4. 【Python基础】random 的高级玩法

    random 模块的高级玩法 1.python 随机产生姓名 方式一: import random xing = [ '赵', '钱', '孙', '李', '周', '吴', '郑', '王', ' ...

  5. Word 查找替换高级玩法系列之 -- 段首批量添加字符

    打开「查找和替换」输入框,按照下图操作: 更多查找替换高级玩法,参看:Word查找替换高级玩法系列 -- 目录篇 未完 ...... 点击访问原文(进入后根据右侧标签,快速定位到本文)

  6. Word 查找替换高级玩法系列之 -- 把论文中的缩写词快速变成目录下边的注释表

    1. 前言 问题:Word写论文如何把文中的缩写快速转换成注释表? 原来样子: 想要的样子: 2. 步骤 使用查找替换高级用法,替换缩写顺序 选中所有文字 打开查找替换对话框,输入以下表达式: 替换后 ...

  7. mybatis mapper xml文件的导入方式和查询方式

    mybatis mapper xml文件的导入方式和查询方式 ssm框架 Mybatis  mapper与SQLSession的关系 每个基于MyBatis的应用都是以一个SqlSessionFact ...

  8. 十五天精通WCF——第九天 高级玩法之自定义Behavior

    终于我又看完了二期爱情保卫战,太酸爽了,推荐链接:http://www.iqiyi.com/a_19rrgublqh.html?vfm=2008_aldbd,不多说,谁看谁入迷,下面言归正传, 看看这 ...

  9. [转]十五天精通WCF——第九天 高级玩法之自定义Behavior

    终于我又看完了二期爱情保卫战,太酸爽了,推荐链接:http://www.iqiyi.com/a_19rrgublqh.html?vfm=2008_aldbd,不多说,谁看谁入迷,下面言归正传, 看看这 ...

随机推荐

  1. Linux 系统目录介绍

    bin : bin 是Binary 二进制的缩写,就是可执行文件了.Bin目录下是用户常用的命令. sbin: 此目录下也是二进制文件 ,不过这里的命令是 超级用户如 root 这样的用户使用的. e ...

  2. Lucas-Kanade算法总结

    Lucas-Kanade算法广泛用于图像对齐.光流法.目标追踪.图像拼接和人脸检测等课题中. 一.核心思想 给定一个模板和一个输入,以及一个或多个变换,求一个参数最佳的变换,使得下式最小化 在求最优解 ...

  3. 在PC上运行安卓(Android)应用程序的几个方法

    三种方法: 1.在PC安装一个安卓模拟器,在模拟器里面运行apk: 2.虚拟机安装 Android x86 然后在此系统里运行: 3.利用谷歌chrome浏览器运行(这是一个新颖.有前途.激动人心的方 ...

  4. EA修改生成代码的表头注释

    我们在做项目的过程中,每个代码文件都应有此文件的注释,比如说作者,文件说明等.但是如果用EA生成的代码文件的注释是纯英文的,而且有些不是我们需要显示的注释,有些我们需要显示的它又不具备.那么我们就可以 ...

  5. python unittest 3- 框架Nose

    当前python的测试框架主要有以下三个: 1)zope.testing 2)py.test 3)Nose Nose下载:https://github.com/nose-devs/nose 1.Nos ...

  6. 求字符串长度StringLength();

    // StringLength2.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" int StringLength(char str[]) ...

  7. 纯CSS实现瀑布流布局

    https://www.w3cplus.com/css/pure-css-create-masonry-layout.html

  8. springboot+swagger2案例

    1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  9. SQL Server 2008 清空删除日志文件 130G日志 10秒内变10M

    SQL2005: Backup Log DNName with no_log  '这里的DNName是你要收缩的数据库名,自己注意修改下面的数据库名,我就不再注释了. go dump transact ...

  10. JVM虚拟机内存模型以及GC机制

    JAVA堆的描述如下: 内存由 Perm 和 Heap 组成. 其中 Heap = {Old + NEW = { Eden , from, to } } JVM内存模型中分两大块,一块是 NEW Ge ...