zabbix 的安装

ubuntu 22.06 LTS 安装 zabbix

a. Install Zabbix repository

产品手册

1
2
3
# wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4%2Bubuntu22.04_all.deb
# dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
# apt update

b. 安装 Zabbix server,Web 前端,agent

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

c. 创建初始数据库

产品手册

Make sure you have database server up and running.

在数据库主机上运行以下代码。

1
2
3
4
5
6
7
# mysql -uroot -p
password
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;

导入初始架构和数据,系统将提示您输入新创建的密码。

# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

Disable log_bin_trust_function_creators option after importing database schema.

1
2
3
4
# mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

d. 为Zabbix server 配置数据库

编辑配置文件 /etc/zabbix/zabbix_server.conf

DBPassword=password

e. 启动 Zabbix server 和 agent 进程

启动 Zabbix server 和 agent 进程,并为它们设置开机自启:

1
2
# systemctl restart zabbix-server zabbix-agent apache2
# systemctl enable zabbix-server zabbix-agent apache2

f. 打开 Zabbix UI 网页

使用 Apache Web 服务器时,Zabbix UI 的默认 URL 为 http://host/zabbix

使用 docker 安装 zabbix

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
docker run --name mysql-server -t ^
-e MYSQL_DATABASE="zabbix" ^
-e MYSQL_USER="zabbix" ^
-e MYSQL_PASSWORD="zabbix_pwd" ^
-e MYSQL_ROOT_PASSWORD="root_pwd" ^
--network=zabbix-net ^
--restart unless-stopped ^
-d mysql:8.0 ^
--character-set-server=utf8 --collation-server=utf8_bin ^
--default-authentication-plugin=mysql_native_password

docker run --name zabbix-java-gateway -t ^
--network=zabbix-net ^
--restart unless-stopped ^
-d zabbix/zabbix-java-gateway:alpine-5.4-latest

docker run --name zabbix-server-mysql -t ^
-e DB_SERVER_HOST="mysql-server" ^
-e MYSQL_DATABASE="zabbix" ^
-e MYSQL_USER="zabbix" ^
-e MYSQL_PASSWORD="zabbix_pwd" ^
-e MYSQL_ROOT_PASSWORD="root_pwd" ^
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" ^
--network=zabbix-net ^
-p 10051:10051 ^
--restart unless-stopped ^
-d zabbix/zabbix-server-mysql:alpine-5.4-latest

docker run --name zabbix-web-nginx-mysql -t ^
-e ZBX_SERVER_HOST="zabbix-server-mysql" ^
-e DB_SERVER_HOST="mysql-server" ^
-e MYSQL_DATABASE="zabbix" ^
-e MYSQL_USER="zabbix" ^
-e MYSQL_PASSWORD="zabbix_pwd" ^
-e MYSQL_ROOT_PASSWORD="root_pwd" ^
--network=zabbix-net ^
-p 80:8080 ^
--restart unless-stopped ^
-d zabbix/zabbix-web-nginx-mysql:alpine-5.4-latest

遇到的问题

ubuntu 系统下载 zabbix 源缓慢

目前发现的有以下几个站点:
1.阿里巴巴开源镜像站 地址:https://mirrors.aliyun.com/zabbix/
2.华为开源镜像站 地址:https://mirrors.huaweicloud.com/zabbix/
清华大学开源软件镜像站 地址:https://mirror.tuna.tsinghua.edu.cn/zabbix/

以上几个可根据自身网络情况选择使用

使用 docker run,但是提示 unknown option ‘–restart’

需要把 --restart unless-stopped 参数放到镜像名字前面

使用 docker run,但是提示 conflicts with network 8186400e06b1d590b1463197d0e0a5da3b9f1421e6d4049781eee46d46aa33ce (br-8186400e06b1): networks have overlapping IPv4

由于设置 --network 冲突导致,待确认不会影响到原有 network 后并进行删除即可。