zabbix实际生产故障案例
背景环境:公司新搭建的zabbix监控系统,使用mariadb数据库,一直运行正常,然后某天突然发现zabbix打不开了,进入服务器重启zabbix-server和mariadb直接卡住不动。
配置:centos7.6 zabbix4.0
解决步骤:
1.登录df -h 查看磁盘空间使用率,发现/var 占用100%,进行无关文件删除之后重启服务器;
2.但是登录zabbix发现提示警告mysql最大连接数有问题,于是登录mariadb进行排查解决,具体步骤如下
提示如下:
connection to database 'zabbix' failed: [1040] Too many connections
解决:
1.进入数据库
mysql
show variables like 'max_connections';
2、修改/etc/my.cnf配置文件
在[mysqld]新添加一行:
[root@zabbix-server ]# vi /etc/my.cnf
max_connections=1000
重启mariadb服务,并验证最大连接数(没显示我们修改的):
[root@zabbix-server ]# systemctl restart mariadb.service
[root@zabbix-server ]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 446
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show variables like 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 214 |
+-----------------+-------+
1 row in set (0.00 sec)
3、配置/usr/lib/systemd/system/mariadb.service来调大打开文件数目
[root@zabbix-server ]# vi /usr/lib/systemd/system/mariadb.service
在[Service]新加这两行:
LimitNOFILE=10000
LimitNPROC=10000
4、重新加载系统服务,并重启mariadb服务
systemctl daemon-reload
[root@zabbix-server ]# systemctl --system daemon-reload
[root@zabbix-server ]# systemctl restart mariadb.service
5、重新验证下,是否为1000
MariaDB [(none)]> show variables like 'max_connections';
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 5
Current database: *** NONE ***
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 1000 |
+-----------------+-------+
1 row in set (0.00 sec)
ok 打开zabbix服务运行正常
技术是没有终点的,也是学不完的,最重要的是活着、不秃。 学习看书还是看视频,都不重要,重要的是学会,欢迎关注,我们的目标---不秃。
---更多运维开发交流及软件包免费获取请加V: Linuxlaowang
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义