如何快速部署zabbix-agent客户端

通过ZABBIX官网下载Agent二进制部署包,编写部署脚本来制作Agent快速部署包,用以快速进行Agent客户的安装部署。

上文中,讲述了如何使用docker快速部署一个zabbix监控系统,但是缺少如何进行Agent客户端的快速部署。这篇文章就是来补充这个问题。

1.快速部署包制作

1.1.       下载zabbix-agent部署包

下载地址:

https://www.zabbix.com/download_agents?version=6.2&release=6.2.3&os=Linux&os_version=3.0&hardware=amd64&encryption=No+encryption&packaging=Archive&show_legacy=0

选择好跟server对应的大版本,参考之前的zabbix监控系统部署使用的6.2版本(链接),这里的agent也使用6.2版本的agent进行部署。

4lo5xHMZ633253ce2d334.png

这是一个二进制的agent安装包,可以直接解压后启动。但是为了快速进行部署,可以编写一个脚本进行快速部署。

下载6.2.2二进制agent部署包

curl -O https://cdn.zabbix.com/zabbix/binaries/stable/6.2/6.2.2/zabbix_agent-6.2.2-linux-3.0-amd64-static.tar.gz

然后修改安装包命名,格式为:zabbix_agent-[version].tar.gz ,这里agent版本为6.2.2,因此我命名为:zabbix_agent-6.2.2.tar.gz

7wdXJ2fS6332541a5040a.png

1.2.       编写部署脚本

vim install_zabbix_agent.sh
#!/bin/bash
## 变量定义
# 脚本所在路径
BASE_DIR=$(cd $(dirname $0);pwd)
# Zabbix_server连接IP
SERVER_IP=$1
# agent部署路径,默认/usr/local/zabbix_agent
INSTALL_DIR=$2
if [[ ! ${INSTALL_DIR} ]];then
  INSTALL_DIR=/usr/local/zabbix_agent
fi
if [[ ! -d ${INSTALL_DIR} ]];then
  mkdir -p ${INSTALL_DIR}/logs
fi
# agent部署包
INSTALL_PACK=$3
if [[ ! ${INSTALL_PACK} ]];then
  INSTALL_PACK=$(find ${BASE_DIR} -name "zabbix*.tar.gz")
fi
# agent监听端口,默认10050
AGENT_PORT=$4
if [[ ! ${AGENT_PORT} ]];then
  AGENT_PORT=10050
fi
## 环境监测
# 判断zabbix用户是否存在,不存在则创建
id zabbix &> /dev/null
if [[ $? != 0 ]];then
  useradd zabbix
fi
# 判断端口是否被占用
PORT_IF=$(ss -tanlu|grep -v 'Port'|grep "${AGENT_PORT}" | awk '{printf $5 "\n"}' | awk -F ':' '{printf $NF "\n"}' | sort | uniq)
if [[ ${PORT_IF} ]];then
  echo "端口 ${AGENT_PORT} 已被占用,退出安装"
  exit 1
fi
## 开始安装agent
# 解压安装包
tar -zxf ${INSTALL_PACK} -C ${INSTALL_DIR}
# 授权部署路径
chown -R zabbix:zabbix ${INSTALL_DIR}
# 修改配置文件
sed -i "s@Server=127.0.0.1@Server=${SERVER_IP}@g" ${INSTALL_DIR}/conf/zabbix_agentd.conf
sed -i "s@ServerActive=127.0.0.1@ServerActive=${SERVER_IP}@g" ${INSTALL_DIR}/conf/zabbix_agentd.conf
sed -i "s@Hostname=Zabbix server@Hostname=${SERVER_IP}@g" ${INSTALL_DIR}/conf/zabbix_agentd.conf
sed -i "s@# ListenPort=10050@ListenPort=${AGENT_PORT}@g" ${INSTALL_DIR}/conf/zabbix_agentd.conf
sed -i "s@# PidFile=/tmp/zabbix_agentd.pid@PidFile=${INSTALL_DIR}/logs/zabbix_agent.pid@g" ${INSTALL_DIR}/conf/zabbix_agentd.conf
sed -i "s@LogFile=/tmp/zabbix_agentd.log@LogFile=${INSTALL_DIR}/logs/zabbix_agentd.log@g" ${INSTALL_DIR}/conf/zabbix_agentd.conf
# 创建agent启动文件
cat > /usr/lib/systemd/system/zabbix_agentd.service << EOF
[Unit]
Description=Zabbix_agent service
After=syslog.target
After=network.target

[Service]
Type=simple
User=zabbix
Restart=always
KillMode=mixed
PIDFile=${INSTALL_DIR}/logs/zabbix_agent.pid
ExecStart=${INSTALL_DIR}/sbin/zabbix_agentd -c ${INSTALL_DIR}/conf/zabbix_agentd.conf
ExecStop=/bin/kill -SIGTERM $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=default.target
EOF
# 启动Zabbix_agent服务
systemctl daemon-reload
systemctl start zabbix_agentd.service
systemctl status zabbix_agentd.service &> /dev/null
if [[ $? = 0 ]];then
  echo "zabbix_agentd服务启动完成"
else
  echo "zabbix_agentd服务启动失败,请使用命令:systemctl status zabbix_agentd.service 查看失败原因"
fi

给予脚本执行权限

chmod +x install_zabbix_agent.sh

然后将脚本与agent部署包打包成一个新的压缩包

tar -zcf install_agent.tar.gz *

iukwhxEO633254f54b4f5.png

2.   使用快速部署包进行agent部署

上传安装包install_agent.tar.gz到服务器

解压安装包

tar -zxf install_agent.tar.gz

7Fe8etjv6332554164ba2.png

执行脚本进行安装

./install_zabbix_agent.sh 192.168.75.31

注意:

执行该脚本进行部署需要最少需要输入1个参数

  1. 第一个参数:Zabbix_server的连接IP(必须)
  2. 第二个参数:部署路径(可选,默认为:/usr/local/zabbix_agent
  3. 第三个参数:部署包(可选,默认为:解压后的agent包)
  4. 第四个参数:Zabbi_agent的监听端口(可选,默认为:10050

hIAjsvJr633255775e879.png

查看agent运行状态

systemctl status zabbix_agentd.service

iKBrjlud6332558c08ecc.png可以看到agent正常运行

3.   Zabbix界面添加监控

配置>主机>创建主机(右上角)>补充信息(主机名称,链接模板,主机群组,接口类型为agent>添加

B68lqf0U6332559a84ed1.png

添加完agent后,到最新数据查看最新添加的主机监控,可见主机监控数据正常获取。

i9t7z4Oj633255acb82dd.png

至此,本文章到此结束,谢谢捧场!

0 条评论

请先 登录 后评论
我是一只小菜鸡
我是一只小菜鸡

小菜鸡

12 篇文章

作家榜 »

  1. 乐维君 344 文章
  2. YOHOHO 14 文章
  3. 机灵小和尚 13 文章
  4. 我是一只小菜鸡 12 文章
  5. 细雨闲花 11 文章
  6. 御前侍卫张五哥 9 文章
  7. 。。。 8 文章
  8. 小黄人 8 文章