离线源码编译安装zabbix-agent

2024-06-22 03:20

本文主要是介绍离线源码编译安装zabbix-agent,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1,先进zabbix官网下载zabbix的源码包
  • 2,把这个zabix源码包上传到需要安装的目标机器上去
  • 3,编译安装
    • 3.1 ,解压软件包得到一个zabbix-5.0.42的文件夹
    • 3.2,进入/vdb/zabbix-5.0.42文件夹,依次执行命令
  • 4,zabbix-agent配置文件调整与修改
    • 4.1,备份源有的默认配置文件
    • 4.2 新建zabbix_agentd.conf并写入内容
    • 4.3 把zabbix-agent添加到systemctl快捷启动
  • 5,添加zabbix用户和相关权限
    • 5.1,zabbix用户需要拥有对 systemctl启动文件夹的权限
    • 5.2,pid和log文件是没办法自动创建的,需要手动先创建相关文件夹
  • 6、启动zabbix-agent

1,先进zabbix官网下载zabbix的源码包

zabbix下载页面的官网
在这里插入图片描述
我这里用一台我能上网的机器,下载zabbix源码包是5.0.42版本。

2,把这个zabix源码包上传到需要安装的目标机器上去

而且我这个目标机器是断网的,不能够连接互联网,只能和本地的机互相本地连接。
我把这个下载好的zabbix-5.0.42.tar.gz放在目标机器的/vdb中去

3,编译安装

3.1 ,解压软件包得到一个zabbix-5.0.42的文件夹

cd /vdb
tar -xvf zabbix-5.0.42.tar.gz 

3.2,进入/vdb/zabbix-5.0.42文件夹,依次执行命令

cd zabbix-5.0.42
./configure  --prefix=/usr/local/zabbix-5.0.42/ --enable-agent
make install

./configure --prefix=/usr/local/zabbix-5.0.42/ --enable-agent 是在进行软件的配置过程。

  • ./configure 是一个常见的步骤,用于为软件的编译和安装准备环境。

  • --prefix=/usr/local/zabbix-5.0.42/ 指定了软件安装的目标目录。

  • --enable-agent 表示启用相关的功能,在这里我只安装zabbix-agent,其实这个源码包里面还包含了zabbix-server,zabbix-proxy等等,你需要哪些就enable哪些。大致是这个意思。

4,zabbix-agent配置文件调整与修改

因为我们上一步指定了安装路径,把zabbix-agent安装在了/usr/local/zabbix-5.0.42/里面。

cd /usr/local/zabbix-5.0.42/

你打开这个路径可以看到zabbix-agent安装目录下有5个文件夹,./etc里面放的是配置文件,./sbin里面放的是启动文件。其他三个我暂时没去了解。
在这里插入图片描述

4.1,备份源有的默认配置文件

/usr/local/zabbix-5.0.42/etc这个路径下,有zabbix-agent的默认配置文件,一共就2个,一个是zabbix_agentd.conf文件,另一个是zabbix_agentd.conf.d文件夹

cd /usr/local/zabbix-5.0.42/etc

把/usr/local/zabbix-5.0.42/etc里面源有的文件移动备份到bak文件夹里面

mkdir bak
mv ./* bak

4.2 新建zabbix_agentd.conf并写入内容

mkdir /usr/local/zabbix-5.0.42/etc/zabbix_agentd.conf.d
vim /usr/local/zabbix-5.0.42/etc/zabbix_agentd.conf

我新建的/usr/local/zabbix-5.0.42/etc/zabbix_agentd.conf具体内容长这样:

PidFile=/var/run/zabbix/zabbix_agent.pid
LogFile=/var/log/zabbix/zabbix_agent.log
LogFileSize=20
DebugLevel=3
Server=10.142.16.60 # 这是zabbix-server的ip
ListenPort=10050
ServerActive=10.142.16.60 # 这是zabbix-server的ip
HostnameItem=system.hostname # 这是zabbix-agent的主机名
BufferSize=2000
Timeout=15
Include=/usr/local/zabbix-5.0.42/etc/zabbix_agentd.conf.d/*.conf#以下这5行Include是根据我的需求来创建的,你们没啥需求的话,就只要上面这一行的Include
Include=/usr/local/zabbix-5.0.42/etc/zabbix_agentd.conf.d/es_conf/*.conf
Include=/usr/local/zabbix-5.0.42/etc/zabbix_agentd.conf.d/mysql_conf/*.conf
Include=/usr/local/zabbix-5.0.42/etc/zabbix_agentd.conf.d/ogg_conf/*.conf
Include=/usr/local/zabbix-5.0.42/etc/zabbix_agentd.conf.d/oracle_conf/*.conf
Include=/usr/local/zabbix-5.0.42/etc/zabbix_agentd.conf.d/redis_conf/*.conf

4.3 把zabbix-agent添加到systemctl快捷启动

vim /lib/systemd/system/zabbix_agent.service

/lib/systemd/system/zabbix_agent.service具体长这样,相关参数需要根据你的情况修改

[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target[Service]
# 一定要注意Environment这一行,路径要写成zabbix-agent安装目录下面的./etc里面的zabbix_agentd.conf
#而且这个zabbix_agentd.conf就是我们刚才新建的zabbix_agentd.conf
Environment="CONFFILE=/usr/local/zabbix-5.0.42/etc/zabbix_agentd.conf"EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=simple
Restart=on-failure
PIDFile=/var/run/zabbix/zabbix_agent.pid
KillMode=control-group# 一定要注意ExecStar这一行,路径是安装目录下的启动文件所在地址
ExecStart=/usr/local/zabbix-5.0.42/sbin/zabbix_agentd -c $CONFFILE ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix[Install]
WantedBy=multi-user.target

5,添加zabbix用户和相关权限

5.1,zabbix用户需要拥有对 systemctl启动文件夹的权限

useradd zabbix
chown -R zabbix.zabbix /lib/systemd/system/
systemctl daemon-reload

5.2,pid和log文件是没办法自动创建的,需要手动先创建相关文件夹

  • 回顾刚才步骤4.2那里,/usr/local/zabbix-5.0.42/etc/zabbix_agentd.conf这个配置文件的前2行就是PidFile=/var/run/zabbix/zabbix_agent.pidLogFile=/var/log/zabbix/zabbix_agent.log
  • 但是由于我们是源码编译安装,不是yum install全自动安装,所以机器读取这个配置文件的时候,在第一行就会蒙住,因为他发现机器里面根本就没有/var/run/zabbix这个路径,所以也就无法在这个路径下面创建/zabbix_agent.pid
  • 同理/zabbix_agent.log
mkdir -p /var/run/zabbix/
mkdir -p /var/run/zabbix/chown -R zabbix.zabbix /var/run/zabbix/
chown -R zabbix.zabbix /var/log/zabbix/

这样之后,系统才可创建/zabbix_agent.pid/zabbix_agent.log

6、启动zabbix-agent

systemctl enable  zabbix_agent
systemctl status  zabbix_agent
systemctl start zabbix_agent

注意启动这里写的是下划线,但是安装软件路径那里zabbix-agent写的是短横杠。区别就是zabbix-agent是应用名字,zabbix_agent是进程名。
在这里插入图片描述

这篇关于离线源码编译安装zabbix-agent的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1083145

相关文章

windows下安装Nginx全过程

《windows下安装Nginx全过程》文章介绍了HTTP和反向代理服务器的概念,包括正向代理和反向代理的区别,并详细描述了如何安装和配置Nginx作为反向代理服务器... 目录概念代理正向代理反向代理安装基本属性nginx.conf查询结构属性使用运行重启停止总结概念是一个高性能的HTTP和反向代理we

Agent开发核心技术解析以及现代Agent架构设计

《Agent开发核心技术解析以及现代Agent架构设计》在人工智能领域,Agent并非一个全新的概念,但在大模型时代,它被赋予了全新的生命力,简单来说,Agent是一个能够自主感知环境、理解任务、制定... 目录一、回归本源:到底什么是Agent?二、核心链路拆解:Agent的"大脑"与"四肢"1. 规划模

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

Java编译错误java.lang.NoSuchFieldError的解决方案详析

《Java编译错误java.lang.NoSuchFieldError的解决方案详析》java.lang.NoSuchFieldError是Java中的一种运行时错误,:本文主要介绍Java编译错... 目录前言解决方案1. 统一JDK版本环境2. 优化maven-compiler-plugin配置3. 清

GO语言中gox交叉编译的实现

《GO语言中gox交叉编译的实现》本文主要介绍了GO语言中gox交叉编译的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录一、安装二、使用三、遇到的问题1、开启CGO2、修改环境变量最近在工作中使用GO语言进行编码开发,因

win10安装及配置Gradle全过程

《win10安装及配置Gradle全过程》本文详细介绍了Gradle的下载、安装、环境变量配置以及如何修改本地仓库位置,通过这些步骤,用户可以成功安装并配置Gradle,以便进行项目构建... 目录一、Gradle下载1.1、Gradle下载地址1.2、Gradle下载步骤二、Gradle安装步骤2.1、安

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

java 恺撒加密/解密实现原理(附带源码)

《java恺撒加密/解密实现原理(附带源码)》本文介绍Java实现恺撒加密与解密,通过固定位移量对字母进行循环替换,保留大小写及非字母字符,由于其实现简单、易于理解,恺撒加密常被用作学习加密算法的入... 目录Java 恺撒加密/解密实现1. 项目背景与介绍2. 相关知识2.1 恺撒加密算法原理2.2 Ja