曲折的安装zabbix-agent

本文详细介绍了如何使用自定义脚本自动化部署和配置Zabbix Agent在不同架构的机器上,包括解决系统版本过老导致的问题,通过下载预编译版本、源码编译安装、以及编写清理脚本来简化部署流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#author=nieming
#use=./install
#this script will auto install zabbix-agent at different struct computer
#such as X86_64 and i386,then this script will auto config the agent config
#if you want config it in custom,change ./zabbix_agentd.conf and change
#server IP :)
#########################################################################
abcd=`uname -a |egrep -o "x86_64" |wc -l`
hostname=`echo $HOSTNAME`
if [ $abcd -ne 0 ];then
rpm -ivh ./zabbix-agent-2.4.4-1.el6.x86_64.rpm
elif [ $abcd -eq 0 ];then
rpm -ivh ./zabbix-agent-2.4.3-1.el6.i686.rpm
fi

cp -f ./zabbix_agentd.conf /etc/zabiix
sed 's/Hostname=zabbix server/Hostname='$hostname'/g' -i /etc/zabbix/zabbix_agentd.conf
service zabbix-agent start


需要配置的机器没有外网的访问权限,从官网直接下的rpm包,然后安装的时候发现问提

安装机的版本都太老从最老的cent 4. 到6.x都有,并且依赖问题很难解决。这脚本牺牲。。

然后用zabbix官网的预编译版本,结果报错终端显示乱码,将错误信息复制到windwos中用

ultra edit查看,文件目录不存在。研究了好一会,然后老大将当前语言编码设置为空(utf-8)

export LANG=
终端输出错误信息,浮点类型错误,原因还是系统版本太老,编译二进制文件无法运行。

然后去官方下载源码,挨个机器编译安装(20多台啊啊啊啊,忙到一下午)

http://www.zabbix.com/download.php

下载tar.gz源码包,然后挨个机器上传,可气的是目标主机都有防火墙,从我的机器无法直接ssh过去,需要从监控机上传。

 scp ./zabbix_agents_2.4.1.linux2_6.amd64.tar.gz syswatch@192.168.6.19:/home/syswatch/

最后又写了一个脚本自动配置安装清理

#!/bin/bash
#use ./install.sh
#author nieming
#this script auto install zabbix_agent and configure conf
#clean install dir
######################################################
mkdir zabbix_compile
./configure --prefix=/home/syswatch/zabbix_compile --enable-agent
make
make install
cd /home/syswatch/zabbix_compile/etc
sed 's/Server=127.0.0.1/Server=192.168.13.77/g' -i ./zabbix_agentd.conf
sed 's/ServerActive=127.0.0.1/ServerActive=192.168.13.77/g' -i ./zabbix_agentd.conf
sed 's/Hostname=Zabbix server/Hostname='$HOSTNAME'/g' -i ./zabbix_agentd.conf
cd /home/syswatch/zabbix_compile/sbin
./zabbix_agentd -c /home/syswatch/zabbix_compile/etc/zabbix_agentd.conf
cd /home/syswatch
mv zabbix-2.4.4.tar zabbix-2.4.4
mv zabbix-2.4.4/ zabbix_compile/
ps aux |grep zabbix

一天就这么愉快的过去了。。




### 如何编译并安装 Zabbix-Agent2 #### 准备工作 在开始编译之前,需要确保系统已经满足必要的依赖条件。以下是具体的准备工作: 1. **创建用户和组** 需要为 `zabbix-agent2` 创建专用的用户和组,以确保其运行的安全性和隔离性。可以通过以下命令完成此操作[^4]: ```bash groupadd -g 1111 zabbix useradd -g zabbix -u 1111 -s /sbin/nologin -d /usr/lib/zabbix -c "Zabbix Agent" zabbix ``` 2. **安装必要工具和库** 编译 Zabbix-Agent2 前需安装一些基础开发工具和库文件。可以使用以下命令来安装这些依赖项: ```bash yum install gcc-c++ make autoconf automake libtool curl-devel openssl-devel pcre-devel -y ``` --- #### 下载源码包 可以从官方仓库或其他可信渠道获取最新版本的 Zabbix 源码包。假设我们已下载到名为 `zabbix-6.x.tar.gz` 的压缩包。 解压该压缩包后进入对应的目录: ```bash tar zxf zabbix-6.x.tar.gz cd zabbix-6.x/ ``` --- #### 配置编译环境 执行配置脚本时指定前缀路径以及启用 `agent2` 功能模块。例如: ```bash ./configure \ --prefix=/usr/local/zabbix_agent2 \ --enable-agent2 ``` 如果一切正常,则会显示成功的提示信息;如果有错误,请根据报错调整环境设置后再重新尝试。 --- #### 执行编译过程 当配置完成后即可正式开始构建项目: ```bash make && make install ``` 这一步可能会花费一定时间视具体硬件性能而定。 --- #### 设置服务启动参数 为了方便管理和服务自启等功能实现,在 `/etc/systemd/system/` 路径下新建一个 service 文件用于定义 zabbix-agent2 启动方式等内容[^3]: ```ini [Unit] Description=Zabbix Agent (active checks and traps) After=network.target [Service] Type=forking Restart=always PIDFile=/usr/local/zabbix_agent2/var/run/zabbix_agent2.pid KillMode=mixed ExecStart=/usr/local/zabbix_agent2/sbin/zabbix_agent2 -c /usr/local/zabbix_agent2/etc/zabbix_agent2.conf [Install] WantedBy=multi-user.target ``` 保存退出编辑器之后刷新 daemon 并启动新添加的服务单元测试是否成功加载: ```bash systemctl daemon-reload systemctl start zabbix-agent2.service systemctl enable zabbix-agent2.service ``` --- #### 验证安装成果 最后可通过检查进程状态或者访问相关端口等方式验证 agent 是否正在正确运作当中。通常情况下,默认监听的是 TCP 协议下的 10050 端口号。 ```bash netstat -tulnp | grep zabbix_agent2 ps aux | grep zabbix_agent2 ``` --- ### 注意事项 以上步骤基于 Linux 发行版 CentOS/RHEL 类型操作系统编写而成,其他平台可能略有差异但大体流程相似。另外需要注意的是实际部署过程中还需要修改配置文件中的 Server 和 Hostname 参数以便于与服务器端建立连接关系等等细节部分未在此详述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值