基调网络听云 Ruby 探针说明 基调网络听云 Ruby 探针说明 2

Similar documents
内容

Java 探针 1 简介兼容性及系统要求常见问题 2 安装 2.1 下载探针文件 2.2 安装 Java 探针 2.3 不同 Web 容器安装说明 在 Glassfish 上安装 Java 探针 在 JBoss 上安装 Java 探针 在 Play 上安装 Jav

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

RunPC2_.doc

软件概述

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内

IP505SM_manual_cn.doc

jdbc:hsqldb:hsql: jdbc:hsqldb:hsqls: jdbc:hsqldb:http: jdbc:hsqldb:https: //localhost // :9500 / /dbserver.somedomain.com /an_alias /enrollme

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se

ebook70-13

最 佳 做 法 : 在 需 要 时 或 需 要 前 从 CDN 下 载 内 容, 并 使 它 们 与 Flash 代 码 和 文 件 分 离 存 盘 率 vs 响 应 速 度 当 用 户 玩 游 戏 时, 客 户 端 可 以 把 每 一 个 变 化 实 时 写 到 后 端 Web 服 务 器, 也

目 錄 第 一 章 weberp 簡 介... 6 第 一 節 概 述... 6 第 二 節 安 全 性... 7 第 三 節 功 能... 7 一 銷 售 及 訂 單... 7 二 稅... 8 三 應 收 帳 款... 8 四 存 貨... 8 五 購 買... 9 六 應 付 帳 款... 9


MASQUERADE # iptables -t nat -A POSTROUTING -s / o eth0 -j # sysctl net.ipv4.ip_forward=1 # iptables -P FORWARD DROP #

内容

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

运行环境

Olav Lundström MicroSCADA Pro Marketing & Sales 2005 ABB - 1-1MRS755673

校友会系统白皮书feb_08

untitled

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

ch08.PDF

Microsoft Word - WebGoat用户指南-beta2.doc

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

untitled

营 销 策 划 岗 部 门 招 聘 职 位 招 聘 人 数 岗 位 职 责 基 本 要 求 岗 位 任 职 要 求 6 参 与 项 目 产 品 研 究 客 户 需 求 研 究 竞 争 环 境 研 究 价 格 研 究 等 项 目 市 场 研 究 ; 7 公 司 经 纪 业 务 的 品 牌 管 理, 对

Windows XP

GPRS IP MODEM快速安装说明

Some experiences in working with Madagascar: installa7on & development Tengfei Wang, Peng Zou Tongji university

epub83-1

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

AL-M200 Series

温州市政府分散采购

Microsoft Word - Functional_Notes_3.90_CN.doc

1 IT IT IT IT Virtual Machine, VM VM VM VM Operating Systems, OS IT

Microsoft PowerPoint - 03.IPv6_Linux.ppt [相容模式]

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM

RUN_PC連載_10_.doc

标题

一、

ext-web-auth-wlc.pdf

R D B M S O R D B M S R D B M S / O R D B M S R D B M S O R D B M S 4 O R D B M S R D B M 3. ORACLE Server O R A C L E U N I X Windows NT w w

Chapter 2

Cadence SPB 15.2 VOICE Cadence SPB 15.2 PC Cadence 3 (1) CD1 1of 2 (2) CD2 2of 2 (3) CD3 Concept HDL 1of 1

SL2511 SR Plus 操作手冊_單面.doc

回滚段探究

自由軟體教學平台

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明

untitled

2005 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. Sun Sun Berkeley BSD UNIX X/Open Company, Ltd. / Sun Sun Microsystems Su


ebook140-9

AL-MX200 Series


untitled

REPORT ID: SS-220D COMPILED BY: HONG KONG HOUSING SOCIETY 香港房屋協會 PROJECT:THS2018 HONG KONG HOUSING SOCIETY 香港房屋協會 T-HOME TRANSITIONAL RENTAL HOUSING S

概述

untitled

untitled

Basic System Administration

untitled

HOL-CHG-1695

软件测试(TA07)第一学期考试

IP Access Lists IP Access Lists IP Access Lists

AXIS P7224 Video Encoder Blade – Installation Guide

untitled

ebook 132-2

1.ai

自由軟體教學平台

(Real-time) (Local Host) (Buffer) (Video Conference) (VoD) (NetRadio) ,000 [1]( ) ( ) 1400 (2001 ) 75 (2005 ) DFC Intelligence [2] 1

1. 二 進 制 數 值 ( ) 2 轉 換 為 十 六 進 制 時, 其 值 為 何? (A) ( 69 ) 16 (B) ( 39 ) 16 (C) ( 7 A ) 16 (D) ( 8 A ) 在 電 腦 術 語 中 常 用 的 UPS, 其 主 要 功 能

目次 

untitled

1

IC-900W Wireless Pan & Tilt Wireless Pan & Tilt Remote Control / Night Vision FCC ID:RUJ-LR802UWG

collateral 1.doc

自由軟體教學平台

TopTest_Adminstrator.doc

Chapter #

2005 3

SiteView技术白皮书

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

HY144-D-SRC 固件升级指南

A9RF716.tmp

turbomail方案

在 ongodb 中实现强事务

Simulator By SunLingxi 2003

Adobe AIR 安全性

IBM Rational ClearQuest Client for Eclipse 1/ IBM Rational ClearQuest Client for Ecl

Sun Storage Common Array Manager 阵列管理指南,版本 6.9.0

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f

untitled

13 A DSS B DSS C DSS D DSS A. B. C. CPU D. 15 A B Cache C Cache D L0 L1 L2 Cache 16 SMP A B. C D 17 A B. C D A B - C - D

Microsoft Word - template.doc

Microsoft PowerPoint - ch6 [相容模式]

<55342D323637CBB5C3F7CAE92E786C73>

Transcription:

Table of Contents 1. 基调网络听云 Ruby 探针说明 1.1 2. 准备阶段 1.2 1. 兼容性 1.2.1 1. 操作系统 1.2.1.1 2. Ruby 版本 1.2.1.2 3. Web servers 1.2.1.3 4. Web frameworks 1.2.1.4 5. Databases 1.2.1.5 6. Background jobs 1.2.1.6 7. HTTP clients 1.2.1.7 8. Other 1.2.1.8 2. 探针架构 1.2.2 3. 常见问题 1.2.3 4. Release Notes 1.2.4 3. 安装和配置 1.3 1. 安装探针须知 1.3.1 2. 在线安装探针 1.3.2 3. 本地安装探针 1.3.3 4. 更新探针 1.3.4 5. 卸载探针 1.3.5 6. 安装配置文件 1.3.6 7. 配置项 1.3.7 1. 授权序列号 1.3.7.1 2. 应用名 1.3.7.2 3. 日志管理 1.3.7.3 4. 审计模式 1.3.7.4 5. DC 连接选项 1.3.7.5 6. Rake 1.3.7.6 7. 采集数据项 1.3.7.7 4. Ruby agent API 1.4 1. record_metric 1.4.1 2. notice_error 1.4.2 3. manual_start 1.4.3 4. shutdown 1.4.4 5. 故障排查 1.5 1. 查看日志 1.5.1 1

基调网络听云 Ruby 探针说明 基调网络听云 Ruby 探针说明 2

准备阶段 准备阶段 Ruby 探针运行环境 3

兼容性 兼容性 4

操作系统 操作系统 Ruby Agent 支持 UNIX-like 操作系统 eg: Linux, Solaris, and Mac OS X. 5

Ruby 版本 Ruby 版本 名字支持不支持实验阶段 JRuby - - - MRI 1.9.2, 1.9.3, 2.0.0, ~> 2.1.0, ~> 2.2.0 - - Rubinius - - - 6

Web servers Web servers 名字支持不支持试验阶段 passenger ~>2.2, ~>3.0, ~>4.0 - - puma ~>2.0 ~>1.0 - rainbows! - - 4.5.0 thin ~>1.0 - - unicorn ~>4.0 ~>1.0, ~>2.0, ~> 3.0 7

Web frameworks Web frameworks 名字支持不支持实验阶段 grape - - - padrino - - - rack >= 1.1.0 ~>1.0.0 - rails ~3.0.0, ~>3.1.0, ~>3.2.0, ~>4.0.0, ~>4.1.0, ~>4.2.0 ~>2.0.0 - sinatra - - - 8

Databases Databases 名字支持不支持实验阶段 activerecord ~>3.0.0, ~>3.1.0, ~>3.2.0, ~>4.0.0, ~>4.1.0, ~>4.2.0 ~>2.0.0 - datamapper - - - mongo ~>1.8, ~>2.1 - - redis ~> 3.0 - - sequel - - - 9

Background jobs Background jobs 名字支持不支持实验阶段 delayed_job - - - rake ~> 10.0 - - resque - - - sidekiq - - - 10

HTTP clients HTTP clients 名字支持不支持实验阶段 Net::HTTP Supported for all agent-supported versions of Ruby - - curb - - - excon - - - httpclient - - - typhoeus - - - 11

Other Other 名字 支持不支持实验阶段 activemerchant - - - acts_as_solr - - - authlogic - - - dalli - - - memcache-client - - - sunspot - - - 12

探针架构 探针架构 听云 Ruby 探针是以 gem 的方式运行 听云 Ruby 探针采集 Ruby 应用的运行时性能数据和一些 trace 信息, 经过合并整理, 发送到听云服务器 13

常见问题 常见问题 1. 听云 Ruby 探针都能采集哪些数据? 目前, 听云 Ruby 探针可以采集 Rails3+ 应用运行时的性能数据和错误信息 性能数据包括 :HTTP 请求的总响应时间 前端阻塞时间 数据库耗时 NOSQL 耗时 外部服务耗时等性能 ; 详细到数据库表及操作的性能统计 ; 超过阈值的性能瓶颈函数 ; 慢 sql 语句及调用堆栈 ; 错误信息包括 : 数据库连接错误 sql 语法错误 Ruby 运行时异常等 ; 2. 我在多台服务器上部署了应用探针, 报表查看时, 如何将不同的应用区分开? 把配置文件内的 app_name( 应用名称 ) 改为不同名称就可以了 14

Release Notes Release Notes 探针版本 1.0.0 更新日期 :2016-04-28 新增 Rails 3+ Ruby 1.9+ mysql 5+ mongo 1.0+ redis 1.0+ 支持 Rails 中间件的跟踪支持性能数据的分析支持慢过程应用追踪支持慢 SQL 的追踪支持多进程启动探针的数据合并 探针版本 1.1.0 更新日期 :2016-07-05 新增基于 HTTP\/net 的跨应用追踪跨应用追踪的错误细分错误率相关功能的代码优化重构支持 Thrift 的 Ruby Gem 客户端版本 9.3 探针版本 1.1.2 更新日期 :2016-08-04 修改 bug 非正常 thrift 过程, 会导致性能数据在某些情况下会获取不到探针与 DC 数据交互的优化 探针版本 1.1.3 15

Release Notes 更新日期 :2016-08-23 新增支持 rake 的监测修改 bug 修复结点超过 transaction_tracer.limit_segments 数量的 bug 修复缓存中间件监测过程中会照成数据丢失的 bug 16

安装和配置 安装和配置 17

安装探针须知 安装探针须知 1. 如果您还没有听云 server 帐户, 请注册听云 server 帐户 2. 从听云 server 探针安装页面复制您的授权序号 3. 安装 Ruby 探针 4. 配置 Ruby 探针的授权序号 5. 重启 Ruby 应用 6. 通过管理页面察看数据, 有问题请参考安装和排除故障章节 18

在线安装探针 在线安装探针 Install the gem The TingYun Ruby agent's gem is available from rubygems.org as tingyun_rpm. For applications using Bundler, add this gem to the Gemfile: gem 'tingyun_rpm' 定位至 应用程序根目录, 运行以下安装指令 bundle install 若出现以下提示, 则代表安装成功 Your bundle is complete! Use 'bundle show [gemname]' to see where a bundled gem is installed. 19

本地安装探针 本地安装探针 Install the gem 如果你的环境无法正常访问 Internet. Awsome! 你需要使用另外一台正常访问听云官网, 下载最新的 Ruby agent 包 解压并获取其中 tingyun_rpm.gem 文件. 在项目的 Gemfile 文件中, 添加 : gem 'tingyun_rpm' 定位至 应用程序根目录, 运行以下安装指令 gem install path /tingyun_rpm.gem 若出现以下提示, 则代表安装成功 Parsing documentation for tingyun_rpm Installing ri documentation for tingyun_rpm Done installing documentation for tingyun_rpm after 6 seconds 1 gem installed 20

更新探针 更新探针 If you're using Bundler, run bundle update tingyun_rpm Otherwise, run gem update tingyun_rpm 21

卸载探针 卸载探针 如果采用 Bundler 安装的, 删除 Gemfile 中的 gem 'tingyun_rpm' 如果不是采用 Bundler 安装的, 删除 environment.rb 中所有与 tingyun_rpm 有关的内容 22

安装配置文件 安装配置文件 Ruby agent 的 tingyun.yml 是标准的 yaml 配置文件. 包含了默认的一些配置项, 并且增加了不同环境的区域设置 for example, Development, Testing, and Production. 可以从听云官网的最新 Ruby agent 包中, 获取最新的 tingyun.yml. 将 tingyun.yml 复制到 Application 的 config 目录下 23

配置项 配置项 24

授权序列号 授权序列号 licensekey String Default "" NOTE 本条配置项是您在安装时输入的授权序号 25

应用名 应用名 app_name String Default (Dynamic) NOTE 应用识别名称, 此名称将体现在报表页面 26

日志管理 日志管理 agent_log_file_path String Default log/ NOTE 指定 Ruby 的日志文件路径 agent_log_file_name String Default tingyun_agent.log NOTE 指定 Ruby 的日志文件名 agent_log_level String Default info Avaliable "debug" > "info" > "warn" > "error" > "fatal" 本选项是控制日志数据写入日志文件的级别 "debug" 是最低级, 允许所有日志信息 NOTE 写入日志文件 "fatal" 是最高级, 仅有 critical 级别日志允许写入 27

审计模式 审计模式 nbs.audit_mode Boolean Default false 本选项设定是否在日志文件中写入更详尽的信息, 包括所有的向听云后台上传和下载 NOTE 的数据 28

DC 连接选项 DC 连接选项 host Stirng Default redirect.networkbench.com NOTE 本选项指定报表服务器的地址 port Fixnum Default 80/443 NOTE 本选项指定报表服务器的端口 开启 ssl 是 443, 否则是 80 ssl Boolean Default true 本选项指定向服务器发送数据是否弃用安全连接 (https) 若设定为 true, 则向服务器 NOTE 发送数据时期用 https 方式 否则, 使用普通 http 方式 proxy_host Stirng Default 空本选项指定代理服务器的地址 若选项不为空, 并且未启用安全连接, 则本选项值为 NOTE http 代理服务器的 ip 地址 proxy_port Fixnum Default 8080 NOTE 本选项指定代理服务器的端口 proxy_user Stirng Default 空 NOTE 若代理服务器需要用户名密码, 本选项指定代理服务器的登陆名 password Default 空 NOTE 29 Stirng

DC 连接选项 NOTE keep_retrying Boolean Default true NOTE 容许探针与报表服务器连接失败以后, 可以继续尝试连接 keep_alive_timeout Default 60 sec Fixnum NOTE agent 与报表服务器的 TCP 连接有效期 30

Rake Rake disable_rake Boolean Default true NOTE 默认不采集 Rake 相关数据 rake.tasks Array Default [ ] NOTE 如果 disable_rake 为 false, 则采集列表中指定的 Rake 任务 31

采集数据项 采集数据项 data_report_period Fixnum Default 60 sec NOTE 采集数据周期 post_size_limit Fixnum Default 2 * 1024 * 1024 NOTE 单次采集数据大小限制, 默认 2M disable_middleware_instrumentation Boolean Default false NOTE 采集数据是否忽略中间件的信息 disable_view_instrumentation Boolean Default false NOTE 采集数据是否忽略页面的信息 transaction_tracer.limit_segments Fixnum Default 2000 NOTE 一次慢过程追踪的数据汇总数, 如果太多, 不仅影响性能, 也没有太大意义 32

Ruby agent API Ruby agent API Ruby agent 不仅容许你个性化配置, 还可以使用探针提供的 API, 监测指定的内容 收集性能数据的 public API 定义在 moudle TingYun::Agent 中 33

record_metric record_metric 采集指定的数据变化 TingYun::Agent.record_metric(metric_name, value) This method is safe to use from any thread. metric_name value 以 "Custom/" 开头, 指定性能片段的名字 Numeric or a Hash containing :count :total, :min, :max, and :sum_of_squares keys class Article def checkout amount = compute_articles_total ::TingYun::Agent.record_metric('Custom/article/charge_amount', amo end end 34

notice_error notice_error 采集指定的异常 TingYun::Agent.notice_error(exception, options = { }) 记录一个异常, 或者异常信息 options 是可选的 options = { } Comments :uri The request path, minus any request parameters or query string :referer The URI of the referring resource :metric The metric name associated with the transaction :request_params Request parameters, already filtered if necessary :custom_params Custom parameters class Article def checkout beign amount = compute_articles_total rescue => e ::TingYun::Agent.notice_error(e) end end end 35

manual_start manual_start 手动启动 agent 通常情况,agent 自动随 application 启动 但是, 在某些情况下, 可能需要手动启动探针, 比如执行 Rake 任务 ::TingYun::Agent.manual_start(options={}) options 是一个可选 Hash 参数, 会在 tingyun.yml 的配置生效前, 预先生效 下面是在 Rake 任务中, 手动启动 agent 的例子 : ::TingYun::Agent.manual_start task :manual do p "manula start agent" end 36

shutdown shutdown 关闭 agent ::TingYun::Agent.shutdown 该方法会在程序 exit 前调用 主要提供 agent 内部方法使用, 暂不需要用户直接调用 37

故障排查 故障排查 38

查看日志 查看日志 如果系统工作不正常或者没有数据, 通常可以从日志里获取更多的信息来定位问题. grep -n -E 'FATAL ERROR' tingyun_agent.log 如果有 ERROR 信息, 请阅读日志文件对应行数, 通过 error 描述定位问题 关于日志的输出控制, 请参考配置章节. 默认情况, 日志级别为 info, 审计模式是关闭的, 这种情况得到的信息量比较小. 通过修改日志级别为 debug, 开启审计模式, 让听云 Ruby 输出更多日志信息, 通过日志得到的信息定位问题. 39