news 2026/3/10 2:18:13

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/3/5 16:08:59

学习干货_从迷茫到前行:我的网络安全学习之路

网络安全成长之路:从零基础到实战专家的学习指南(建议收藏) 本文作者"州弟"分享了自己从网络安全小白成长为专业人员的经历。他强调破除"学生思维",通过实践而非死记硬背学习;推荐扎实掌握Linux、…

作者头像 李华
网站建设 2026/3/4 14:29:36

fft npainting lama混合精度训练配置:AMP加速收敛技巧

fft npainting lama混合精度训练配置:AMP加速收敛技巧 1. 引言:图像修复的工程实践与性能优化需求 在图像修复任务中,fft npainting lama 已成为当前主流的开源方案之一。它基于深度卷积网络和傅里叶空间特征建模,在物体移除、水…

作者头像 李华
网站建设 2026/3/4 13:36:56

【Boost.Asio网络编程效率提升10倍】:异步I/O模型底层原理全解析

第一章:Boost.Asio网络编程的核心优势与应用场景 Boost.Asio 是一个基于 C 的跨平台库,专为异步 I/O 操作设计,广泛应用于高性能网络服务开发。其核心优势在于统一的异步模型、对底层操作系统的高效封装,以及对现代 C 特性的深度支…

作者头像 李华
网站建设 2026/3/5 14:53:27

C++ vector何时扩容?扩容因子是多少?真相全在这里(附实测数据)

第一章:C STL vector 扩容机制详解 C 标准模板库(STL)中的 std::vector 是最常用且高效的动态数组容器之一。其核心优势在于能够自动管理内存,支持动态扩容,从而在运行时灵活地添加或删除元素。 扩容触发条件 当向 ve…

作者头像 李华
网站建设 2026/3/4 13:01:31

【C++项目构建避坑指南】:为什么总出现undefined reference?真相曝光

第一章:undefined reference错误的本质解析 undefined reference 是C/C开发中常见的链接阶段错误,它表示编译器成功完成了源码的语法分析与目标文件生成,但在链接过程中无法找到某些符号(函数、变量等)的实际定义。该错…

作者头像 李华
网站建设 2026/3/6 8:57:46

C++23标准正式落地:你不可错过的8大高价值特性

第一章:C23新特性有哪些值得用 C23作为C标准的最新演进版本,引入了一系列提升开发效率、增强语言表达力和优化性能的新特性。这些特性不仅让代码更简洁安全,也进一步强化了对现代编程范式的支持。 统一函数调用语法(Uniform Call…

作者头像 李华