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_settingslicense_key: "<%= ENV['oneapm_license_key'] %>"# 您在这里填写的app_name会显示在OneAPM的管理后台界面中。## 如果您修改了此处的app_name,一个新的应用会出现在后台,# 数据会上传到这个新应用,并停止向旧的应用上传数据。#app_name: rails365#
# 环境相关配置
#production:<<: *default_settingsmonitor_mode: truedevelopment:<<: *default_settings# development模式下,探针开启并上传性能数据monitor_mode: trueapp_name: rails365 (Development)test:<<: *default_settingsmonitor_mode: falsestaging:<<: *default_settingsmonitor_mode: trueapp_name: rails365 (Staging)

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

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

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

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

4. 总结

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

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

  1. 分布式部署Zabbix监控平台

    Zabbix监控的优点 Zabbix是一个基于WEB界面的提供分布式系统监控的企业级的开源解决方案,Zabbix能监视各种网络参数,保证服务器系统的安全稳定的运行,并提供灵活的通知机制以让SA快速定位 ...

  2. 【云原生之Docker实战】使用Docker部署Linux系统监控平台Netdata

    [云原生之Docker实战]使用Docker部署Linux系统监控平台Netdata 一.Netdata介绍 1.netdata简介 2.netdatar特点 二.检查本地Docker环境 1.宿主机 ...

  3. 部署Zabbix监控平台,配置及使用Zabbix监控系统,自定义Zabbix监控项目

    案例1:常用系统监控命令 案例2:部署Zabbix监控平台 案例3:配置及使用Zabbix监控系统 案例4:自定义Zabbix监控项目 1 案例1:常用系统监控命令 1.1 问题 本案例要求熟悉查看L ...

  4. SpringBoot与ElasticSearch、ActiveMQ、RocketMQ的整合及多环境配置、响应式框架WebFlux、服务器端主动推送SSE技术、生产环境部署、Actuator监控平台

    1.SpringBoot 与 ElasticSearch 框架的整合 (1)主要的搜索框架:MySQL.Solr.ElasticSearch MySQL:使用 like 进行模糊查询,存在性能问题 S ...

  5. 【云原生之Docker实战】使用docker部署nightingale运维监控平台

    [云原生之Docker实战]使用docker部署nightingale运维监控平台 一.nightingale平台介绍 1.nightingale简介 2.nightingale特点 3.nighti ...

  6. 【云原生之kubernetes实战】在k8s集群下部署Weave Scope监控平台

    [云原生之kubernetes实战]在k8s集群下部署Weave Scope监控平台 一.Weave Scope介绍 1.Weave Scope简介 2.Weave Scope的特点 3.Weave ...

  7. smokeping 监控平台安装和部署

    一.相关历史 smokeping 发布于2001年, 是Tobi Oetiker的又一作品,他也就是大名鼎鼎的时序式绘图数据库引擎rrdtool的作者. smokeping由Perl语言写成,底层依赖 ...

  8. 部署zabbix企业监控平台

    一.实验拓扑图 二.安装zabbix server 实验对象:上图中的zabbix-server 2.1)配置主机名.IP信息 # echo "server.ayitula.com" ...

  9. 在微服务架构下基于 Prometheus 构建一体化监控平台的最佳实践

    欢迎关注方志朋的博客,回复"666"获面试宝典 随着 Prometheus 逐渐成为云原生时代的可观测事实标准,那么今天为大家带来在微服务架构下基于 Prometheus 构建一体 ...

最新文章

  1. python常用变量名_python基础知识整理
  2. 基于springboot+vue实现外卖点餐系统
  3. 导弹拦截(pascal)
  4. USB学习6---Linux Android USB软件架构设计
  5. 我的学习之路_第十六章_xml
  6. MySQL的行转列、列转行、连接字符串 concat、concat_ws、group_concat函数用法
  7. 编制网站首页的基本原则
  8. linux ssh服务,Linux配置SSH服务以便实现远程连接
  9. 解说linux下proc文件系统
  10. Lua学习笔记(5): 表
  11. html背景无法载入gif图像,background-image:url(XXXX.gif)为何不显示背景图片_html/css_WEB-ITnose...
  12. 可以上传视频的网站大全
  13. php结束外部程序,PHP执行外部程序的方法
  14. 装ubuntu_系统安装_win10下安装Ubuntu后,启动时无win10选项的解决办法。
  15. 比python更精简的语言,两行代码抓取淘宝/京东平台的商品数据--Uibot
  16. 基于阿里云Aliddns动态域名解析的客户端PHP实现与服务器端(包含C与PHP)实现
  17. Android app crash的问题排查思路与反思
  18. 在UniApp的H5项目中,生成二维码和扫描二维码的操作处理
  19. 凸包算法-------Graham扫描法
  20. 华为手机老是android自动升级,安卓手机系统升级!华为手机系统更新设置

热门文章

  1. C# 可变参数params
  2. 如何选择KNN的最合适的K值
  3. 基于django+elasticsearch的全文检索
  4. tr069开源代码文档_tr069 开源服务器
  5. html5 video 停止播放视频,html5 video怎么停止播放视频
  6. linux fork函数详解
  7. vue3数字滚动动画
  8. ASTM D2863: 塑料最低氧气浓度测试
  9. ChatGPT这么火,对留学有什么影响?
  10. 前端性能优化之-DNS优化