本主题达到的效果是能通过编写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. <Think Python>中统计文献单词的处理代码

    def process_line(line, hist):    """Adds the words in the line to the histogram. Modi ...

  2. (转)Spring事务管理(详解+实例)

    文章转自:http://blog.csdn.net/trigl/article/details/50968079 写这篇博客之前我首先读了<Spring in action>,之后在网上看 ...

  3. C#Redis 事务操作

    一.理论 还是抄前辈的理论知识. 和众多其它数据库一样,Redis作为NoSQL数据库也同样提供了事务机制.在Redis中,MULTI/EXEC/DISCARD/WATCH这四个命令是我们实现事务的基 ...

  4. [转]Bootstrap table 分页 In asp.net MVC

    本文转自:https://www.cnblogs.com/lenovo_tiger_love/p/7474403.html 中文翻译文档: http://blog.csdn.net/rickiyeat ...

  5. [日常] Go语言圣经-匿名函数习题

    Go语言圣经-匿名函数1.拥有函数名的函数只能在包级语法块中被声明,通过函数字面量(function literal),我们可绕过这一限制,在任何表达式中表示一个函数值2.通过这种方式定义的函数可以访 ...

  6. python 系列文章汇总(持续更新...)

    引言 不知不觉已经写了好几篇 python 相关的随笔了,从刚开始的门外汉到现在已经对 python 有一些入门了,时间也已经过去了一个多月. 写博客真是好处多多,不仅能提供整理自己学习的知识点,梳理 ...

  7. Java - LinkedList源码分析

    java提高篇(二二)---LinkedList 一.概述 LinkedList与ArrayList一样实现List接口,只是ArrayList是List接口的大小可变数组的实现,LinkedList ...

  8. Asp.Net里关于Session过期跳转页面的一些小技巧

    这里算是自己的个人随笔吧,仅供参考使用,后续有更好的方法再做补充 之前在Aspx页面里面,在Session过期的时候我经常会使用 Server.Transfer("b.aspx") ...

  9. 封装7z软件实现批量文件或目录压缩

    哈哈,作为一个特别懒的运维人来说 兄弟我写了一个批量压缩文件或目录的小工具,用来批量压缩文件目录 弄一下,然后就不用管他了,后天看结果就好了 操作步骤: 1.选择想做压缩处理的根目录 2.选择你要的功 ...

  10. macbook 外接显示器黑屏,不显示

    我的mac本有点老了,11年底的那款 整了个显示器,刚开始连上没问题,后来开机状态拔了雷电线,再插  或者关机后莫名的原因再启动,显示器黑屏 网上好多方法都不行,自己总结了一个方法 拔掉连接线,关闭m ...