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