部署 一个上线的应用需要监控哪些技术指标?

iwinux · 2012年03月08日 · 最后由 visionwang 回复于 2012年03月08日 · 4917 次阅读

很多关于网站架构的文章都有提到监控的问题,但通常只是列出他们监控用的工具,比如 Pingdom, Munin, New Relic 等等,并没有说他们具体在监控什么,所以我的问题是:

  1. 监控是主要针对网站性能的吗?
  2. 如果是,那是不是意味着网站上线初期没有太大负载的时候可以省掉不做?
  3. 如果不是,那么还有哪些指标需要注意的?
  4. 你们在生产环境是怎么做的呢?

在这方面我完全没概念,还请各位大牛指教。

首先要监控的是错误信息,例如 500 状态码 然后就是一般性的 qps 等访问方面的性能指标 最后是操作系统本身的状况,比如硬盘空间,系统负载,内存消耗等

第一行是错误监控,后面两类是阈值告警

  1. 500 問題,在開發過程中我就會使用 airbrakeapp 去監測,傳送給 RD 馬上修理
  2. 在上線前我不會特別去注意 Performance 問題,就是把功能專注完成即是。但在正式上線前,我會安裝 newrelic rpm,在 staging 打一輪壓力測試。然後把超過一個標準值,比如說 controller 超過 500ms,抓出來 refactor 掉。務必讓速度在 production 模式下,可以平均低於 100ms。
  3. 上線之後,我會安裝 pingdom 確保網站倒掉(機器或大量 500)即時發簡訊給我,通知 RD 處理。
  4. 在初期我會安裝 scoutapp 裝在 server 上,這是類似 munin 工具,但收費。(但我們在後續不忙的階段,會用 munin 去換掉 scoutapp。)會這樣作是剛上線都很忙,應該把精力 focus 在修 app bug 而不是 system administrator & deep monitoring。

  5. 上線後一個月要是狀況穩定,我會用 rails_best_practices 這個 gem 掃描一次 code quality 是否有嚴重不恰當的寫法,儘量 refactor 掉。(趁開發壓力較低,又記憶猶新之時)

總之原則是,什麼時候作什麼事,若問題能用錢解決就用錢先解決,因為開發戰力和專注的方向是錢換不到的。

我的團隊,網站上線甚至有一輪檢測 SOP ...

一般分应用监控和系统监控。系统监控全部交给“监控宝”处理,包括 cpu,硬盘,内存,流量,ping 时长和 dns 检测。 应用监控通过应用日志解决

应用监控和服务器监控

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