文章目录
- 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.pid
和LogFile=/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是进程名。