LoginSignup
0

More than 1 year has passed since last update.

CloudWatchでRailsアプリケーションログの10秒以上の処理を抽出するフィルタの書き方

Last updated at Posted at 2022-12-28

はじめに

医療系クラウドサービスを提供しているレイヤードという会社で働いています。

今回あるサービスのデータベースにおいてLock wait timeout exceededが発生し、やたら処理時間が長いヤツがいそうだゾ(しかもトランザクションかけてやがる!)、という事で犯人捜しをした時のメモです。

AWSのClowdWatchでRailsのproductionログを対象に「◯秒以上の処理」を検索しました(しょーもなくてごめんなさいw)。
RailsのログでなくてもDBやWebサーバのログ検索も同様に使えると思います。

前提

当然ながらClowdWatchにログを上げている前提です。
Railsのログは下図のようになっており矢印のms箇所を検索します。
Image from Gyazo

手順

  • ClowdWatchの画面で「ログのインサイト」で検索します
  • ロググループで検索対象のログを選択したらフィルタを追加して絞り込みます
  • 2行目のparseでq_timeにmsの数値部分を格納します
  • 3行目のq_time*1で数値にキャストした上で、演算子を利用して検索します(本ログはmsなので画像では10秒以上かかった処理になります)
    Image from Gyazo

おわりに

弊社のインフラエンジニアの方に教えてもらいました。
私同様に正規表現で検索している方は是非お試しください。

※普通にドキュメントに分り易く書いてあるんです。ごめんて。
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0