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');
不用重启,直接刷新页面即可