测试环境:通过在ansible-server上操作,使得client-1/2上自动安装、配置、并启动zabbix-agent。
主机名
ip
安装软件
ansible-server
192.168.1.80
Ansible
client-1
192.168.1.81
无
client-2
192.168.1.82
无
- 部署Ansible
- 基础环境准备
1)关闭Selinux
setenforce 0
sed -ri '/^SELINUX=/ s/enforcing/disabled/' /etc/selinux/config
2)关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
3)解决sshd远程连接慢的问题
sed -ri '/^GSSAPIAu/ s/yes/no/' /etc/ssh/sshd_config
sed -ri '/^#UseDNS/ {s/^#//;s/yes/no/}' /etc/ssh/sshd_config
4)配置yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
5)配置epel源wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
- 安装ansible
1)yum安装
yum install -y ansible
注意:rpm安装需要按顺序安装以下软件包:
sshpass-1.06-2.el7.x86_64.rpm
python2-httplib2-0.18.1-3.el7.noarch.rpm
python-babel-0.9.6-8.el7.noarch.rpm
python-jinja2-2.7.2-4.el7.noarch.rpm
python2-jmespath-0.9.4-2.el7.noarch.rpm
python-paramiko-2.1.1-9.el7.noarch.rpm
libyaml-0.1.4-11.el7_0.x86_64.rpm
PyYAML-3.10-11.el7.x86_64.rpm
ansible-2.9.27-1.el7.noarch.rpm
2)查看版本
ansible --version
3)解决ansible连接客户端不能到达,需要识别known_hosts文件问题
vim /etc/ansbile/ansible.cfg
将#host_key_checking = False
改为host_key_checking = False
4)配置客户端连接信息
vim /etc/ansible/hosts
[client]
192.168.1.81 ansible_ssh_user='root' ansible_ssh_pass='密码'
192.168.1.82 ansible_ssh_user='root' ansible_ssh_pass='密码'
注意:ansible与client也可配置配置公钥认证,hosts无需配置账号密码信息
5)测试主机连接性
ansible client -m ping
2.部署实施
(1)上传介质到ansible-server
mkdir /tmp/zab && cd /tmp/zab
sftp 命令获取介质
sftp X.X.X.X 注意:X.X.X.X为介质所在IP地址
>cd /data/zabbix
>get zabbix-agent.rhel.general.tar
>exit
(2)client批量创建目录
ansible client -m file -a "path=/tmp/zab/ state=directory"
(3)批量拷贝介质到client
ansible client -m unarchive -a "src=/tmp/zab/zabbix-agent.rhel.general.tar dest=/tmp/zab"
(4)批量部署zabbix-agent
执行安装脚本
ansible client -m script -a "/tmp/zab/install.sh 参数1 参数2"
参数1:“监控二级代理IP”地址或“监控服务端IP”
参数2:“系统唯一标识”,用于适配监控“自动注册”。
(5)部署检查
完成监控部署后执行如下命令检查监控代理是否正常启动:
ansible client -m shell -a " ps aux |grep zabbix"
Ansible自动化工具部署及应用说明
于 2022-11-28 15:44:27 首次发布