搭建完成zabbix-server服务器,要求在上百台服务器安装zabbix-agent,监控每台服务器的性能,指定需要监控的端口等等,这样必须用自动化脚本来实现,更高效的完成这项工作。
自动化运维工具Ansible,相信大家也很熟悉,话不多说,开始部署。
测试环境:
192.168.20.85 zabbix-server
192.168.20.39 zabbix-agent
[root@k8s-master ~]# vim /etc/ansible/hosts
[web]
## alpha.example.org
## beta.example.org
k8s-master ansible_ssh_host=192.168.20.40
k8s-node3 ansible_ssh_host=192.168.20.39
1、配置zabbix-agent脚本
[root@k8s-master ~]# more zabbix-agent.sh
#!/bin/bash
if [ ! -f /etc/yum.repos.d/zabbix.repo ]
then
rpm -ivh /root/zabbix-release-4.2-2.el7.noarch.rpm
fi
Zabbix_Agent=`rpm -qa |grep zabbix-agent|wc -l`
if [ $Zabbix_Agent -eq 0 ];then
yum -y install zabbix-agent
fi
sed -i 's/Server=127.0.0.1/Server=192.168.20.40/g' /etc/zabbix/zabbix_agentd.conf
sed -i 's/ServerActive=127.0.0.1/ServerActive=192.168.20.40/g' /etc/zabbix/zabbix_agentd.conf
systemctl restart zabbix-agent
记得先执行下脚本是否有错误,在批量执行playbook
2、配置zabbix-agent.yml
[root@k8s-master ~]# more zabbix-agent.yml
---
- hosts: all
tasks:
- name: copy zabbix-agent.repo
copy: src=/root/zabbix-release-4.2-2.el7.noarch.rpm dest=/root/
- name: install zabbix-agent
copy: src=/root/zabbix-agent.sh dest=/root/zabbix-agent.sh mode=755
- name: run script
shell: sh /root/zabbix-agent.sh
register: result
- debug: var=result
3、批量执行安装
[root@k8s-master ~]# ansible-playbook zabbix-agent.yml
4、查看服务器zabbix-agent端口
[root@k8s-master ~]# netstat -nltp |grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 11634/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 11634/zabbix_agentd
[root@k8s-node3 ~]# netstat -nltp|grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 14587/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 14587/zabbix_agentd
相关阅读:
2、欢迎加入技术交流