Linux

Adicionando hosts no Zabbix 4 com Ansible

Oi, voltei 🙂
Hoje devemos ser cada vez mais rápidos, logo devemos usar ferramentas ideais para isso, alguns desenvolvem elas rsrsr, recentemente em um cliente precisei levantar um ZABBIX na versão atual [4], e adicionar os hosts da infraestrutura rapidamente no monitoramento, para isso fiz uso do ANSIBLE, essa ferramenta acelerou muito meu projeto.
Olha o script …
---
- hosts: zabbixS
port: 22
vars_files:
- ./vars_hosts_zabbix.yml
tasks:
- name: Create new host
local_action:
module: zabbix_host
server_url: http://{{ zabbix_server }}/zabbix
login_user: "{{ user }}"
login_password: "{{ pass }}"
host_name: "{{ item.hostname }}"
visible_name: "{{ item.name }}"
description: "{{ descricao }}"
host_groups:
- "{{ srv_linux }}"
link_templates:
- "{{ template1 }}"
#- "{{ template2 }}"
- "{{ template3 }}"
status: enabled
state: present
inventory_mode: automatic
interfaces:
- type: 1
main: 1
useip: 1
ip: "{{ item.ip }}"
dns: "{{ item.hostname }}"
port: 10050
- type: 2
main: 1
useip: 1
ip: "{{ item.ip }}"
dns: "{{ item.hostname }}"
port: 161
with_items: "{{ host_add }}"
- name: Create a new host macro or update an existing macro's value
local_action:
module: zabbix_hostmacro
server_url: http://{{ zabbix_server }}/zabbix
login_user: "{{ user }}"
login_password: "{{ pass }}"
host_name: "{{ item.hostname }}"
macro_name: SNMP_COMMUNITY
macro_value: "{{comunidade}}"
state: present
with_items: "{{ host_add }}"
essas são as variáveis
zabbix_server: 172.25.250.254
user: Admin
pass: zabbix
template1: Template App Zabbix Agent
template2: Template OS Linux
template3: Template OS Linux SNMPv2
srv_linux: Linux servers
descricao: Servidores da v4 do zabbix
comunidade: hulk
# Nome dos servidores (esta lista é a que será enviada para o servidor de zabbix)
host_add:
- { name: 'zabbixP',hostname: 'zabbixP.lab.zabbix.com',ip: '172.25.250.253' }
- { name: 'zabbixC1',hostname: 'zabbixC1.lab.zabbix.com',ip: '172.25.250.252' }
- { name: 'zabbixC2',hostname: 'zabbixC2.lab.zabbix.com',ip: '172.25.250.251' }
- { name: 'zabbixC3',hostname: 'zabbixC3.lab.zabbix.com',ip: '172.25.250.250' }
- { name: 'arduino_1',hostname: 'arduino_1.lab.zabbix.com',ip: '192.168.51.133' }
Códigos: https://github.com/laurobmb/ZabbixAddHostsAnsible
fonte: https://docs.ansible.com/ansible/latest/modules/zabbix_host_module.html

 

Standard