每个系统都得有相应的监控措施,你总不想每天都呆在电脑旁,时刻的去刷新页面、检测系统状态,服务器状态,业务状态吧;你总不想天天扛着电脑,时刻准备着上去重启死掉的进程等待吧。
我们需要一套完备的监控措施,针对熟悉的Rails系统,可以把监控划分为如下几个方面的:
1、关键进程监控
该类监控配置监控关键的进程,比如app server的进程,数据库进程等等,配置后可以自动监视相关进程,当某个情况发生时(比如内存耗尽等),自动重启进程,以保证系统正常运行。在Rails应用中,可以做这个事情的有monit,God等。
2、服务器资源监控
该类监控系统的资源使用情况,比如内存或者CPU使用率等等,当出现一些情况的时候(比如内存消耗超过90%,CPU消耗100%等)发出告警信息(Email告警,SMS告警等),可以做这个事情的有很多,比如siteview,Scout等。
3、应用异常告警
当出现500等应用内部异常的时候,发出告警,并附带相关的堆栈信息,以便以开发人员迅速定位问题,解决问题,可以做这个事情的有Exception Notification plugin.等。
除了这些外,我想还可以做的事一些监控统计信息,比如可以写脚本统计nginx的连接数,Haproxy的统计等。
参考:
http://blog.scoutapp.com/articles/2008/09/09/rails-monitoring-pillars
分享到:
相关推荐
总结上述知识点,在构建高可用的rails应用时,需要综合考虑多个组件的配置,以及对性能的持续监控与优化。整个架构需要确保在单点故障情况下应用的持续可用,同时还要有良好的扩展性和维护性。对于有一定Ruby基础的...
`GoOnRails`是专门为Rails开发者设计的一个生成器,它允许在Rails应用中集成Go代码,创建Go API服务。这个工具简化了在Rails项目中使用Go进行后端处理的流程,使开发者可以利用Go的性能优势处理高并发请求,同时保留...
2. **与Rails集成**:Ruby-Karafka很好地与Rails生态系统兼容,允许开发者利用已有的Rails应用基础设施,如配置、日志和错误处理。 3. **自动消费者组管理**:框架自动处理Kafka的消费者组管理,确保消息的正确分发...
在Ruby on Rails应用程序中,服务器时间标头是一个重要的性能监控工具。它允许开发者了解服务器处理请求所需的时间,从而帮助优化应用程序的性能。Rails框架默认并未开启服务器时间标头,但可以通过一些配置或第三方...
最后,本书将指导读者如何将Rails应用部署到生产环境中,包括服务器的选择、配置、监控和维护。了解如何在真实世界中运行和管理Rails应用,对于确保应用的稳定性和安全性具有重要意义。 综上所述,《Simply Rails2...
以上是《基于Ruby On Rails的在线购书系统》项目所涵盖的关键知识点,通过这个项目,开发者不仅可以深入学习RoR,还能全面了解电子商务应用的开发流程和最佳实践。提供的代码和报告将为学习者提供宝贵的实战经验,...
1. **优化性能**:Rails应用在处理大量请求时可能会面临性能挑战。书中会介绍如何通过缓存(如Action Cache和Page Cache)、数据库查询优化、资产管道优化等手段提升应用性能。 2. **复杂的路由**:Rails的路由系统...
Rails的路由系统将URL映射到控制器的行动上,如`/sign_up`可能对应`users#new`,用于创建新用户。`config/routes.rb`文件定义了所有路由规则,包括资源路由、命名路由和自定义路由。 6. **视图模板**: 视图使用...
Ruby on Rails(简称Rails)是一款基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用的开发过程,提高开发效率。在构建学生选课系统时,Rails的强大功能和简洁语法...
在复杂的Rails应用中,数据库查询的性能往往成为系统瓶颈,sql_tracker就是为了解决这一问题而诞生的。 在Rails中,每当执行一个数据库查询,都会触发sql.active_record事件。sql_tracker通过订阅这个事件,记录并...
标题 "rails web server deploy guide" 暗示了本文将关注如何部署Rails应用程序到Web服务器。Rails是Ruby on Rails的简称,是一个流行的开源Web开发框架,用于构建动态、数据驱动的网站。部署Rails应用通常涉及将...
3. **数据库设置**:Rails应用通常需要与数据库系统(如MySQL或PostgreSQL)集成。例如,对于PostgreSQL,需要先安装数据库软件及其开发库: ```bash sudo apt-get install -y postgresql postgresql-contrib ...
### Redmine 搭建 Ruby_Ruby_on_Rails 项目管理系统的知识点 #### 一、基础知识与背景介绍 **Redmine** 是一个基于 Web 的项目管理和跟踪工具,它使用 Ruby on Rails(简称 ROR)框架构建而成。Redmine 的设计初衷...
Sidekiq是一款高效的消息队列系统,主要用于Ruby on Rails应用,但在这里提到的是它与Java的结合使用。在Ruby世界中,Rails框架是构建Web应用的首选,而Sidekiq则是处理后台任务和异步处理的利器。然而,由于业务...
Sidekiq是一款在Ruby on Rails应用中广泛使用的后台任务处理框架,它利用了多线程技术,提高了Web应用处理异步任务的效率。在Rails3时代,Sidekiq就已经崭露头角,成为开发者们首选的消息队列系统之一。本文将深入...
总的来说,Rails3消息队列系统Sidekiq是一个强大的工具,它能够帮助开发者构建高可用、高性能的Rails应用,有效地处理异步任务,提升系统的整体效率。通过学习和掌握Sidekiq的使用,开发者可以更好地应对复杂的Web...
同时,Rails应用也可以集成监控工具,如Prometheus和Grafana,以实时监控工作者的性能。 9. **Scaling**:随着负载增加,可以水平扩展RabbitMQ服务器和Rails工作者,以处理更多的并发任务。负载均衡器可以帮助将...
康森 状态:Hibernate。 签出以获得更轻量级的替代方案。 Concen 是一个 Rails 引擎,...将以下内容添加到Rails应用程序的Gemfile中。 gem "concen", "~> 0.2.9" 运行 rake 任务来设置 Concen。 rake concen:setu
4. **性能优化**:探讨JRuby在Java平台上的性能表现,提供优化Ruby代码和Rails应用的技巧,以及如何利用Java虚拟机的性能监控工具。 5. **部署策略**:介绍如何在生产环境中部署JRuby和Rails应用,包括使用Tomcat、...