🎉 🎂 🍰 TesterHome 创立 9 周年纪念日 🍰 🎂 🎉

职业经验 # 每日一道面试题 # 服务器中一般要监控哪些数据,如何监控的,怎么从监控数据中发现问题?

金主 for 求职面试圈 · 2017年09月22日 · 最后由 kawa 回复于 2018年11月02日 · 528 次阅读

生活不易,且行且珍惜!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 10 条回复 时间 点赞

来来来,积极讨论下,会什么说什么😁

我一般服务器我主要关注 CPU,内存,网络,磁盘 IO,负载情况,数据库服务器会重点关注磁盘 IO 以及 CPU 的%wa

常用的监控工具有 Jconsole,VisualVM 和 jmx,其中,用 Jconsole 主要是内存检测这一块比较好,另外两个在 CPU,线程方面直观,抽样很方便;当然了,还有配合 Linux 命令,或者做成 shell 脚本,用 crontab 定时采集信息获取数据
数据库监控比较喜欢用 MONyog
公司也有监控平台,不过要申请权限,也要申请将性能测试机器加入监控。

这些数据一般会有预警值和报警值,超过这个值就得注意了,比如 CPU 高,要确认是什么原因引起的,观察 top 命令中关注 CPU 那一行的各个百分比等,我就曾经碰到过%wa 特别高的情况,原因是 IO 瓶颈导致服务器在大量的等待输入输出。
一般的性能分析思路
1、网络瓶颈:如带宽,流量等形成的网络环境
2、配置参数:如中间件的基本配置,数据库 JDBC 连接池等;
3、扩容升级:增加应用服务器,数据库服务器以及客户机的 CPU、内存、硬盘等配置
4、SQL 优化:如全表扫描、未创建索引、限制结果返回集等;
5、部署架构:如部署负载均衡服务器及负载均衡的策略、分布式集群策略。

我一般都是在服务器上直接追踪,用 sar -n DEV……等等,逼格高吧

槽神 回复

逼格高,sar 直接就是接近表格化了。我是琴侠参合散人。。

我这边用的是 服务性能监控的 zabbix(参数就是楼上说的),可以设置阈值(接了短信服务)和自动检索 IP 段有多少台服务器,然后直接添加。
日志写满了报警是之前社区分享的那个,不过用了一段时间就废弃了。

服务器日常监控 比如对口服务和数据库 cpu 最高到多少(图表化),cpuload 写数据,同时当前在线玩家多少...
内存一次性分配一大块出去后,看内存是否有增量

其实基本上也没啥问题。因为最近会引流或者导量,流量高进来几乎团队都知道,做完一波压测后根据结果,去临时升配、调整服务器数量。

陈子昂 回复

zabbix 搭建之前快把我弄崩溃了,后来还是用 sar 了

adonisjph 回复

我昨天想过了这个问题,sar 还是不够灵活。或许用 psuitl,python 的跨平台库更好。

陈子昂 回复

原来是老师傅,哈哈,技术神宅啊

nmon IBM 开源的,或者自己写个 python 脚本。

求助下,用 MONyog 如何定位 mysql 服务器 IO 过高的问题?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册