专栏首页运维前线ansible-playbook调用zabbix-api自动添加主机

ansible-playbook调用zabbix-api自动添加主机

版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/82763493

ansible-playbook调用zabbix-api自动添加主机

  1. playbook-example
# example.yml
---
- hosts: "{{ host }}"
  vars:
    zabbix_host_groups: "{{ host }}"

    zabbix_url: "http://zabbix.example.com"
    zabbix_api_user: Admin
    zabbix_api_pass: admin
    zabbix_api_create_hostgroup: True
    zabbix_api_create_hosts: True
    zabbix_create_hostgroup: present  # or absent
    zabbix_create_host: present       # or absent
    zabbix_host_status: enabled  
    zabbix_agent_hostname: "{{ ansible_hostname }}"
    zabbix_proxy: null
    zabbix_inventory_mode: disabled
    zabbix_useuip: 1
    zabbix_agent_service: zabbix-agent
    dns_name: null

    zabbix_link_templates:
      - Template OS Linux Active
                                                                                                              
    zabbix_agent_interfaces:
      - type: 1
        main: 1
        useip: "{{ zabbix_useuip }}"
        ip: 0.0.0.0
        dns: ""
        port: 0

  tasks:
  - name: "Make sure the zabbix-agent service is running"
    service:
      name: "{{ zabbix_agent_service }}"
      state: started
      enabled: yes
    tags:
      - service
  
  - name: "Create hostgroups"
    local_action:
      module: zabbix_group
      server_url: "{{ zabbix_url }}"
      login_user: "{{ zabbix_api_user }}"
      login_password: "{{ zabbix_api_pass }}"
      host_group: "{{ zabbix_host_groups }}"
      state: "{{ zabbix_create_hostgroup }}"
    when:
      - zabbix_api_create_hostgroup
    tags:
      - api
  
  - name: "Create a new host or update an existing host's info"
    local_action:
      module: zabbix_host
      server_url: "{{ zabbix_url }}"
      login_user: "{{ zabbix_api_user }}"
      login_password: "{{ zabbix_api_pass }}"
      host_name: "{{ zabbix_agent_hostname }}"
      host_groups: "{{ zabbix_host_groups }}"
      link_templates: "{{ zabbix_link_templates }}"
      status: "{{ zabbix_host_status }}"
      state: "{{ zabbix_create_host }}"
      proxy: "{{ zabbix_proxy }}"
      inventory_mode: "{{ zabbix_inventory_mode }}"
      interfaces: "{{ zabbix_agent_interfaces }}"
      visible_name: "{{ zabbix_host_groups }}_{{ inventory_hostname }}"
    when:
      - zabbix_api_create_hosts
    changed_when: false
    tags:
      - api
  • 执行playbook
ansible-playbook -i hosts auto_add_hosts_to_zabbix_server.yml -e host=appname

注意:笔者的zabbix-agent是主动模式,如果被动模式需更改: zabbix_agent_interfaces:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • zabbix-server 自动安装脚本

    版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://b...

    shaonbean
  • CentOS 6.7 安装zabbix-agent

    版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://b...

    shaonbean
  • Windows Server上安装部署Zabbix agent(最新版)

    Windows Server上安装部署Zabbix agent 下载并解压到指定目录 Zabbix下载页面:https://www.zabbix.com/do...

    shaonbean
  • Centos6.5 安装zabbix3

    Zabbix 3.0对PHP的要求最低为5.4,而CentOS6默认为5.3.3,完全不满足要求,故需要利用第三方源,将PHP升级到5.4以上,注意,不支持PH...

    py3study
  • Centos7.3 安装zabbix3.4 原

    首先需要了解的是zabbix是一种C/S架构的监控工具,即服务端(Server)需要安装zabbix-server用于处理各种监控及告警信息,客户端(Clien...

    阿dai学长
  • zabbix分布式及高可用

    (2)项目环境 Zabbix主(Master) :CentOS Linux release 7.6.1810 (Core) Zabbix备(Slave) :Ce...

    WeiyiGeek
  • Centos7.4 zabbix3.4.7源码安装的方法步骤

    Zabbix 是一个企业级的分布式开源监控方案。能够监控各种网络参数以及服务器健康性和完整性。支持灵活的通知机制,提供出色的报告和数据可视化功能。Zabbix支...

    砸漏
  • Centos7.3安装部署最新版Zabbix3.4的方法(图文)

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。 开发这个分支的原因是:甲骨文公司收购了MySQL后,有将MyS...

    砸漏
  • CentOS7 安装 zabbix 4.0 教程(图文详解)

    https://blog.csdn.net/qq_43059674/article/details/100729776#_mySql_174

    砸漏
  • Linux监控平台介绍,zabbix监控介绍,安装zabbix,忘记admin密码如何做

    监控是一个很重要的东西,如果一个企业里的服务器没有监控的话,就像一个瞎子不知道前面的路不知道后面发生了什么,就算出了问题也不知道,如果是一些线上的业务,没有监控...

    端碗吹水

扫码关注云+社区

领取腾讯云代金券