本主题达到的效果是能通过编写Ansible Playbook,创建zabbix主机组,把被监控的对象加入到zabbix监控系统中,同时链接到对象的模板。

1.准备工作

在zabbix服务器上面,我们需要安装ansible,同时呢,还需要安装一些其它组件,如下:

#  yum install epel-release
#  yum install ansible python-pip
#  pip install zabbix-api
#  pip install --upgrade pip

2. 添加zabbix 主机组的playbook

添加主机前,我们需要创建主机组。

# ansible-playbook add-hostgroup.yml                 #执行playbook会自动添加主机组

playbook内容如下:

添加zabbix主机组
---
- name: config zabbix
  hosts: localhost
  tasks:
  - name: create and update zabbix groups
    local_action:
      module: zabbix_group
      server_url: http://wszabbix.wondershare.cn #zabbix服务器的访问地址
      login_user: wszabbix
      login_password: *******
      state: present
      host_groups:
        - IAAS-App-AD-Srv
        - IAAS-App-Mail-Srv
        - IAAS-App-Skype-Srv
        - IAAS-App-SQL-Srv
        - IAAS-App-Horizon-Srv
        - IAAS-App-Veeam-Srv

3. 添加zabbix主机的playbook

我们需要先写一个变量文件,存放主机信息,采用字典的书写方式,变量文件:win_host_info.yml ,内容如下:

主机变量
hostinfo:                                      #变量名字
  update.wondershare.cn:                       #变量的key,这个可以自己定义,也可以不用被监控的主机的FQDN
    fqdn: update.wondershare.cn                #我定义的是主机的FQDN(变量key的value值,我们需要在playbook中引用,最好定义有意义的名字)
    app: IAAS-App-AD-Srv                       #我的用途是主机组,表示主机存放在哪个主机组
    ip: 192.168.11.157                         #我的用途是主机的IP地址
  szdc04.wondershare.cn:
    fqdn: szdc04.wondershare.cn
    app: IAAS-App-AD-Srv
    ip: 192.168.10.81

定义好了主机变量文件,我们就可以在playbook中引用了。

#ansible-playbook add-win-hosts.yml                        #以下以配置playbook的内容

添加zabbix主机
---
- name: config zabbix
  hosts: localhost
  vars_files:
    - win_host_info.yml
  tasks:
  - name: add and update Windows hosts to zabbix
    local_action:
      module: zabbix_host
      server_url: http://wszabbix.wondershare.cn
      login_user: wszabbix
      login_password: ******
      host_name: "{{ item.value.fqdn }}"
      visible_name: "{{ item.value.fqdn }}"
      host_groups:
        - "{{ item.value.app }}"
      link_templates:                                              #链接的模板
        - Template ICMP Ping
        - Template OS Windows
        - Template TCP Status
      status: enabled
      state: present
      inventory_mode: disabled
      interfaces:
        - type: 1
          main: 1
          useip: 1
          ip: "{{ item.value.ip }}"
          dns: ""
          port: 10050
    with_dict: "{{ hostinfo }}"                                  #迭代的类型选择with_dict

写Ansible playbook添加zabbix被监控的对象的更多相关文章

  1. suse 12 sp1 系统添加zabbix agent监控

    因为之前走入一个误区,认为linux系统的zabbix安装包都是一样的,其实不同的linux的系统对应的版本是不一样的. suse系统版本(不同版本之间也是有区别的):SUSE Linux  12 S ...

  2. 添加zabbix自动发现(监控多tomcat实例)

    说明 何为自动发现?首先我们监控多tomcat实例,如果一个个实例地添加或许可以完成当前需求.但是日后随着实例的增多,再手动一个个去添加就十分不方便了.这时候需要自动发现这个功能,来帮助我们自动添加监 ...

  3. ansible playbook实践(四)-如何调试写好的playbook文件

    有时,我们写了一个长长,功能很强悍的yaml文件,但是,我们有可能会担心,写的yaml文件是否正确,是否有漏洞危机,毕竟是要修改线上的机器,那么,有可能我们可以从以下几个检查维度来进行,确保在大规模应 ...

  4. zabbix添加简单的监控

    本文讲述给zabbix添加zabbix自带模板和自定义添加模板:安装zabbix请参考本文 1.1. 给主机添加zabbix自带监控模板 第一步: 第二步: 如果添加模板,但是模板并没有监控项,下面的 ...

  5. Zabbix添加web页面监控告警

    一,选择添加了web监控的主机 二,创建一个告警触发器 三,定义监控项 设置完毕假如网站down就会触发告警 怎么设置web监控以及触发告警action参考 Zabbix使用SMTP发送邮件报警并且制 ...

  6. zabbix mongodb 监控添加

    在zabbix 上添加mongodb的监控 由于使用的是zabbix 3.0 所有在模板里面又自己的模板名字叫:Template MongoDB 所以 客户端的配置如下 到配置文件目录 /usr/lo ...

  7. zabbix自动化监控基础

    zabbix安装配置文档 2 一 zabbix-server 安装配置(基础配置) 2 二 zabbix agent安装配置 5 2.1 主动模式和被动模式 6 2.2 安装配置zabbix_agen ...

  8. 通过ansible自动化部署zabbix应用

    zabbix在实际的应用中,可能需要监控的主机非常多,而每个主机的操作系统类型.版本也都不尽相同,在这种环境下,通过手动安装zabbix的agent端已经不现实了,此时就需要借助自动化工具完成zabb ...

  9. 通过PlayBook部署Zabbix

    编写Linux初始化剧本 初始化剧本环节,主要用户实现关闭Selinux关闭防火墙,一起配置一下阿里云的YUM源地址,和安装EPEL源,为后期的zabbix安装做好铺垫工作. 1.在安装Zabbix之 ...

随机推荐

  1. Elasticsearch java客户端调用cat服务

    开发环境,测试环境,预发环境和生产环境一般相互隔离的,使用开发环境或者测试环境可以使用cat来查看索引的情况 例如: 但预防环境和测试环境是不允许访问的,那怎么办呢? 可以使用后台来查看上述信息,提供 ...

  2. C#语法之特性

    在项目中经常可以看到在类属性上面有一个[]的东西,今天讲的东西就是它,它英文名是Attribute,中文名是特性. 一.什么是特性? 首先,我们肯定Attribute是一个类,下面是msdn文档对它的 ...

  3. 部署---阿里云服务器,linux, ubuntu ,部署django用到的一些命令

    部署项目<下课说>APP时,总结出的一些命令和方法细节 Linux.ubuntu.django.uwsgi.nginx.mysql 里面有些是查找的资料,我也不大懂[手动笑哭],这还是部署 ...

  4. MVC用非Entity Framework将数据显示于视图(二)

    这篇<MVC用非Entity Framework将数据显示于视图> http://www.cnblogs.com/insus/p/3364235.html 也算是MVC视图显示数据库的数据 ...

  5. Redis-发布与订阅

    发布与订阅(pub/sub)的特点是订阅者负责订阅频道发送者负责向频道发送二进制字符串消息.每当有消息发送至给定频道时,频道的所有订阅者都会收到消息 (发布和订阅命令) SUBSCRIBE : SUB ...

  6. Jquery 基本动画

    1.三组基本的动画 显示:show .隐藏hide.滑入:slideUp.滑出:slideDown.滑入滑出切换:slideTpggle.淡入:fadeIn.淡出:fadeOut.淡入淡出切换:fad ...

  7. angularjs学习第一天笔记

    您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点 ...

  8. easyui datagrid 动态改变行背景色

    /*根据查询条件查询调度单列表*/ function InitGrid(queryData) { $("#dg").datagrid({ loadMsg: "数据加载中, ...

  9. [javaSE] 看知乎学习反射

    简单的来说,反射机制指的是程序在运行时能够获取自身的信息.在java中,只要给定类的名字,那么就可以通过反射机制来获得类的所有信息. 知乎:学习java应该如何理解反射?   余晖: 反射提供了一种运 ...

  10. AJAX 简单归纳 -- 前端知识

    什么是 AJAX ? AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味 ...