ubuntu 24.04下如何安装zabbix server7.0+ zabbix proxy7.0 +zabbix agent7.0

环境:
OS:ubuntu 24.04
zabbix:7.0

192.168.1.100 zabbix server
192.168.1.103 zabbix proxy
192.168.1.104 zabbix agent

 

############################zabbix server########################

1.关闭防火墙
sudo ufw disable
sudo ufw status

 

2.设置主机名
hostnamectl set-hostname zabbix-server

 

3.添加Zabbix7.0官方源
cd /soft
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb ##会生成apt源 zabbix.sources zabbix-tools.sources
apt update

 

4.安装 MySQL 8.0
apt install -y mysql-server
# 启动并开机自启
systemctl enable --now mysql
查看运行状态
systemctl status mysql

 

5.MySQL初始化
这里设置密码为 zabbix@123
root@localhost:/etc/apt/sources.list.d#/usr/bin/mysql_secure_installation

修改root账号的密码,默认是空密码的
mysql -h localhost -uroot
alter user 'root'@'localhost' identified with mysql_native_password by 'zabbix@123';

查看用户信息
select user,host,plugin,authentication_string from mysql.user;

 

6.创建 Zabbix 数据库与账号
mysql -h localhost -uroot -p'zabbix@123'

CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER zabbix@localhost identified BY 'zabbix@123';
GRANT ALL ON zabbix.* TO zabbix@localhost;
FLUSH PRIVILEGES;
exit;

 

尝试使用zabbix账号登录
mysql -h localhost -uzabbix -p'zabbix@123'

 

7.安装 Zabbix Server + Web + Nginx + PHP
apt clean
apt update
apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent2 zabbix-sql-scripts

 

8.导入数据库初始 schema
mysql -h localhost -uroot -p'zabbix@123'
SET GLOBAL log_bin_trust_function_creators = 1;
exit;
root@localhost#zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -h localhost -uzabbix -p'zabbix@123' -D zabbix

 

9.配置 zabbix-server

vi /etc/zabbix/zabbix_server.conf

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix@123   # 和数据库创建密码一致

 

10.Nginx Web 配置调整
vi /etc/zabbix/nginx.conf
修改监听端口,默认 8080,可以改成 80
listen 80;
server_name _;
# listen 8080; #注释掉

创建软链接让 nginx 加载站点配置,好像本身已经做好了软连接了的
ln -s /etc/zabbix/nginx.conf /etc/nginx/conf.d/zabbix.conf ##不需要重新执行
systemctl reload nginx ##执行这句即可

 

11.PHP 参数调优
vi /etc/php/8.3/fpm/php.ini
我这里只修改了date.timezone,其他没有修改
max_execution_time = 300
memory_limit = 256M
post_max_size = 16M
upload_max_filesize = 2M
date.timezone = Asia/Shanghai

 

重启 php-fpm
systemctl restart php8.3-fpm

 

12.启动服务并开机自启
systemctl enable --now zabbix-server zabbix-agent2 nginx php8.3-fpm
# 查看状态
systemctl status zabbix-server
systemctl status mysql

13.删除默认的站点
unlink /etc/nginx/sites-enabled/default
nginx -t
systemctl reload nginx
nginx -T | grep -E 'listen.*80|server_name'

14.安装中文包
14.1 安装中文包
apt install -y language-pack-zh-hans language-pack-zh-hans-base locales


14.2 编辑locale配置,打开zh_CN.UTF-8
sed -i 's/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/' /etc/locale.gen
# 生成locale文件
locale-gen

 

14.3验证中文 locale 是否生成成功
root@localhost:~# locale -a | grep zh_CN


zh_CN.utf8

14.5 重启 PHP-FPM(最重要,PHP 进程必须重载环境)
systemctl restart php8.3-fpm

 

15.Web初始化
浏览器输入
http://192.168.1.100:80
配置完成后会出现登录的窗口,默认的账号密码是Admin/zabbix

 

############################zabbix proxy########################

说明:
Proxy 作用:分布式采集,Proxy独立数据库(轻量库,只存临时采集数据)
Proxy 和 Server 网络互通,Proxy 需要能访问 Server 10051 端口

1.关闭防火墙
sudo ufw disable
sudo ufw status

2.设置主机名
hostnamectl set-hostname zabbix-proxy

3.添加Zabbix7.0官方源
cd /soft
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb ##会生成apt源 zabbix.sources zabbix-tools.sources,所在目录 /etc/apt/sources.list.d
apt update

4.安装 MySQL(Proxy 本地数据库)
apt install -y mysql-server
systemctl enable --now mysql
systemctl enable mysql
systemctl status mysql
##初始化
/usr/bin/mysql_secure_installation

 

5.修改数据库root账号的密码
mysql -h localhost -uroot
alter user 'root'@'localhost' identified with mysql_native_password by 'zabbix@123';

 

6.创建 Proxy 数据库和用户
mysql -h localhost -uroot -p'zabbix@123'
create database zabbix_proxy character set utf8mb4 collate utf8mb4_unicode_ci;
create user zabbix@localhost identified by 'zabbix@123';
grant all on zabbix_proxy.* to zabbix@localhost;
flush privileges;
exit;

 

7.安装zabbix-proxy-mysql
apt install -y zabbix-proxy-mysql zabbix-agent2
apt install -y zabbix-sql-scripts

 

8.导入 proxy 初始化表结构
mysql -h localhost -uroot -p'zabbix@123'
mysql>SET GLOBAL log_bin_trust_function_creators = 1;
mysql>exit;

cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql -h localhost -uzabbix -p'zabbix@123' -D zabbix_proxy

 

9.配置 proxy 主配置

vi /etc/zabbix/zabbix_proxy.conf

Server=192.168.1.100      # 填写你的zabbix server地址
Hostname=zabbix-proxy     # 【重要】代理名称!后面web页面必须一模一样
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix@123
# 模式 0=主动模式;1=被动模式;推荐主动模式0
ProxyMode=0

 

10. 启动Proxy服务
systemctl enable --now zabbix-proxy zabbix-agent2
systemctl status zabbix-proxy
systemctl restart zabbix-proxy

 

11.停掉该机器的agent
systemctl stop zabbix-agent2
systemctl disable zabbix-agent2

 

############################zabbix agent########################

1.关闭防火墙
sudo ufw disable
sudo ufw status

2.设置主机名
hostnamectl set-hostname zabbix-agent

 

3.添加Zabbix7.0官方源
mkdir /soft
cd /soft
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb ##会生成apt源 zabbix.sources zabbix-tools.sources,所在目录 /etc/apt/sources.list.d
apt update

 

4.安装agent端
apt install -y zabbix-agent2

 

5.编辑配置文件

vi /etc/zabbix/zabbix_agent2.conf

[root@zabbix-agent zabbix]# more zabbix_agentd.conf 
PidFile=/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=1
DebugLevel=3
SourceIP=192.168.1.104

Server=192.168.1.103 ListenPort=10050 ListenIP=192.168.1.104 StartAgents=3 --xxx ServerActive=192.168.1.103 Hostname=zabbix-agent RefreshActiveChecks=5 BufferSend=20 BufferSize=100 MaxLinesPerSecond=20 --xx Timeout=3 AllowRoot=1 --xx Include=/etc/zabbix/zabbix_agentd.d/*.conf UnsafeUserParameters=1 AllowKey=system.run[*]

 

6.启动服务
systemctl restart zabbix-agent2
systemctl enable --now zabbix-agent2
systemctl status zabbix-agent2

 

#######################################zabbix server端配置##############################
1.添加zabbix agent

image

 这里的Proxy名称必须是zabbix proxy主机名称,不能随便填写

 

image

 

2.添加主机

image

 这里的主机名称就是zabbix agent的主机名称,不能随便填写

 

3.自定义监控项测试

mkdir -p /etc/zabbix/scripts ##自定义脚本目录

3.1 在zabbix agent添加脚本

[root@zabbix-agent scripts]# more /etc/zabbix/scripts/es_check_available.sh 
#!/bin/bash
available_flag=1

if [ $available_flag -eq 1 ] ; then
   echo "ok"
else
   echo "failed"
fi

 

配置项
[root@zabbix-agent zabbix_agentd.d]# more /etc/zabbix/zabbix_agent2.d/es.conf
UserParameter=check_es_available,sh /etc/zabbix/scripts/es_check_available.sh

重启zabbix agent服务
systemctl restart zabbix-agent2

 

界面配置监控项

image

 触发器

image

 7.0中已经没有str函数了,这里使用find函数替代

image

 

 

posted @ 2026-08-04 17:51  slnngk  阅读(4)  评论(0)    收藏  举报