VirtualBox上基于Ubuntu22.04安装Zabbix6.0

438 阅读4分钟

1 前提条件

在Win10系统上通过VirtualBox7.2 上安装的Ubuntu22.04,安装Zabbix6.0。

这里有内网环境部分,所以一些下载是不好用的,我做了相应调整

2 下载安装

2.1 下载deb文件

登录如下链接选择相应安装组件:下载地址

我这里选择了 之后下方的 Install and configure Zabbix for your platform

# 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

我这里无法在虚拟集中执行wget,无法下载。所以直接在外面下载了这个文件,并上传到虚拟机中,在执行 dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb 的命令。

此时先不执行 apt update 命令,因为一些https的源无法下载(因为内网环境,如果不是这个原因可以直接执行,只要不报错)

2.2 修改源中的https

进入到文件夹

zhuchenghai@zhuchenghai-VirtualBox:/etc/apt/sources.list.d$ pwd
/etc/apt/sources.list.d
zhuchenghai@zhuchenghai-VirtualBox:/etc/apt/sources.list.d$ ls
zabbix-agent2-plugins.list  zabbix.list

需要修改上面的两个文件,将 https 都改成 http

zhuchenghai@zhuchenghai-VirtualBox:/etc/apt/sources.list.d$ cat zabbix.list 
# Zabbix main repository
deb http://repo.zabbix.com/zabbix/6.0/ubuntu jammy main
deb-src http://repo.zabbix.com/zabbix/6.0/ubuntu jammy main

# Zabbix unstable repository
#deb https://repo.zabbix.com/zabbix/5.5/ubuntu jammy main
#deb-src https://repo.zabbix.com/zabbix/5.5/ubuntu jammy main
zhuchenghai@zhuchenghai-VirtualBox:/etc/apt/sources.list.d$ cat zabbix-agent2-plugins.list 
deb [arch=amd64] http://repo.zabbix.com/zabbix-agent2-plugins/1/ubuntu jammy main
deb-src [arch=amd64] http://repo.zabbix.com/zabbix-agent2-plugins/1/ubuntu jammy main

之后再执行:

sudo apt update

2.3 安装相应的组件

执行zabbix文档中的语句

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

2.4 安装数据库

这里安装的是mysql8.0

sudo apt install mysql-server
#登陆mysql
mysql -uroot -p

#修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '123456';

#授权所有操作权限给root
grant all privileges on *.* to 'root'@'%';

#使得mysql可以远程登陆
vim /etc/mysql/mysql.conf.d/mysqld.cnf
#注释掉这一行
#bind-address = 127.0.0.1

创建zabbix数据库

mysql -uroot -p
password
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@'%' identified by 'zabbix';
mysql> grant all privileges on zabbix.* to zabbix@'%';
mysql> flush privileges;
mysql> quit;

将root用户变成远程连接对象

mysql -uroot -p
mysql> use mysql;
mysql> update user set host='%' where user='root';
mysql> grant all privileges on *.* to root@'%';
mysql> flush privileges;

之前要加入该设置,否则下面zcat命令会出现权限问题导致个别表无法创建

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
#加入
log_bin_trust_function_creators=1

导入数据库表和数据

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
# 这个password是数据库zabbix的密码
Enter password: 

2.5 配置Zabbix Server数据库

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

sudo vim /etc/zabbix/zabbix_server.conf
# 一定不能有引号,否则会报错

DBHost=10.0.2.15
DBName=zabbix
DBPassword=zabbix
DBUser=zabbix

编辑agent配置文件 /etc/zabbix/zabbix_agent.conf

Hostname=10.0.2.15  # 连接主机的域名或者IP
ServerActive=10.0.2.15
ListenPort=10050
Server=10.0.2.15  # 连接主机的IP

2.6 启动Zabbix server和agent进程

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

sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2

2.7 查看服务日志

cat /var/log/zabbix/zabbix_server.log  # Server log
cat /var/log/zabbix/zabbix_agent.log  # Agent log

3 启动并配置Zabbix

3.1 将服务端口映射到主机上

配置VB的端口映射

网络-》Advanced-》端口转发-》80端口映射到9000

3.2 登录网址

网址是:

http://127.0.0.1:9000/zabbix/

账号密码:

Admin/zabbix

按照提示一致下一步

3.3 配置其他机器的zabbix-agent

根据 zabbix-agent下载配置链接,选择自己相应的主机,比如Linux系统或者Windows系统

3.3.1 Linux系统

下载相应的 deb文件,之后传入到主机中,并安装

sudo dpkg -i zabbix-release_6.0-4+ubuntu18.04_all.deb

修改其中的下载文件,将 https 改成 http

user@user:/etc/zabbix$ cd /etc/apt/sources.list.d/
user@user:/etc/apt/sources.list.d$ ls
official-package-repositories.list  zabbix-agent2-plugins.list  zabbix.list
user@user:/etc/apt/sources.list.d$ cat zabbix.list 
# Zabbix main repository
deb http://repo.zabbix.com/zabbix/6.0/ubuntu bionic main
deb-src http://repo.zabbix.com/zabbix/6.0/ubuntu bionic main

# Zabbix unstable repository
#deb https://repo.zabbix.com/zabbix/5.5/ubuntu bionic main
#deb-src https://repo.zabbix.com/zabbix/5.5/ubuntu bionic main
user@user:/etc/apt/sources.list.d$ cat zabbix-agent2-plugins.list 
deb [arch=amd64] http://repo.zabbix.com/zabbix-agent2-plugins/1/ubuntu bionic main
deb-src [arch=amd64] http://repo.zabbix.com/zabbix-agent2-plugins/1/ubuntu bionic main

安装

sudo apt update
sudo apt install zabbix-agent
# 配置开机启动
sudo systemctl enable zabbix-agent

修改配置文件:

sudo vim /etc/zabbix/zabbix_agent.conf
# 这两个配置都是Zabbix-Server的IP
Server=10.11.39.146
ServerActive=10.11.39.146
# 这个一定是agent的主机IP并且要和Server中创建主机时的Hostname相对应否则无法发现主机
Hostname=10.10.163.77

重启服务

sudo systemctl restart zabbix-agent

3.3.2 Windows系统

较为简单,直接下载一个msi包,按照要求进行填写,同样要注意 Server,ServerActive,Hostname的值。并且要讲其添加到 Path中(记得勾选)

4 Zabbix 常见问题

4.1 显示中文乱码问题

在语言中选择中文后,会出现一些无法显示的文字。因为字体中没有中文。

可以在Windows中找到相应字体文件(.ttf文件),拷贝到指定路径下

sudo cp STXINWEI.TTF /usr/share/zabbix/assets/fonts/
cd /usr/share/zabbix/assets/fonts/
sudo mv STXINWEI.TTF stxinwei.ttf
sudo chmod 777 stxinwei.ttf

找到 defines.inc.php 文件

find / -name defines.inc.php
/usr/share/zabbix/include/defines.inc.php

修改 ‘ZBX_GRAPH_FONT_NAME’为 stxinwei

sudo vim /usr/share/zabbix/include/defines.inc.php

define('ZBX_GRAPH_FONT_NAME',           'stxinwei');

不用重启,直接刷新页面即可