10、正式JOB的例子

在服务器上安装并配置zabbix agent,步骤基本和上边的一样,差别在playbook上

---

- hosts: all

remote_user: root

gather_facts: yes

 

tasks:

- name: install zabbix_agent.

shell: rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.7-1.el7.x86_64.rpm

- name: edit configuration file for zabbix_agent.

template:

src: zabbix_agentd.conf.j2

dest: /etc/zabbix/zabbix_agentd.conf

backup: yes

owner: root

group: root

mode: 0644

- name: start zabbix_agent service.

systemd:

name: zabbix-agent.service

state: started

enabled: yes

- name: configure firewall.

firewalld:

port: 10050/tcp

permanent: true

state: enabled

- name: Create a new host in zabbix

local_action:

module: zabbix_host

server_url: http://192.168.1.121/zabbix/

login_user: api

login_password: ********

host_name: '{{ansible_default_ipv4.address}}'

host_groups:

- Linux servers

link_templates:

- Template OS Linux

status: enabled

state: present

timeout: 30

interfaces:

- type: 1

main: 1

useip: 1

ip: '{{ansible_default_ipv4.address}}'

dns: ""

port: 10050

注释:shell、template、systemd、firewalld这些都是Ansible内置模块,zabbix_host是外置需要安装的模块,所有模块具体用法见下边官方文档

https://docs.ansible.com/ansible/latest/modules/list_of_all_modules.html

如果不安装zabbix_host,直接运行job会出如下错误

安装zabbix_host模块

yum -y install epel-release

yum install python-pip

pip install zabbix-api

zabbix接口创建主机的具体用法见下边官方文档

https://www.zabbix.com/documentation/3.2/manual/api/reference/hostinterface/object#host_interface

Ansible Tower安装配置全过程(下)_第1张图片

playbook代码如下:

Ansible Tower安装配置全过程(下)_第2张图片

运行job后日志如下

Ansible Tower安装配置全过程(下)_第3张图片

Ansible Tower安装配置全过程(下)_第4张图片

Ansible Tower安装配置全过程(下)_第5张图片

Ansible Tower安装配置全过程(下)_第6张图片

Ansible Tower安装配置全过程(下)_第7张图片

 

运行后192.168.1.79已被zabbix连接10050端口

Ansible Tower安装配置全过程(下)_第8张图片

zabbix的主机界面已经有192.168.1.79,且正常监控

11、特别环节:交互式运行Job

下边以交互创建虚拟机为例

完成Playbook

Ansible Tower安装配置全过程(下)_第9张图片

新建Templates

Ansible Tower安装配置全过程(下)_第10张图片

然后点击右上角的ADD SURVEY

Ansible Tower安装配置全过程(下)_第11张图片

PROMPT是此变量的描述

ANSWER VARIABLE NAME是Playbook中的变量名。注意一定不要写错,不能包含小数点等特殊符号

ANSWER TYPE是变量值的类型

Ansible Tower安装配置全过程(下)_第12张图片

全部写完后的界面,可以点击右侧的铅笔图标修改

Ansible Tower安装配置全过程(下)_第13张图片

当运行JOB时会跳出刚才写的交互对话框

Ansible Tower安装配置全过程(下)_第14张图片

按JOB要求填写即可,注意不能出现任何中文字符

Ansible Tower安装配置全过程(下)_第15张图片

运行JOB,没问题

Ansible Tower安装配置全过程(下)_第16张图片