怎样实时监控服务器运行状态?求助一点思路

2018-05-16 08:55:33 +08:00
 guoyu4126

php-fpm 在运行长时间后会突然出现假死情况,导致网站无法访问。还好客服反应快,能及时反馈到技术。 看了看日志 大概 2 个月左右会出现一次,问题一直没有排查出来。 也找不到原因

想到一种方案,在某个业务上写一些代码。 定时执行,如果返回非 200 直接发送短信到手机。。

不知道大 pro 们能不能提供一些思路, 如果能彻底解决问题更好了。

8908 次点击
所在节点    程序员
56 条回复
aiseo
2018-05-16 17:11:25 +08:00
@timchou 想体验下,邀请码失效了
timchou
2018-05-16 17:19:12 +08:00
@aiseo hi 用这个 weiboifuptime
dishuibaby
2018-05-16 17:25:52 +08:00
监控宝啊
vibbow
2018-05-16 17:28:13 +08:00
php-fpm 不是会自动回收的么?
liujinsong668
2018-05-16 17:33:46 +08:00
说个简单的恢复办法,自己写个 shell,定期 curl 这个网站的域名,一旦检测到状态不对,直接重启 php-fpm,可以恢复业务;但是最好找到问题的根源好一些,看看 php-fpm 的配置文件
vibbow
2018-05-16 17:37:19 +08:00
LZ 了解一下 PHP_FCGI_MAX_REQUESTS 这个参数
cabing
2018-05-16 18:40:32 +08:00
了解下 php-fpm 启动固定数目的进程
jsjscool
2018-05-16 18:43:13 +08:00
https://github.com/laynefyc/xhgui-branch 大厂都在用的 PHP 性能监控了解下
Aalen
2018-05-16 18:45:41 +08:00
关注一波 serverchan 吧,跟微信关联的
jimmyczm
2018-05-16 20:35:29 +08:00
我自己搭的 workpress 也会有这个问题,调整了 php frm 的参数就行了
cxbig
2018-05-16 20:47:41 +08:00
多数情况是因为 PHP 配置不当或代码问题导致内存泄漏
图省事可以监控 log 里的相关错误信息,到达一定阈值触发重启 fpm 服务
想追踪具体问题,得装系统监控工具
lfzyx
2018-05-16 20:52:35 +08:00
白盒监控了解一下?
musclepanda
2018-05-16 21:01:00 +08:00
我自己家的路由器我都设置凌晨 3 点重启下。。
shiny
2018-05-16 21:03:53 +08:00
这种直接阿里云监控添加一个监控任务就行了,出现问题短信、邮件、钉钉都可以通知你。
shiny
2018-05-16 21:05:46 +08:00
这种情况考虑下是不是可用的 fpm 进程耗尽。首先确定下内存是否耗完,如果有空余内存,可以调高最大进程数,然后把 fpm 的 status 也监控起来,观察下是不是有代码阻塞导致超时。
Admstor
2018-05-16 22:05:16 +08:00
运维路过
首先无论有没有故障,适当时机对服务进行重启都是有必要的,uptime 的意义在我看了除了秀一下也没啥,当然了 linux 本身健壮性挺好的,重启有关服务就 OK,更何况热补丁也是成熟技术,apache 用的少,nginx 下都有平滑重启,低峰时段对用户基本无感知

其次日志记录很重要,日志虽然会影响一部分性能,但是出现异常 /新版本上线之后都应该有适当提高日志等级的必要,尤其是没有 AB 测试.

然后监控系统很有必要,若自己没有监控系统,那么至少需要 2 个第三方监控作为相互监督,监控点也最好选择物理距离较远避免区域网络波动造成的异常报警,例如你在服务器在上海,主要客户群体在江浙沪,那么在选择在上海本地异地机房 /江浙沪范围内一个机房 /北京一个机房这样 3 个监测点相互检测,也大致可以提供整体网络波动情况

自动异常处理,楼上很多都说了,写个脚本之类,但是建议自动异常处理也要做一个日志输出,短时间频繁触发也是很不正常,需要进一步分析的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/455160

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX