本主题达到的效果是能通过编写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. SpringMVC融合Swagger UI使用

    相信大家都很熟悉springmvc,在用其进行开发工作的时候,有没有遇到几个小问题?比如: 1.前后端分离的模式下,前端开发人员如何得知后端的开发进度,有哪些接口可用? 2.后端开发人员在测试自己的接 ...

  2. 使用并发工具实现 RPC 调用流量控制

    前言 RPC 服务中,每个服务的容量都是有限的,即资源有限,只能承受住给定的网络请求,所以,在设计 RPC 框架的时候,一定要考虑流量控制这个问题.而 Java 中,实现流量控制有很多中方式,今天说 ...

  3. 并发编程之 线程协作工具 LockSupport

    前言 在前面的文章中,我们介绍了并发工具中的4个,Samephore,CyclicBarrier,CountDownLatch,Exchanger,但是我们漏了一个,非常的好用的工具,楼主在这里必须加 ...

  4. Webhook是什么、怎么理解

    Webhook是什么 我们想看看维基老大的解说: A webhook in web development is a method of augmenting or altering the beha ...

  5. sqlserver清除缓存(转载)

    sqlserver清除缓存,记录查询时间   1 2 3 4 5 6 7 8 9 10 11 12 --1. 将当前数据库的全部脏页写入磁盘.“脏页”是已输入缓存区高速缓存且已修改但尚未写入磁盘的数据 ...

  6. hdu 1568 (log取对数 / Fib数通项公式)

    hdu 1568 (log取对数 / Fib数通项公式) 2007年到来了.经过2006年一年的修炼,数学神童zouyu终于把0到100000000的Fibonacci数列 (f[0]=0,f[1]= ...

  7. 自定义MVC框架之工具类-图像处理类

    截止目前已经改造了4个类: ubuntu:通过封装验证码类库一步步安装php的gd扩展 自定义MVC框架之工具类-分页类的封装 自定义MVC框架之工具类-文件上传类 图像处理类: 1,图片加水印处理( ...

  8. JavaSE——多线程

    进程和线程: 进程是指运行中的应用程序,每一个进程都有自己独立的内存空间.一个应用程序可以启动多个进程. 线程是指进程中的一个执行流程,有时也称为执行情景. 线程和进程的主要区别在于:每个进程都需要操 ...

  9. C# dynamic类型报错:“object”不包含“xxx”的定义

    一.起因: 最近在做的一个项目,因为很多地方要用到同一套流程.为了后期维护,要求将共用流程进行抽离,创建为一个公用的类库.在抽离之前程序运行是没有问题的,然而在抽离之后就得到了如题错误: object ...

  10. FI配置步骤清单

    1.定义公司代码   配置路径: R/3定制IMG的实施指南>企业结构>定义>财务会计>定义, 复制, 删除, 检查公司代码 事务代码 EC01 2.编辑科目表清单   配置路 ...