世界上最伟大的投资就是投资自己的教育

首页服务器部署
随风 · 练气

部署之用 OneAPM 作为你的监控平台 (一)

随风发布于7218 次阅读

1. OneAPM 是什么?

网站开发完了,也上线了,业务也做起来了,访问网站的人也越来越多。这个时候你就需要维护这个网站了。不仅仅是业务上的维护,还包括运维,监控等 。你可能会监控每天的访问量有多少,增长了没,这个时候可以用 google analyse,百度统计,站长工具等来完成。这些工具主要是统计了浏览量,来源分析等,来帮助公司运营人员的决策,营销推广等 。访问量上来了,网站可能也会遇到性能瓶颈。这个时候你可以要找出哪些低性能的功能或页面。那就得监控这些页面。通过观察每个页面的访问时间来查看哪些是有影响的。OneAPM 是解决这个事情的。它能帮助网站进行网站性能监控,包括页面的性能,数据库的性能,缓存的性能等。

2. 为什么选择 OneAPM?

业界比较有名的监控系统是 newrelic,不过这东西在国外,在国内访问它的主页都很慢,而且国外好的东西动不动就被那个 (你懂的),所以一直在等待中国也有类似的产品出来。在国内的话,访问快,只要这个产品稳定,口碑好,不出问题,就是很不错的选择之一。另外。OneAPM 使用起来很简单,它官网有一些教程,按照那教程,只需几分钟,几个步骤,装一个 gem 就能搞定。

3. 使用 OneAPM 监控 Ruby 应用性能

登录OneAPM 官网,注册账号,进入主页面,选择"应用监控",添加一个应用,选择"ruby"那个 tab,里面列出了 5 个步骤。

按照这 5 个步骤就可以设置成功的。

第一步是把授权编号复制,这个是要用到的。

第二步是复制 oneapm.yml 文件存放到 config 目录下。这个是主要的配置文件。刚才复制的授权编号也是要放到这个文件中的。

第三步是把那个 gem 添加到 Gemfile 文件,并进行 bundle install 就好了。

现在主要的问题是第二步,那个配置文件里面的项目名和你建立的应用的项目名的对应。我先贴我本站的 oneapm.yml 文件的内容。

#
# OneApm Ruby探针配置
#

common: &default_settings

  license_key: "<%= ENV['oneapm_license_key'] %>"

  # 您在这里填写的app_name会显示在OneAPM的管理后台界面中。
  #
  # 如果您修改了此处的app_name,一个新的应用会出现在后台,
  # 数据会上传到这个新应用,并停止向旧的应用上传数据。
  #
  app_name: rails365

#
# 环境相关配置
#

production:
  <<: *default_settings
  monitor_mode: true

development:
  <<: *default_settings
  # development模式下,探针开启并上传性能数据
  monitor_mode: true
  app_name: rails365 (Development)

test:
  <<: *default_settings
  monitor_mode: false

staging:
  <<: *default_settings
  monitor_mode: true
  app_name: rails365 (Staging)

license_key就是授权编号,一段字符串,为了保密,我是存到配置文件中的。

其他的内容都基本没改,唯一有改的地方就是app_name,这个名字就是要跟你建立的 oneapm 应用的名字一致才行。

我线上就有一个 oenapm 应用就叫 rails365,把里面的app_name替换成 rails365 就好了。

按照官方教程说的,重新启动并部署你的项目,试着访问几个页面,稍等片刻,或许就能很快在 oneapm 的监控页面上看到数据了。

4. 总结

或许用 rails 的Notifications结合 hightcharts 图表显示也能实现类似 OneAPM 的效果,至少能得到每个页面的访问时间,数据库语句的执行时间,但是现在有更方便的 OneAPM,我们就可以尝试去用它。如果要进一步,还可以去研究那个 gem 的源码,知道它是如何实现的。

本站文章均为原创内容,如需转载请注明出处,谢谢。

0 条回复
暂无回复~~
喜欢
统计信息
    学员: 29915
    视频数量: 1996
    文章数量: 526

© 汕尾市求知科技有限公司 | Rails365 Gitlab | 知乎 | b 站 | csdn

粤公网安备 44152102000088号粤公网安备 44152102000088号 | 粤ICP备19038915号

Top