zabbix6.4中文文档1. 简介 (zabbix.com)
Zabbix 是一个企业级的开源分布式监控解决方案。
Server:
server 是存储所有配置、统计和操作数据的中央存储库。
Proxy:
zabbix proxy可以代替 Zabbix server 收集性能和可用性数据。proxy 是 Zabbix 部署的可选部分;但是对于分散单个 Zabbix server 的负载非常有用。
Agent:
Zabbix agent 部署在被监控目标上,以主动监控本地资源和应用程序,并将收集到的数据报告给 Zabbix server。 从 Zabbix 4.4 开始,有两种类型的 agent 可用:Zabbix agent (轻量级,在许多平台上支持,用 C 编写)和 Zabbix agent 2 (非常灵活,易于使用插件扩展,用 Go 编写)。
数据存储:
Zabbix 收集的所有配置信息以及数据都存储在数据库中。
Web 界面:
为了从任何地方和任何平台轻松访问,Zabbix 提供了基于 Web 的界面。该接口是 Zabbix server 的一部分,通常(但不一定)与 server 运行在同一台设备上。
wget https://cdn.zabbix.com/zabbix/sources/stable/6.4/zabbix-6.4.8.tar.gz
解压源码
tar -xvzf zabbix-6.4.8.tar.gz -C /opt/zabbix/
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
对于serve、proxy和前端都需要一个数据库
Zabbix支持多种数据库,我这里选用mysql(8.00.30+)
Zabbix 唯一支持的编码是 UTF-8 。
(1)创建zabbix数据库用户和用户
- mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
-
- mysql> create user 'zabbix'@'localhost' identified by '123456';
-
- mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
-
- mysql> SET GLOBAL log_bin_trust_function_creators = 1;
(2)将数据导入数据库。 对于 Zabbix 代理数据库,只应导入 schema.sql
(不导入 images.sql 或 data.sql)。这几个SQL文件都在源码文件夹下database/mysql
因为我的mysql是在docker容器中就多做了几步
复制这几个SQL文件进入docker
[root@VM-12-12-centos mysql]# sudo docker cp /opt/zabbix/zabbix-6.4.8/database/mysql/data.sql 10d74d587551:/home/mysql/
[root@VM-12-12-centos mysql]# sudo docker cp /opt/zabbix/zabbix-6.4.8/database/mysql/images.sql 10d74d587551:/home/mysql/
[root@VM-12-12-centos mysql]# sudo docker cp /opt/zabbix/zabbix-6.4.8/database/mysql/schema.sql 10d74d587551:/home/mysql/
导入数据
bash-4.4# mysql -uzabbix -p123456 zabbix < /home/mysql/schema.sql
bash-4.4# mysql -uzabbix -p123456 zabbix < /home/mysql/images.sql
bash-4.4# mysql -uzabbix -p123456 zabbix < /home/mysql/data.sql
成功导入schema后,可以禁用 log_bin_trust_function_creators
:
SET GLOBAL log_bin_trust_function_creators = 0;
要为Zabbix server和agent配置源代码,你可以执行类似如下命令:
/opt/zabbix/zabbix-6.4.8/configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi
如果报错缺失什么库就用yum安装什么库
直至显示
- ***********************************************************
- * Now run 'make install' *
- * *
- * Thank you for using Zabbix! *
- * <http://www.zabbix.com> *
- ***********************************************************
表示成功
编译并安装
make install
- LogFile=/tmp/zabbix_agentd.log
-
- Server=127.0.0.1
-
- ServerActive=127.0.0.1
-
- Hostname=Zabbix server
-
- LogFile=/tmp/zabbix_server.log
-
- DBHost=localhost
-
- DBUser=zabbix
-
- DBPassword=123456
-
- DBSocket=/tmp/mysql8.sock
-
- DBPort=3308
启动服务端
shell> zabbix_server
查看/tmp/zabbix_server.log日志是否开启成功
enabling Zabbix agent checks on host "Zabbix server": interface became available
表示开启成功
在被监控机器上启动客户端
shell> zabbix_agentd
查看/tmp/zabbix_agentd.log日志是否开启成功
Zabbix前端是PHP编写的,所以运行它需要PHP支持的网络服务器(Apache、Nginx)。
前提需要安装 PHP7.4+和Apache、Nginx中的一个
然后把zabbix源码下的ui/目录下的zabbix网页php源码复制到某个目录下用php启动
启动后用浏览器输入前端网址安装
把php的配置、扩展都弄好全部显示OK就好
配置数据库
下载保存到指定位置
配置完成。
默认用户名是Admin,密码zabbix。
主页
我们会发现web端图形显示中文时会乱码!
这是因为这个web PHP项目的字体对中文支持不太友好,所以找到web PHP项目所在的目录下的字体文件替换成对中文友好的字体就行了。
解决:
找到zabbix web项目的字体
- [root@VM-12-12-centos fonts]# ls
- DejaVuSans.ttf
- [root@VM-12-12-centos fonts]# pwd
- /www/wwwroot/zabbix/assets/fonts
在Windows系统C:\Windows\Fonts\目录下找到一个瘦体中文字体上传到服务器替换掉 DejaVuSans.ttf
- [root@VM-12-12-centos fonts]# ls
- DejaVuSans.ttf STXIHEI.TTF
- [root@VM-12-12-centos fonts]# cp STXIHEI.TTF DejaVuSans.ttf
- cp: overwrite ‘DejaVuSans.ttf’? y
- [root@VM-12-12-centos fonts]# ls
- DejaVuSans.ttf STXIHEI.TTF
- [root@VM-12-12-centos fonts]# rm -rf STXIHEI.TTF
- [root@VM-12-12-centos fonts]# ls
- DejaVuSans.ttf
重新刷新web网页
可以正常显示中文了。。。