ununtu26下安装zabbix server 7.0 + zabbix agent 7.0
环境:
OS:ubuntu26
zabbix:7.0
机器角色:
192.168.1.100 zabbix server
192.168.1.107 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_7.0-2%2Bubuntu26.04_all.deb
dpkg -i zabbix-release_7.0-2+ubuntu26.04_all.deb ##会生成apt源 zabbix.sources zabbix-tools.sources
apt update
4.安装 MySQL 8.4
ubuntu26 默认是安装mysql8.4了
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';
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'zabbix@123';
ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded
解决办法:
修改 /etc/mysql/mysql.conf.d/mysqld.cnf 永久开启
[mysqld]
mysql_native_password=on
然后重启mysql
systemctl stop mysql
systemctl start mysql
然后重新执行
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'zabbix@123';
Query OK, 0 rows affected (0.00 sec)
查看用户信息
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,我这里保持默认的,将注释去掉,server_name 修改为 _
listen 8080;
server_name _;
创建软链接让 nginx 加载站点配置,好像本身已经做好了软连接了的
ln -s /etc/zabbix/nginx.conf /etc/nginx/conf.d/zabbix.conf ##不需要重新执行
root@zabbix-server:/# ls -al /etc/nginx/conf.d/zabbix.conf
lrwxrwxrwx 1 root root 22 Aug 7 09:47 /etc/nginx/conf.d/zabbix.conf -> /etc/zabbix/nginx.conf
systemctl reload nginx ##执行这句即可
11.PHP 参数调优
vi /etc/php/8.5/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 status php8.5-fpm
systemctl stop php8.5-fpm
systemctl start php8.5-fpm
12.启动服务并开机自启
systemctl enable --now zabbix-server zabbix-agent2 nginx php8.5-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.*8080|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.5-fpm
15.Web初始化
浏览器输入
http://192.168.1.100:8080
配置完成后会出现登录的窗口,默认的账号密码是Admin/zabbix
############################zabbix agent########################
192.168.1.107
1.关闭防火墙
sudo ufw disable
sudo ufw status
2.设置主机名
hostnamectl set-hostname zabbix-agent
3.添加Zabbix7.0官方源
cd /soft
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-2%2Bubuntu26.04_all.deb
dpkg -i zabbix-release_7.0-2+ubuntu26.04_all.deb ##会生成apt源 zabbix.sources zabbix-tools.sources
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.107
Server=192.168.1.100
ListenPort=10050
ListenIP=192.168.1.107
ServerActive=192.168.1.100
Hostname=zabbix-agent
RefreshActiveChecks=5
BufferSend=20
BufferSize=100
Timeout=3
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
7.自动发现
若想使用自动发放发现,需要进行如下修改
7.1 修改配置文件
#ServerActive=192.168.1.100 #注释主动模式
#Hostname=zabbix-agent #被动模式下Hostname可以注释,使用HostnameItem
HostnameItem=system.hostname ##原来注释的要启用
7.2 重启动
systemctl restart zabbix-agent2
7.3 界面启用自动发现


7.4 自动发现动作配置


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
界面添加监控项和触发器


浙公网安备 33010602011771号