【Linux】Ubuntu22.04安装zabbix

发布于:2025-07-18 ⋅ 阅读:(14) ⋅ 点赞:(0)

官方文档:zabbix安装文档

环境如下

环境 版本
nginx 1.26.3
zabbix 7.0.16
mysql 8.0.41

安装nginx和mysql

一键部署脚本

部署zabbix

#!/bin/bash
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu22.04_all.deb

dpkg -i zabbix-release_latest_7.0+ubuntu22.04_all.deb

apt update

apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

# 在数据库主机上运行以下代码。
mysql -uzabbix -p123456 -h 192.168.100.153

create database zabbix character set utf8mb4 collate utf8mb4_bin;
CREATE USER 'zabbix'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';
set global log_bin_trust_function_creators = 1;
quit;

# 由于我的数据库和zabbix不在同一台主机,所以要指定主机IP
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p123456  -h 192.168.100.153 zabbix

#导入数据库架构后禁用 log_bin_trust_function_creators 选项。
mysql -uzabbix -p123456 -h 192.168.100.153
set global log_bin_trust_function_creators = 0;
quit;

#编辑配置文件 /etc/zabbix/zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf
DBPassword=123456
DBHost=192.168.100.153


# 编辑配置文件 /etc/zabbix/nginx.conf 取消注释并设置 'listen' 和 'server_name' 指令。
mv /etc/zabbix/nginx.conf  /usr/local/nginx1/conf/conf.d/zabbix.conf

# 启动Zabbix server和agent进程,并为它们设置开机自启:
systemctl restart zabbix-server zabbix-agent nginx php8.1-fpm
systemctl enable zabbix-server zabbix-agent nginx php8.1-fpm

#注意nginx的用户和php的用户是否一致,可能会出现权限问题,导致无法进入zabbix的网页

初始化zabbix

初始化之后登录zabbix如下:
Zabbix 的默认用户名是 “Admin”,密码是 “zabbix”。
在这里插入图片描述

监控其它主机

其它主机安装zabbix-agent,zabbix主机安装zabbix-get命令

被监控主机执行:

wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu22.04_all.deb
dpkg -i zabbix-release_latest_7.0+ubuntu22.04_all.deb
apt update
apt install zabbix-agent

#修改配置文件,是zabbix主机可以通过认证,访问到被监控主机的agent
vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.50.0/24        # 允许访问的服务器/客户端 IP 段
#Server=192.168.50.230,127.0.0.1       #也可以这样写

#重启生效配置
systemctl restart zabbix-agent

zabbix服务器验证

zabbix_get -s 192.168.50.113 -k agent.ping
1
zabbix_get -s 192.168.50.113 -k vm.memory.size[free]
2195476480

以下是 zabbix_get 命令中 -k 参数(监控项键值)的常见用法表格:

监控项键值(Item Key) 描述 返回值示例
system.cpu.load[percpu,avg1] 获取系统 CPU 1 分钟平均负载(按 CPU 核心) 0.25
system.cpu.util[,idle] 获取 CPU 空闲时间百分比 95.2
vm.memory.size[free] 获取空闲内存大小(字节) 4294967296
vm.memory.size[total] 获取总内存大小(字节) 17179869184
vm.memory.size[pavailable] 获取可用内存百分比 24.8
system.hostname 获取主机名 server01
system.uname 获取系统信息(类似 uname -a Linux server01 5.4.0-104-generic #118-Ubuntu SMP Thu Mar 24 16:04:27 UTC 2022 x86_64
net.if.in[eth0] 获取网络接口(eth0)接收的字节数 123456789
net.if.out[eth0] 获取网络接口(eth0)发送的字节数 987654321
disk.space[/,free] 获取根分区(/)的空闲空间(字节) 50000000000
disk.space[/,pfree] 获取根分区(/)的空闲空间百分比 45.2
proc.num[] 获取正在运行的进程总数 289
agent.ping 测试 Zabbix Agent 是否响应 1(成功)或 0(失败)
zabbix[host,items] 获取 Zabbix 服务器上该主机的监控项数量 568
system.swap.size[,free] 获取空闲交换空间大小(字节) 2147483648
system.swap.size[,total] 获取总交换空间大小(字节) 4294967296
system.cpu.intr 获取 CPU 中断频率 1234
system.localtime 获取主机本地时间(Unix 时间戳) 1689580800
vfs.file.size[/etc/passwd] 获取文件大小(字节) 2048
vfs.file.age[/etc/passwd] 获取文件修改时间(秒) 86400

如果出现如下报错,证明配置文件未修改,或者改错

root@ubuntu:~# zabbix_get -s 192.168.50.113 -k vm.memory.size[free]
ZBX_NOTSUPPORTED: Received empty response from Zabbix Agent at [192.168.50.113]. Assuming that agent dropped connection because of access permissions.

网站公告

今日签到

点亮在社区的每一天
去签到