得知互动

标题: 热点:zabbix-agent客户端快速部署2022/11/5 [打印本页]

作者: xinshangren    时间: 2022-11-5 15:40
标题: 热点:zabbix-agent客户端快速部署2022/11/5
  Zabbix是开源监控的集大成者之一,Zabbix还可以监控服务器、操作系统、数据库等绝大多数系统资源,本文介绍一下如何快速部署zabbix-agent,更多Zabbix监控技术可关注乐维zabbix技术分享(https://www.lwops.cn/index.php/anl/10962)。

登录/注册后可看大图
  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进行部署。   

登录/注册后可看大图
  这是一个二进制的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   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 *   2.使用快速部署包进行agent部署   上传安装包install_agent.tar.gz到服务器   解压安装包   tar -zxf install_agent.tar.gz   执行脚本进行安装   ./install_zabbix_agent.sh 192.168.75.31   注意:   执行该脚本进行部署需要最少需要输入1个参数   第一个参数:Zabbix_server的连接IP(必须)   第二个参数:部署路径(可选,默认为:/usr/local/zabbix_agent)   第三个参数:部署包(可选,默认为:解压后的agent包)   第四个参数:Zabbi_agent的监听端口(可选,默认为:10050)   查看agent运行状态   systemctl status zabbix_agentd.service   3.Zabbix界面添加监控   配置>主机>创建主机(右上角)>补充信息(主机名称,链接模板,主机群组,接口类型为agent)>添加   添加完agent后,到最新数据查看最新添加的主机监控,可见主机监控数据正常获取。   至此,本文章到此结束,谢谢捧场! 2022/11/5




欢迎光临 得知互动 (https://bbs.dezhifl.com/) Powered by Discuz! X3.4