NewRelicのTips 個人備忘録
概要
- 仕事で使っているNewRelicのTipsを個人メモから転機
NRQL
capture
- データの値を正規表現で有用なデータとして抜き出すとても便利な関数
- FACETやSELECT、WITH ASなどで利用できる
- NRQLを活用して意味のあるデータを抽出するために - capture関数
- https://docs.newrelic.com/docs/query-your-data/nrql-new-relic-query-language/get-started/nrql-syntax-clauses-functions/#func-capture
例
- URLの最初の'/'まででFACET
FACET capture(uri, r'(?P<path>.*)/.*')
- Logのmessageから正規表現で抜き出した複数の値を使う
FROM Log WITH capture(message, POST to carts: (?P<URL>.*) body: {"itemId":"(?P<UUID>.*)","unitPrice":(?P<unitPrice>.*)}.*') AS (URL,UUID, unitPrice) ...
LIMIT制限
- NQRLでは暗黙的なLIMITの制限が存在する
- FACET句のLIMITはデフォルト 10
- SELECT * クエリの場合はデフォルト 100
- LIMIT で設定できる最大値は 2000 。 LIMIT MAX = LIMIT 2000
- https://docs.newrelic.com/jp/docs/query-your-data/nrql-new-relic-query-language/get-started/nrql-syntax-clauses-functions/#sel-limit
TIMESERIES句
- 指定期間単位の時系列としてデータを返す
- 簡単にいうとグラフ化するために指定する
- 時間間隔指定はしたほうが良い、求める値にもよるが最大値や95%ileの値などは集計間隔が変わると値が変わるため
- 例えば時間間隔を未指定(AUTO)だと、表示するチャートを1時間から1日に変えた場合間隔が1分から30分に変わる
- グラフがレスポンス時間の95%ileだった場合、同じ時間でも値が変わる
- 時間間隔のデフォルトは "AUTO" 表示する時間に合わせて適切に設定される。
- 1時間のチャート : 1分間隔
- 1日のチャート : 30分間隔
- 1週間のチャート : 6時間間隔
- ”MAX"を設定すると、間隔数を最大にする = 間隔が細かく、短く設定される
- 1日のチャート : 4分間隔