利用ansible批量部署zabbix-agent

3 篇文章 0 订阅
2 篇文章 1 订阅

一、 系统环境

软件类型软件版本IP备注
linuxoracle 8.4192.168.1.551台作为ansible管理机
zabbix-agent26.0.3
ansible2.9
linux服务器3台centos 7.4192.168.1.61
192.168.1.62
192.168.1.63
zabbix客户机

二、安装前准备

  • ansible服务器已经准备就绪

  • zabbix客户机系统安装好

  • 提前下载zabbix-agent2安装包(zabbix-agent2-6.0.3-1.el7.x86_64.rpm)

三、部署安装

1、ssh密钥分发

  • 在管理端主机上生成密码
root@oral8 ansible_opt]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:dUgIGKvcPFKYNiGARlu04H59mkxDcC6N9fV8CjCUgqY root@oral8
The key's randomart image is:
+---[RSA 3072]----+
|*oo+o=o=.o.      |
|oo+*Xo..=.o.     |
|.oB+o+.. .oo..   |
|.E *+    ...o    |
| .+.++ .S  .     |
|  ..o.=          |
|     +           |
+----[SHA256]-----+
  • 将密钥分发至每台客户机

将控制端的密码分布至每个客户机,这样是因为执行ansible命令时,实际是通过ssh登录到每个客户机进行操作,为避免登录每台都需要输入密码。

采用脚本批量将密码分发到所有主机,脚本如下:

for i in  {1..3}
do
        sshpass -p123456 /usr/bin/ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.1.6$i
done


-o StrictHostKeyChecking=no 参数禁用ssh提示询问。

-p后为所有主机用户密码

3、ansible playbook及脚本实现

创建ansible_zabbix目录,用于存放hosts、ansible.cfg、以及安装包、脚本等

[root@oral8 ansible_zabbix]# tree .
.
├── ansible.cfg
├── hosts
├── install_zabbix_agent.yaml
├── zabbix-agent2-6.0.3-1.el7.x86_64.rpm
└── zabbix-agent2-6-install.sh

  • 配置ansible的hosts文件及ansible.cfg文件
# hosts配置内容
[agent-host]
192.168.1.61
192.168.1.62
192.168.1.63

# ansible.cfg配置内容
[defaults]
inventory = ./hosts     # 指定hosts文件位置


  • 准备zabbix-agent安装的playbook文件

playbook的脚本如下,命名为install_zabbix_agent.yaml

---
- hosts: all
  tasks:
  - name: copy zabbix-agent2 packages to hosts
    copy:
      src: zabbix-agent2-6.0.3-1.el7.x86_64.rpm
      dest: /opt

  - name: install zabbix-agent2
    yum:
      name: /opt/zabbix-agent2-6.0.3-1.el7.x86_64.rpm
      state: present

  - name: config agent
    script: zabbix-agent2-6-install.sh

  - name: start zabbix-agent2 services
    systemd:
      name: zabbix-agent2.service
      state: started
      enabled: yes
  • 准备配置agent中配置文件的脚本

通过脚本批量配置zabbix_agent2.conf中的server、ServerActive以及hostname

修改agent脚本的内容如下:

#!/bin/bash
sed -i '/^Server=/s/127.0.0.1/192.168.1.55/g' /etc/zabbix/zabbix_agent2.conf  
sed -i '/^ServerActive/s/127.0.0.1/192.168.1.55/g' /etc/zabbix/zabbix_agent2.conf 
sed -i "/^Hostname=/s/Zabbix server/`hostname`/g" /etc/zabbix/zabbix_agent2.conf 


完成以上所有内容后,直接运行命令ansible-play install_zabbix_agent.yaml,坐等安装完毕。

在zabbix的web界面上进行主机添加等配置,本文省略。。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值