写Ansible playbook添加zabbix被监控的对象
本主题达到的效果是能通过编写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内容如下:
---- 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的内容
---- 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被监控的对象的更多相关文章
- suse 12 sp1 系统添加zabbix agent监控
因为之前走入一个误区,认为linux系统的zabbix安装包都是一样的,其实不同的linux的系统对应的版本是不一样的. suse系统版本(不同版本之间也是有区别的):SUSE Linux 12 S ...
- 添加zabbix自动发现(监控多tomcat实例)
说明 何为自动发现?首先我们监控多tomcat实例,如果一个个实例地添加或许可以完成当前需求.但是日后随着实例的增多,再手动一个个去添加就十分不方便了.这时候需要自动发现这个功能,来帮助我们自动添加监 ...
- ansible playbook实践(四)-如何调试写好的playbook文件
有时,我们写了一个长长,功能很强悍的yaml文件,但是,我们有可能会担心,写的yaml文件是否正确,是否有漏洞危机,毕竟是要修改线上的机器,那么,有可能我们可以从以下几个检查维度来进行,确保在大规模应 ...
- zabbix添加简单的监控
本文讲述给zabbix添加zabbix自带模板和自定义添加模板:安装zabbix请参考本文 1.1. 给主机添加zabbix自带监控模板 第一步: 第二步: 如果添加模板,但是模板并没有监控项,下面的 ...
- Zabbix添加web页面监控告警
一,选择添加了web监控的主机 二,创建一个告警触发器 三,定义监控项 设置完毕假如网站down就会触发告警 怎么设置web监控以及触发告警action参考 Zabbix使用SMTP发送邮件报警并且制 ...
- zabbix mongodb 监控添加
在zabbix 上添加mongodb的监控 由于使用的是zabbix 3.0 所有在模板里面又自己的模板名字叫:Template MongoDB 所以 客户端的配置如下 到配置文件目录 /usr/lo ...
- zabbix自动化监控基础
zabbix安装配置文档 2 一 zabbix-server 安装配置(基础配置) 2 二 zabbix agent安装配置 5 2.1 主动模式和被动模式 6 2.2 安装配置zabbix_agen ...
- 通过ansible自动化部署zabbix应用
zabbix在实际的应用中,可能需要监控的主机非常多,而每个主机的操作系统类型.版本也都不尽相同,在这种环境下,通过手动安装zabbix的agent端已经不现实了,此时就需要借助自动化工具完成zabb ...
- 通过PlayBook部署Zabbix
编写Linux初始化剧本 初始化剧本环节,主要用户实现关闭Selinux关闭防火墙,一起配置一下阿里云的YUM源地址,和安装EPEL源,为后期的zabbix安装做好铺垫工作. 1.在安装Zabbix之 ...
随机推荐
- postman环境变量 全局变量清理
一:主要内容 清除一个环境变量.全局变量 清除全部环境变量.全局变量 清除部分环境变量.全局变量 二:清除一个指定环境变量.全局变量 1. 清除一个环境变量,如清除用户名环境变量,username为变 ...
- Net Core 中间件实现修改Action的接收参数及返回值
新一个WebApi项目(Net Core 2.1) 新建InputOutputAlterMiddleware类,修改命名空间为Microsoft.AspNetCore.Builder(不修改也没关系, ...
- Hibernate高效查询,只查询部分/指定字段
公司使用 DetachedCriteria detachedCriteria = DetachedCriteria.forClass(PeBulletin.class); detachedCriter ...
- SQL - 先安装SQL2008 R2后安装AD导致无法正常登陆数据库(无法启动MSSQLSERVER)
分析原因:安装AD后,系统改为使用域用户登陆,原先安装SQL时设置的“本地用户”信息已经修改,当前(域)用户没有权限访问MSSQLSERVER实例文件夹或整个SQL文件夹. 解决方法: 1.打开“服务 ...
- [javaSE] 看博客学习java并发编程
共享性 多线程操作同一个数据,产生线程安全问题 新建一个类ShareData 设计一个int 型的成员变量count 设计一个成员方法addCount(),把count变量++ 在main函数中开启多 ...
- java基础-面向对象的思想
一.什么是面向对象 面向对象是一种思想,在java中通常我们会说一句话一切事物即对象.而面向对象到底是怎么回事呢?这里我从人们对问题的思考来阐述,人在思考的一个问题的时候比如在解决一个数学问题的时候我 ...
- 整数对(hdu1271)找规律
整数对 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submissio ...
- a/b + c/d(hdu2503)最大公约数问题
a/b + c/d Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- Random类的常用方法
1.nextBoolean(): 随机返回true或false 2.nextInt(int bound): 随机返回0到bound之间的整数(不包括bound) 如:nextInt(10)返回0-9之 ...
- js-jQuery性能优化(二)
5.数组方式使用jQuery对象 使用jQuery选择器获取结果是一个jQuery对象.然而,jQuery类库会让你感觉正在使用一个定义了索引和长度的数组.在性能方面,建议使用简单的for或者whil ...