最近公司使用了麒麟操作系统,需要安装Zabbix监控。官方提供的安装包中并没有针对麒麟系统的,需要进行编译安装。以下方法及其他linux也适用,包括统信UOS
编译Zabbix Agent
1 安装编译依赖
yum install gcc pcre pcre-devel make -y
2 下载源码包
Zabbix的源码包可以从官网下载,我选择使用目前最新的6.0 LTS的源码包进行编译;官网下载链接 cdn.zabbix.com/zabbix/sour… 或者cdn.zabbix.com/zabbix/sour… 或者cdn.zabbix.com/zabbix/sour…
3 创建zabbix 用户和组:
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Agent" zabbix
4 编译Zabbix Agent
解压:tar -zxvf zabbix-5.0.37.tar.gz
解压后进入目录,执行两条命令即可编译安装完成;
详细命令说明、参考官方文档链接www.zabbix.com/documentati…
tar -zxvf zabbix-5.0.37.tar.gz
./configure --enable-agent 或 ./configure --enable-agent --disable-dependency-tracking
make install
编译安装完成后,去到默认目录,默认文件的存储位置如下:
── /usr
└── local
├── bin
│ ├── zabbix_get # 放到 /usr/local/bin/
│ └── zabbix_sender # 放到 /usr/local/bin/
├── etc
│ ├── zabbix_agentd.conf # 放到 /usr/local/etc/
│ └── zabbix_agentd.conf.d # 放到 /usr/local/etc/
└── sbin
└── zabbix_agentd # 放到 /usr/local/sbin/
5 编配置文件
修改zabbix_agentd.conf,修改结果如下 查看命令:grep -Ev '^#|^$' /usr/local/etc/zabbix_agent.conf
PidFile=/usr/pid/zabbix/zabbix_agent2.pid
LogFile=/usr/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.1.106
ServerActive=192.168.1.106:10051
Hostname=zbx-agent01
Include=/usr/local/etc/zabbix_agent.conf.d/*.conf
ControlSocket=/tmp/agent.sock
创建一个日志文件目录:
mkdir /usr/log/zabbix; chown -R zabbix:zabbix /usr/log/zabbix
创建一个用户主目录:
mkdir /usr/pid/zabbix; chown -R zabbix:zabbix /usr/pid/zabbix
6 启动 zabbix_agentd
/usr/local/sbin/zabbix_agentd -c zabbix_agentd.conf
7 创建系统服务
新建/usr/lib/systemd/system/zabbix-agent.service文件,输入如下内容:
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/etc/zabbix_agent.conf"
#EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
KillMode=control-group
ExecStart=/usr/local/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
User=daemon
Group=daemon
[Install]
WantedBy=multi-user.target
完整目录
# 把编译好的安装包上传到麒麟系统,解压,然后把对应的文件放置到对应的目录中
├── usr
├── lib
│ └── systemd
│ └── system
│ └── zabbix-agent.service # 新创建这个文件,放到 /usr/lib/systemd/system
└── local
├── bin
│ ├── zabbix_get # 放到 /usr/local/bin/
│ └── zabbix_sender # 放到 /usr/local/bin/
├── etc
│ ├── zabbix_agentd.conf # 放到 /usr/local/etc/
│ └── zabbix_agentd.conf.d # 放到 /usr/local/etc/
└── sbin
└── zabbix_agentd # 放到 /usr/local/sbin/
8 启动Zabbix Agent 服务
# 加载服务启动文件
systemctl daemon-reload
# 启动Zabbix Agent
systemctl start zabbix-agent
# 设置开机自启动
systemctl enable zabbix-agent
9 打开防火墙:
firewall-cmd --add-port=10050/tcp --permanent
firewall-cmd --reload
10 验证agent2的联通性
以下命令仅在服务端执行时使用、主动获取数据. 服务端安装 yum install -y zabbix-get ,自编译的环境在/usr/local/sbin/zabbix_agentd
# 命令检测是否链接上客户端
[root@bogon ~]# zabbix_get -s '192.168.1.107' -p 10050 -k 'agent.ping'
1
[root@bogon ~]# zabbix_get -s '192.168.1.107' -p 10050 -k 'agent.hostname'
zbx-agent01