Ansible批量安装Zabbix-agnet客户端

简介

本文详细使用ansible批量安装Zabbix-agent,在客户端比较多,结合ansible进行批量安装,将非常重要,省时高效,并且能够加稳定

安装步骤

1、安装关联组件

root@centos78 \\\~# yum install gcc* pcre* -y (缺少必要组件脚本推送会报错)

root@centos78 \\\~# yum install epel-release -y

2、安装ansible组件

root@centos78 \\\~# yum install ansible --y

3、配置ssh免密通信

root@centos78 \\\~# ssh-keygen (连续敲回车即可)

root@centos78 \\\~# ssh-copy-id 192.168.101.78

root@centos78 \\\~# ssh-copy-id 192.168.101.75

4、配置ansible,编辑hosts,定义组

root@centos78 \\\~# vim /etc/ansible/hosts

zabbix

192.168.101.75

192.168.101.78

ping客户端是否通讯

root@centos78 \\\~# ansible zabbix -m ping

192.168.101.78 | SUCCESS => {

"changed": false,

"ping": "pong"}

192.168.101.75 | SUCCESS => {

"changed": false,

"ping": "pong"}

5、配置批量推送脚本

root@centos78 \\\~# cd /etc/ansible/

root@centos78 ansible# cat zabbix\_agent.yml (使用ansible的jinjia模板来部署ansible客户端)

  • hosts: zabbix

    remote\_user: root

    tasks:

    • name: install zabbix\_agent packages

      yum: name={{ item }} state=latest

      with\_items:

      • curl-devel
    • name: copy install\_shell to clien

      copy: src=/etc/ansible/zabbix\_agent.sh dest=/usr/local/src/zabbix\_agent.sh

    • name: sent tar

      copy: src=/usr/local/src/zabbix-3.4.12.tar.gz dest=/usr/local/src/zabbix-3.4.12.tar.gz (没有安装包的可以按照操作下载)

      notify: install shell

    handlers:

    • name: install shell

      shell: /bin/bash /usr/local/src/zabbix\_agent.sh

6、下载用于批量安装的客户端zabbix-3.4.12.tar.gz

root@centos78 ansible# cd /usr/local/src/ (下载路径和脚本路径一致)

root@centos78 src# wget <span>https:</span>`//nchc<span>.dl.sourceforge.net</span>/project/zabbix/ZABBIX<span>%20Latest%20Stable</span>/3<span>.4.12</span>/zabbix-3<span>.4.12.</span>tar```.gz``

root@centos78 ansible# cd /usr/local/src/ (下载路径和脚本路径一致)

7、编辑脚本内容

root@centos78 ansible# cat zabbix\_agent.sh

复制代码
#!/bin/bashuseradd zabbix -s /sbin/nologincd /usr/local/srctar -xf zabbix-3.4.12.tar.gzcd zabbix-3.4.12
./configure --with-net-snmp --with-libcurl --enable-agent --prefix=/usr/local/zabbixmake && make installcp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/chmod 700 /etc/init.d/zabbix_agentdsed -i  's\ZABBIX_BIN="/usr/local/sbin/zabbix_agentd\ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd\g' /etc/init.d/zabbix_agentdsed -i  's\Server=127.0.0.1\Server=192.168.101.78\g' /usr/local/zabbix/etc/zabbix_agentd.confsed  -i  's\ServerActive=127.0.0.1\ServerActive=192.168.101.78\g' /usr/local/zabbix/etc/zabbix_agentd.conf 
/etc/init.d/zabbix_agentd startchkconfig zabbix_agentd on

8.执行脚本

root@centos78 ansible# ansible-playbook zabbix\_agent.yml

PLAY zabbix ******************************************************************

TASK Gathering Facts *********************************************************

ok: 192.168.101.78

ok: 192.168.101.75

TASK install zabbix\\_agent packages *******************************************

ok: 192.168.101.75 => (item=u'curl-devel')

ok: 192.168.101.78 => (item=u'curl-devel')

TASK copy install\\_shell to clien *********************************************

ok: 192.168.101.78

ok: 192.168.101.75

TASK sent tar ****************************************************************

ok: 192.168.101.78

ok: 192.168.101.75

PLAY RECAP *********************************************************************

192.168.101.75 : ok=4 changed=0 unreachable=0 failed=0

192.168.101.78 : ok=4 changed=0 unreachable=0 failed=0

9.查看zabbix客户端状态

root@centos78 ansible# ansible zabbix -m shell -a "ps -ef |grep zabbix\_agentd"

192.168.101.78 | SUCCESS | rc=0 >>

zabbix 11785 1 0 22:33 ? 00:00:00 /usr/local/zabbix/sbin/zabbix\_agentd

zabbix 11787 11785 0 22:33 ? 00:00:00 /usr/local/zabbix/sbin/zabbix\_agentd: collector idle 1 sec

zabbix 11788 11785 0 22:33 ? 00:00:00 /usr/local/zabbix/sbin/zabbix\_agentd: listener #1 waiting for connection

zabbix 11789 11785 0 22:33 ? 00:00:00 /usr/local/zabbix/sbin/zabbix\_agentd: listener #2 waiting for connection

zabbix 11790 11785 0 22:33 ? 00:00:00 /usr/local/zabbix/sbin/zabbix\_agentd: listener #3 waiting for connection

zabbix 11791 11785 0 22:33 ? 00:00:00 /usr/local/zabbix/sbin/zabbix\_agentd: active checks #1 idle 1 sec

root 17136 17131 0 23:52 pts/1 00:00:00 /bin/sh -c ps -ef |grep zabbix\_agentd

root 17138 17136 0 23:52 pts/1 00:00:00 grep zabbix\_agentd

192.168.101.75 | SUCCESS | rc=0 >>

zabbix 21448 1 0 22:20 ? 00:00:00 /usr/local/zabbix/sbin/zabbix\_agentd

zabbix 21450 21448 0 22:20 ? 00:00:01 /usr/local/zabbix/sbin/zabbix\_agentd: collector idle 1 sec

zabbix 21451 21448 0 22:20 ? 00:00:01 /usr/local/zabbix/sbin/zabbix\_agentd: listener #1 waiting for connection

zabbix 21452 21448 0 22:20 ? 00:00:01 /usr/local/zabbix/sbin/zabbix\_agentd: listener #2 waiting for connection

zabbix 21453 21448 0 22:20 ? 00:00:01 /usr/local/zabbix/sbin/zabbix\_agentd: listener #3 waiting for connection

zabbix 21454 21448 0 22:20 ? 00:00:00 /usr/local/zabbix/sbin/zabbix\_agentd: active checks #1 idle 1 sec

root 23645 23640 0 23:52 pts/1 00:00:00 /bin/sh -c ps -ef |grep zabbix\_agentd

root 23647 23645 0 23:52 pts/1 00:00:00 grep zabbix\_agentd


总结

使用ansible批量安装zabbix客户端,非常快就能完成大批量的安装。安装时候一定要注意,批量安装时,客户端基本组件也要安装好,比如make等等。

相关推荐
垚垚学技术_聚焦云原生12 天前
Ansible Vault 安全实践:敏感密码、密钥加密存储方案
安全·elasticsearch·ansible
广目软件14 天前
HA分布式架构采集节点变更操作手册20261029
运维·服务器·ansible·zabbix·prometheus
Moshow郑锴15 天前
Ansible 批量部署 Node.js 服务:ZIP 直解与共享目录分发两种方案对比
node.js·ansible
垚垚学技术_聚焦云原生15 天前
Ansible Playbook 进阶:when 条件、loop 循环、handlers 触发器落地
linux·ansible·自动化运维·devops
Moshow郑锴15 天前
GCP MIG 重建后 Ansible 初始化实战:PowerShell + NSSM 挂载 Windows 服务
windows·ansible
honsor16 天前
机柜式双网口 RS485 温湿度变送器接入 Zabbix 完整教程(含 Modbus 点位)
物联网·zabbix·tcp
honsor17 天前
双网口 + RS485 机柜温湿度传感器,Modbus RTU/TCP 如何接入 Zabbix
网络协议·tcp/ip·zabbix
承渊政道17 天前
新增一台服务器时还要重新装Nginx?Ansible只改hosts目标列表,同一份Playbook继续执行
运维·nginx·ansible·内网穿透·cpolar
Helix25019 天前
Ansible混合环境自动化:Windows与Linux统一配置管理实战
windows·自动化·ansible·playbook·配置管理·winrm·混合环境
垚垚学技术_聚焦云原生20 天前
Ansible 变量体系详解:主机变量、组变量、全局变量优先级实战
ansible·自动化运维·devops·变量优先级