百科网站程序,网站建设哪家好就推 鹏博资讯,制作手工灯笼,网站商城建设报告CentOS上如何离线批量自动化部署zabbix 7.0版本客户端
管理的服务器大部分都是CentOS操作系统#xff0c;版本主要是CentOS 7。因为监控服务器需要#xff0c;要在前两天搭建的Zabbix 7.0系统上把这些CentOS 7系统都监控起来。因为服务器数量众多#xff0c;而且有些服务器…CentOS上如何离线批量自动化部署zabbix 7.0版本客户端
管理的服务器大部分都是CentOS操作系统版本主要是CentOS 7。因为监控服务器需要要在前两天搭建的Zabbix 7.0系统上把这些CentOS 7系统都监控起来。因为服务器数量众多而且有些服务器还无法直接访问外网为了提高zabbix-agent2客户端的部署和配置效率就采用将zabbix 7.0客户端的软件包私有化并且写一个自动化部署的脚本来提高部署和配置效率。
1 私有化zabbix-agent2客户端软件仓库
1 找一台测试机离线下载zabbix-agent2相关软件包
具体可以参考zabbix官网软件下载界面我们是被监控端是CentOS 7版本系统,Zabbix Server是7.0 LTS所以依次选择 Zabbix Packages - ZABBIX VERSION 7.0 LTS - OS DISTRIBUTION CentOS - OS VERSION 7 - ZABBIX COMPONENT Agent 2, 在下方生成的文档中的安装zabbix-agent2包的命令复制到被监控端服务器上执行不过在执行前先把yum的缓存设置成保留执行以下命令
sed -i /^keepcache0/s/0/1/ /etc/yum.conf2 执行安装测试操作
复制刚刚1步骤中看到的安装zabbix-agent2客户端命令如下
# 配置zabbix官方repository
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/7/x86_64/zabbix-release-latest.el7.noarch.rpm
yum clean all# 安装zabbix-agent2客户端
yum install zabbix-agent2 zabbix-agent2-plugin-*# 修改zabbix-agent2服务的配置文件 可以跳过这里只需要获取zabbix-agent2相关安装包
# 具体配置文件在/etc/zabbix/zabbix_agent2.conf, 需要修改的项有:
Serverxxx
ServerActivexxx
HostNamexxx
HostMetadataxxxx# 启动和配置zabbix-agent2服务开机自启动 可以跳过这里只需要获取zabbix-agent2相关安装包
systemctl restart zabbix-agent2
systemctl enable zabbix-agent2(3) 制作私有yum软件仓库及repo配置文件
将2中安装过程中保留在本地的zabbix-agent2相关包拷贝到web服务的目录中创建私有软件仓库元数据。
# 将(2)中测试机上的/var/cache/yum/x86_64/7/zabbix/packages/拷贝到web服务目录中并生成仓库依赖包元数据信息
mkdir /data/soft/zabbix-agent2/zabbix-7-lts/centos7
cp /var/cache/yum/x86_64/7/zabbix/packages/*.rpm /data/soft/zabbix-agent2/
cd /data/soft/zabbix-agent2/zabbix-7-lts/centos7
createrepo .准备好仓库的repo配置文件
cat /data/soft/zabbix-agent2/zabbix-7-lts/zabbix.repo EOF
[zabbix]
nameZabbix Official Repository - $basearch
baseurlhttp://web-server-ip-dns-name/zabbix_agent2/zabbix-7-lts/centos7/
enabled1
gpgcheck0
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-B5333005
EOF2 准备自动化安装和配置zabbix-agent2脚本
该脚本实现zabbix-agent2的自动化安装和配置主要功能包括
获取并配置YUM仓库安装zabbix-agent2软件包修改服务配置文件重启服务并设置开机自启
脚本设计特点
Zabbix Server地址可配置HostMetadata支持自定义传参
通过这些功能和设计脚本可适应不同部署环境提高了实用性和可扩展性。
脚本的具体内容如下
cat /data/soft/zabbix-agent2/zabbix-7-lts/centos7-install-zabbix-agent2-7.0.6.sh #!/bin/bash
####################################################################################################################################
# File Name: centos7-install-zabbix-agent2-7.0.6.sh
# Author: AnSter
# mail: anster126.com
# Created Time: Tue 19 Nov 2024 02:29:50 PM CST
# Linux: CentOS 7
# Usage:
# 1. set both zabbix server ip and hostmeatadata
# curl http://web-download-server.cn/zabbix_agent2/zabbix-7-lts/centos7-install-zabbix-agent2-7.0.6.sh | bash -s -- 10.0.13.15 LeadIPMS
# 2. only set hostmetadata, use default zabbix server ip zabbix-server.cn
# curl http://web-download-server.cn/zabbix_agent2/zabbix-7-lts/centos7-install-zabbix-agent2-7.0.6.sh | bash -s -- LeadIPMS
# 3. all use default zabbix server ip zabbix-server.cn and hostmetadata Linux IPMS
# curl http://web-download-server.cn/zabbix_agent2/zabbix-7-lts/centos7-install-zabbix-agent2-7.0.6.sh
##################################################################################################################################### change zabbix_agent2 settings
z_server_ipzabbix-server.cn
hostmetadataProjAecho $## if two arguments given, 1st is zabbix server ip, 2nd is hostmetadata configure
if [ $# -eq 2 ]; thenz_server_ip${1}hostmetadata${2}echo both provide zabbix
elif [ $# -eq 1 ]; then# if only one argument given, set hostmetadata configuration. hostmetadata${2}echo use default zabbix server ip, and provide hostmetadata configure
elseecho use default zabbix server configuration.
fiecho Zabbix Server ip: ${z_server_ip}, HostMetadata is ${hostmetadata}.# check if zabbix-agent2 is installed or not
rpm -q zabbix-agent2 /dev/null 21
if [ $? -eq 0 ]; thenecho zabbix-agent2 package alreay installed, skip install.
fi# download and install zabbix-agent2 rpm package
if [ -e /etc/yum.repos.d/zabbix.repo ]; then rm -f /etc/yum.repos.d/zabbix.repo
fi
curl -o /etc/yum.repos.d/zabbix.repo http://web-download-server.cn/zabbix_agent2/zabbix-7-lts/zabbix.repo
yum install -y zabbix-agent2 /dev/null 21
if [ $? -eq 0 ]; thenecho install zabbix_agent2 package done.
elseecho failed to install zabbix_agent2 package
fiAGENT_CONF/etc/zabbix/zabbix_agent2.conf
sed -i /^Server127.0.0.1/s/127.0.0.1/${z_server_ip}/ ${AGENT_CONF}
sed -i /^ServerActive127.0.0.1/s/127.0.0.1/${z_server_ip}/ ${AGENT_CONF}
sed -i /^HostnameZabbix server/s/Zabbix server/$(hostname)/ ${AGENT_CONF}
sed -i /^# HostMetadata/a HostMetadata${hostmetadata} ${AGENT_CONF}# output import configure
grep ^Server.* ${AGENT_CONF}
grep ^Host.* ${AGENT_CONF}# restart zabbix-agent2 service
systemctl start zabbix-agent2
systemctl enable zabbix-agent2echo finish install and confiugre zabbix_agent23 测试使用
脚本也放到web服务上的在被监控节点上安装和配置zabbix-agent2服务只需要按以下操作即可实现一条命令即可完成部署和配置工作大大提升配置效率。
# 脚本支持以下三种调用方式#1. 同时提供自定义的zabbix server地址 zabbix-server.cn和设置hostmetadata为ProjAcurl http://web-download-server.cn/zabbix_agent2/zabbix-7-lts/centos7-install-zabbix-agent2-7.0.6.sh | bash -s -- zabbix-server.cn ProjA
#2. 只提供HostMetadata值使用默认的zabbix server地址curl http://web-download-server.cn/zabbix_agent2/zabbix-7-lts/centos7-install-zabbix-agent2-7.0.6.sh | bash -s -- ProjA
#3. 不提供任何参数都是用默认值zabbix server使用zabbix-server.cnHostMetadata设置为ProjAcurl http://web-download-server.cn/zabbix_agent2/zabbix-7-lts/centos7-install-zabbix-agent2-7.0.6.sh
以上是针对CentOS 7系统上安装zabbix-agent2做离线安装部署及自动化提升效率安装和配置的方式仅供参考。以上代码可以根据自己的具体环境做修改调整希望能带来帮助。