zabbix通过ansible批量部署agent

话不多说,上干货,贴图上码偷笑


为了方便直接拷贝用,直接把代码贴出来了,可能会有缩进或者中文字符问题哦。

以下是plbk.yml的源码:

---

- hosts: local

 tasks:

  -name: install wget

   yum:

     name: wget

  -name: copy wget.sh

   copy:

     src: /tmp/wget.sh

     dest: /tmp/wget.sh

     backup: yes

  -name: copy

   copy:

     src: /tmp/modify.sh

     dest: /tmp/modify.sh

     backup: yes

  -name: execute wget script file

   command:

     /usr/bin/sh /tmp/wget.sh

  -name: execute modify script file

   command:

     /usr/bin/sh /tmp/modify.sh



以下是wget.sh的源码:

#!/bin/bash

wget -O /tmp/ http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

rpm -ivh/tmp/zabbix-release-3.4-2.el7.noarch.rpm

yum -y install zabbix-agent

以下是modify.sh的源码:

#!/bin/bash

a=`ip a|grep "192"|awk '{print$2}'|awk -F'/' '{print $1}'|awk -F'.' '{print $3"-"$4}'`

sed -i "s/Hostname=Zabbixserver/Hostname=$a/" /etc/zabbix/zabbix_agentd.conf

sed -i -e's/ServerActive=127.0.0.1/ServerActive=192.168.80.142/' -e's/Server=127.0.0.1/Server=192.168.80.142/' -e '1 i\HostMetadata=linux'/etc/zabbix/zabbix_agentd.conf

systemctl restart zabbix-agent

rm -f/tmp/zabbix-release-3.4-2.el7.noarch.rpm

rm -f /tmp/modify.sh

rm -f /tmp/wget.sh



#是这样的,把这三个文件放到服务端用ansible运行plbk.yml文件就行,当然了,主机组要自己指定,注意修改plbk.yml文件的hosts,具体流程是这样的,通过yml文件来运行脚本进行zabbix 客户端的安装以及部署,wget.sh是通过wget命令下载源,然后rpm安装源,最后通过yum安装zabbix客户端,然后就是修改配置文件,我这俩直接用sed命令修改配置文件,如果是刚安装的客户端配置文件肯定是没动过,大部分都是注释,有些地方就不需要解开注释,直接追加了,修改了server端的ip,我脚本里的HostMetadata=‘linux’是因为server端的web页面配置的自动发现的条件是HostMetadata=linux,所以我就直接追加了大笑,然后重启服务,删除文件。


 第一次写,如果有不对的地方请指出微笑


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要使用Ansible批量部署Zabbix Agent,您可以按照以下步骤进行操作: 1. 安装Ansible:首先,在控制机上安装Ansible,确保您已经具备了运行Ansible的环境。 2. 创建Ansible Playbook:创建一个新的Playbook文件(例如`deploy_zabbix_agent.yml`),并在其中定义任务。 ```yaml --- - name: Deploy Zabbix Agent hosts: zabbix_agents become: true tasks: - name: Install Zabbix Agent package apt: name: zabbix-agent state: present - name: Configure Zabbix Agent template: src: zabbix_agent.conf.j2 dest: /etc/zabbix/zabbix_agentd.conf notify: - restart zabbix-agent - name: Start and enable Zabbix Agent service service: name: zabbix-agent state: started enabled: true handlers: - name: restart zabbix-agent service: name: zabbix-agent state: restarted ``` 在上面的示例中,Playbook定义了三个任务:安装Zabbix Agent软件包、配置Zabbix Agent和启动Zabbix Agent服务。 3. 创建Zabbix Agent配置模板:创建一个名为`zabbix_agent.conf.j2`的Jinja2模板文件,其中包含Zabbix Agent的配置信息。根据您的需求,可以在模板中设置主机名称、服务器地址等参数。 ```ini Server=<zabbix_server_ip> ServerActive=<zabbix_server_ip> Hostname={{ inventory_hostname }} ``` 4. 创建主机清单文件:创建一个名为`hosts`的主机清单文件,并在其中列出要部署Zabbix Agent的目标主机。 ```ini [zabbix_agents] host1 host2 host3 ``` 将目标主机的IP地址或主机名替换为实际的主机信息。 5. 运行Playbook:使用ansible-playbook命令运行Playbook,并指定主机清单文件。 ```bash ansible-playbook -i hosts deploy_zabbix_agent.yml ``` Ansible将自动连接到目标主机,并按照Playbook中定义的任务顺序执行操作。这将完成Zabbix Agent批量部署。 请根据您的实际需求和环境对上述步骤进行适当修改和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值