news 2026/4/26 17:25:30

zabbix部署及nginx的监控

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
zabbix部署及nginx的监控

官方安装教程:https://www.zabbix.com/documentation/7.0/zh/manual/installation/getting_zabbix

(一)安装 Zabbix 软件库

1.安装软件

root@ubuntu10:~ wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/ root@ubuntu10:~ dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb root@ubuntu10:~ apt update

安装zabbix server 和 前端工具以及代理agent

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

安装数据库

apt install mysql-server -y

定制数据库

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;

导入初始架构和数据,系统将提示您输入新创建的密码。(在桌面版可以,如果是服务器版本需要在 msyql数据库中,为该用户增加 SUPER权限即可 GRANT SUPER ON *.* TO zabbix@localhost;)

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

将刚才为了导入数据库文件能力的 属性移除

mysql mysql> set global log_bin_trust_function_creators = 0; mysql> quit;

2.配置zabbix连接数据库

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

vim /etc/zabbix/zabbix_server.conf ### Option: DBPassword # Database password. # Comment this line if no password is used. # # Mandatory: no # Default: # DBPassword= DBPassword=password #增加这一条属性

3.前端的配置

删除默认的nginx首页配置文件

rm -f /etc/nginx/sites-enabled/default

定制zabbix的配置文件

vim /etc/nginx/conf.d/zabbix.conf server { listen 80; # server_name example.com; ……

修改php配置

vim /etc/zabbix/php-fpm.conf …… php_value[upload_max_filesize] = 2M php_value[max_input_time] = 300 php_value[max_input_vars] = 10000 php_value[date.timezone] = Asia/Shanghai #增加中国的时区配置

重启服务

root@ubuntu10:~ systemctl restart zabbix-server zabbix-agent nginx php8.3-fpm root@ubuntu10:~ systemctl enable zabbix-server zabbix-agent nginx php8.3-fpm #开机自启

访问10.0.0.10

注意:这里面的语言包需要提前安装,中文包在安装的时候,就已经安装好了。

CentOS安装中文包,再修改语言,否则无法选择
yum -y install langpacks-zh_CN
Ubuntu安装下面中文包
apt -y install language-pack-zh-hans

安装之后需要重启才能生效

默认的用户名"Admin",在Password中输入默认密码"zabbix"

4.中文问题

点击图形后,进入到图形界面,会发生字体异常 -- 不是程序的问题,仅仅是字符集的问题;所以我们就需要对zabbix的字体进行调整,把我们宿主机上的某些字体上传到Zabbix内部,并且让其生效

上传windows中文字符集

root@ubuntu10:~ ls SIMKAI.TTF snap zabbix-release_latest_7.0+ubuntu24.04_all.deb

转移字符集

root@ubuntu10:~ cd /usr/share/zabbix/assets/fonts root@ubuntu10:/usr/share/zabbix/assets/fonts mv graphfont.ttf graphfont.ttf-bak root@ubuntu10:/usr/share/zabbix/assets/fonts mv ~/SIMKAI.TTF graphfont.ttf

5.地图问题

默认情况下没有;到下图所示地方去更改

供应商:选择其他
URL: https://webrd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}
属性文字:高德矢量地图
最大缩放级别: 18

修改初始化地点

改成项目所在地的 纬度,经度 即可

监控的原理:

1、客户端存在zabbix_agent

——服务一旦运行,就生成了大量的可用监控项条目

2、服务端 远程测试 目标监控项是否可用

——aabbix_get -s ip -p 10050 -k 监控项条目

3、zabbix server的web界面定制监控

如何从0开始定制监控项

1、客户端,编写脚本

2、客户端,使用脚本

3、客户端,定制监控属性

4、服务端,测试监控属性

5、服务端,应用监控属性

(二)监控主机

Zabbix Agent 需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web 访问数据库在前端进行展现和绘图。

在10.0.0.11上安装一个agent

1.安装agent

配置软件源 wgethttps://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb apt update apt install -y zabbix-agent

定制配置

vim /etc/zabbix/zabbix_agentd.conf 117:Server=10.0.0.10 # 指定zabbix服务端的地址, # 如果需要本地测试临时测试的话,需要添加本地的ip地址 …… 125:ListenPort=10050 # 默认的端口号,可以不用取消注释 …… 158 # ServerActive=127.0.0.1 # 注释该条目,这是另外一种指定zabbixserver主机的方式 …… 169:Hostname=10.0.0.11 # zabbixserver监控当前主机的时候,客户端主机唯一的标识 注意: 如果没有定义Hostname, 则服务器将使用agent的系统主机名命名主机。 如果需要本地测试监控,修改Server的配置Server=10.0.0.13,10.0.0.16

重启服务

systemctl restart zabbix-agent.service systemctl enable zabbix-agent.service

2.资源创建

创建主机组资源

创建主机资源

为了主机能够正常的被监控到,我们还需要给他配备一些基础的监控项,点击创建主机界面中菜单栏中"Host"右侧的"Templates",在 Link new templates右侧的空框中选择"Template OS Linux by Zabbix agent"

3. JMX方式监控

对于一些java应用来说,zabbix可以通过 JMX 的方式来进行主机的监控效果。
JMX 全称为 Java Management Extension 。开启JMX后能观察tomcat服务运行时出现的故障,以及监视内存、cpu等使用情况。

10.0.0.11主机上

环境部署

安装tomcat apt search tomcat apt install tomcat10 -y

zabbix服务端部署 java gateway

apt install zabbix-java-gateway vim /etc/zabbix/zabbix_java_gateway.conf …… START_POLLERS=50 # 开启的进程可以多一点 …… 重启服务 systemctl restart zabbix-java-gateway.service systemctl enable zabbix-java-gateway.service

zabbix server 配置JMX(10.0.0.10)

vim /etc/zabbix/zabbix_server.conf JavaGateway=10.0.0.11 # 指定java gateway 主机的地址 JavaGatewayPort=10052 StartJavaPollers=20 # 设定的java线程数量要小于 java-gateway的 START_POLLERS 重启服务 systemctl restart zabbix-server.service

查找tomcat的专属启动文件(10.0.0.11)

root@ubuntu11:~/ubuntu_install_zabbix_7.0 find / -name "catalina.sh" /usr/share/tomcat10/bin/catalina.sh vim /usr/share/tomcat10/bin/catalina.sh CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=10.0.0.11 -Dcom.sun.management.jmxremote.port=10086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" 重启服务 systemctl restart tomcat10.service netstat -tnulp | grep java tcp6 0 0 :::36569 :::* LISTEN 25676/java tcp6 0 0 :::8080 :::* LISTEN 25676/java tcp6 0 0 :::10086 :::* LISTEN 25676/java #开启成功 tcp6 0 0 :::10052 :::* LISTEN 25277/java tcp6 0 0 :::46063 :::* LISTEN 25676/java

测试工具

root@ubuntu11:~/ubuntu_install_zabbix_7.0 mkdir /data/softs -p root@ubuntu11:~/ubuntu_install_zabbix_7.0 cd /data/softs/ root@ubuntu11:/data/softs ls cmdline-jmxclient-0.10.3.jar 执行测试命令 root@ubuntu11:/data/softs java -jar cmdline-jmxclient-0.10.3.jar - 10.0.0.11:10086 java.lang:type=Memory HeapMemoryUsage 12/31/2025 16:32:37 +0800 org.archive.jmx.Client HeapMemoryUsage: committed: 80740352 init: 65011712 max: 1015021568 used: 52648008

zabbix 以JMX方式监控tomcat主机

(三)Nginx监控

1.ubuntu10.0.0.11安装和配置nginx状态页

apt update && apt -y install nginx 修改配置 vim /etc/nginx/sites-enabled/default ... server { ..... #添加下面三行,Zabbix默认监控/basic_status,此处为/status,需要和zabbix的模板定义的路径要保持一致 location /status { stub_status; } ...... } nginx -t systemctl restart nginx root@ubuntu11:/data/softs curl localhost/status Active connections: 2 server accepts handled requests 2 2 7 Reading: 0 Writing: 1 Waiting: 1

Rocky部署nginx

yum -y install nginx 修改配置 vim /etc/nginx/sites-enabled/default ... server { ..... #添加下面三行,Zabbix默认监控/basic_status,此处为/status,需要和zabbix的模板定义的路径要保持一致 location /status { stub_status; } ...... } nginx -t systemctl restart nginx [root@rocky30 ~] curl localhost/status Active connections: 1 server accepts handled requests 1 1 1 Reading: 0 Writing: 1 Waiting: 0

2.添加nginx监控 - HTTP

3.Nginx监控-agent

10.0.0.30(rocky主机)

关闭防火墙 systemctl disable --now firewalld.service 安装软件 rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-latest-7.0.el9.noarch.rpm yum clean all yum install zabbix-agent

修改配置

vim /etc/zabbix/zabbix_agentd.conf 117:Server=10.0.0.10 # 指定zabbix服务端的地址 125:ListenPort=10050 # 默认的端口号,可以不用取消注释 158 # ServerActive=127.0.0.1 # 注释该条目,这是另外一种指定zabbixserver主机的方式 169:Hostname=10.0.0.30 # zabbixserver监控当前主机的时候,客户端主机唯一的标识 注意: 如果没有定义Hostname, 则服务器将使用agent的系统主机名命名主机。 重启服务 systemctl start zabbix-agent.service systemctl enable zabbix-agent.service

4.调整监控项的时间间隔

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 0:08:13

为什么你的fwrite没写入?深度解读C语言二进制写入陷阱

第一章:为什么你的fwrite没写入?从现象到本质 在使用C语言进行文件操作时, fwrite 函数看似简单,却常出现“调用成功但文件无内容”的诡异现象。这背后往往涉及缓冲机制、文件指针状态或系统调用的深层逻辑。 缓冲区未刷新导致数…

作者头像 李华
网站建设 2026/4/25 20:28:19

Glyph实时字幕生成:视频内容理解部署实战

Glyph实时字幕生成:视频内容理解部署实战 1. 视觉推理新思路:Glyph如何改变长文本处理方式 你有没有遇到过这样的问题:一段长达几万字的会议记录、一整季电视剧的对白脚本,或者一部纪录片的完整旁白,想要让AI去理解和…

作者头像 李华
网站建设 2026/4/16 12:47:03

【C++23性能革命】:编译速度提升30%的秘密就在这3个特性中

第一章:C23新特性有哪些值得用 C23 作为 C 编程语言的最新标准,引入了一系列实用且现代化的特性,显著提升了开发效率与代码可读性。这些新特性不仅优化了现有语法,还增强了对并发、泛型编程和标准库的支持。 统一函数调用语法 C2…

作者头像 李华
网站建设 2026/4/18 11:04:53

C++对象模型揭秘:虚函数表是如何支撑多态的?

第一章:C多态的实现原理虚函数表 C中的多态性是面向对象编程的核心特性之一,其底层实现依赖于虚函数表(Virtual Table)和虚函数指针(vptr)。当一个类中声明了虚函数,编译器会为该类生成一个虚函…

作者头像 李华
网站建设 2026/4/23 14:35:49

YOLOv9支持Windows吗?Linux镜像跨平台部署答疑

YOLOv9支持Windows吗?Linux镜像跨平台部署答疑 你是不是也在纠结:YOLOv9这么强大的目标检测模型,能不能直接在Windows上跑?现有的镜像都是基于Linux的,我手头只有Windows环境,到底该怎么用?别急…

作者头像 李华
网站建设 2026/4/23 13:06:50

5个4090无法运行Live Avatar?多GPU并行架构痛点实操手册

5个4090无法运行Live Avatar?多GPU并行架构痛点实操手册 1. Live Avatar阿里联合高校开源的数字人模型 你有没有试过用5张RTX 4090显卡去跑一个AI数字人项目,结果还是报显存不足?这不是你的问题,而是当前大模型推理在多GPU部署上…

作者头像 李华