Zabbix Template
Resumo
- Criar, atualizar, excluir e descartar templates do Zabbix.
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
template_name | string | | Nome do modelo Zabbix. Obrigatório quando (template_json) ou (template_xml) não são usados. Mutuamente exclusivo com (template_json) e (template_xml). |
template_json | json | | Dump JSON de modelos para importar. Vários modelos podem ser importados dessa maneira. Mutuamente exclusivo com (template_name) e (template_xml). |
template_xml | string | | Dump XML de modelos para importar. Vários modelos podem ser importados dessa maneira. É aconselhável passar a estrutura XML correspondente à estrutura usada pela sua versão do servidor Zabbix. A estrutura XML personalizada pode ser importada desde que seja válida, mas pode não produzir resultados idempotentes consistentes em execuções subsequentes. Mutuamente exclusivo com (template_name) e (template_json). |
template_groups | list / elements = string | | Lista de grupos de hosts para adicionar o modelo quando o modelo é criado. Substitui os grupos de hosts atuais aos quais o modelo pertence, se o modelo já estiver presente. Obrigatório ao criar um novo modelo com (state = present) e (nome_do_modelo). Não é necessário ao atualizar um modelo existente. |
link_templates | list / elements = string | | Lista de nomes de modelos, a serem vinculados ao modelo. Os modelos que não são especificados e estão vinculados ao modelo existente serão apenas desvinculados e não apagados. |
clear_templates | list / elements = string | | Lista de nomes de modelos a serem desvinculados e apagados do modelo. Esta opção é ignorada se o modelo estiver sendo criado pela primeira vez. |
macros (Possíveis valores) | list / elements = dictionary | | Lista de macros de usuário a serem criadas para o modelo. As macros que não são especificadas e estão presentes no modelo existente serão substituídas. |
dump_format | string | Escolhas: - "json" (default) - "xml" | Formato a ser usado ao descartar o modelo com (state = dump). |
state | string | Escolhas: - present (default) - absent - dump | Estado obrigatório do modelo. Se (state = present), o modelo será criado / importado ou atualizado dependendo se já estiver presente. Se (state = dump), o conteúdo do modelo será descartado no formato requerido especificado em I (dump_format). Se (state = absent), o modelo será excluído. |
Extende fragmentos da documentação do módulo zabbix.
Subcampos da opção macros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
name | string | | Nome da macro. Deve ser especificado no formato {$ NAME}. |
value | string | | Valor da macro. |
Exemplos
# Exemplo: Crie um novo template Zabbix vinculado a grupos, macros e templates
- zabbix_template:
server_url: http://127.0.0.1
login_user: username
login_password: password
template_name: ExampleHost
template_groups:
- Role
- Role2
link_templates:
- Example template1
- Example template2
macros:
- macro: '{$EXAMPLE_MACRO1}'
value: 30000
- macro: '{$EXAMPLE_MACRO2}'
value: 3
- macro: '{$EXAMPLE_MACRO3}'
value: 'Example'
state: present
# Exemplo: Desvincule e apague os modelos do modelo existente do Zabbix
- zabbix_template:
server_url: http://127.0.0.1
login_user: username
login_password: password
template_name: ExampleHost
clear_templates:
- Example template3
- Example template4
state: present
# Exemplo: Importar modelos Zabbix por JSON
- zabbix_template:
server_url: http://127.0.0.1
login_user: username
login_password: password
template_json: "{{ lookup('file', 'zabbix_apache2.json') }}"
state: present
# Exemplo: Importar modelos Zabbix por XML
- zabbix_template:
server_url: http://127.0.0.1
login_user: username
login_password: password
template_xml: "{{ lookup('file', 'zabbix_apache2.json') }}"
state: present
# Exemplo: Importar template Zabbix da variável de dicionário do Atmosphere
- zabbix_template:
login_user: username
login_password: password
server_url: http://127.0.0.1
template_json:
zabbix_export:
version: '3.2'
templates:
- name: Template for Testing
description: 'Testing template import'
template: Test Template
groups:
- name: Templates
applications:
- name: Test Application
state: present
# Exemplo: Configurar macros no template Zabbix existente
- zabbix_template:
server_url: http://127.0.0.1
login_user: username
login_password: password
template_name: Template
macros:
- macro: '{$TEST_MACRO}'
value: 'Example'
state: present
# Exemplo: Excluir template Zabbix
- zabbix_template:
server_url: http://127.0.0.1
login_user: username
login_password: password
template_name: Template
state: absent
# Exemplo: Dumpar template Zabbix como JSON
- zabbix_template:
server_url: http://127.0.0.1
login_user: username
login_password: password
template_name: Template
state: dump
# Exemplo: Dumpar template Zabbix como XML
- zabbix_template:
server_url: http://127.0.0.1
login_user: username
login_password: password
template_name: Template
dump_format: xml
state: dump
Valores retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
template_json | string | State for dump, e omit_date for false. | O dump JSON do modelo. |
template_xml | string | State for dump, dump_format for xml e omit_date for true | Dump do modelo na representação XML. |