@rabirgo です。
久々に正規表現でドハマリしました。
詳しいことは書けませんがさらっとハマったポイントをメモします。
予想通りブックは役に立ちませんでした。笑
google-fluentd で GCP Cloud Logging に Log Level を通知したい
やりたいことは GCP(Google Cloud Platform) の VM Instance (Linux 仮想サーバ) で動作させているスクリプトでエラーが発生した場合に、これまた GCP のロギングという画面でスクリプトが吐き出したエラーをみたいというものです。
日時指定でスクリプト起動(cron)→エラー発生→Slackに通知→Slackメッセージのリンクをクリックしたら GCP ロギング画面が立ち上がる
という流れ。
正規表現マッチしない
解説記事ではないので詳細は省きますが、以下のようなグループ化したテキストに対する0回以上のマッチをしたい。
これは意図通りマッチ。fluentd では Ruby の正規表現を使ってると聞いたので(確認はできてない)イケルと思ったんですけど fluentd ではマッチしませんでした。
全体を <message> としてキャプチャしつつ、[ERROR] があれば ERROR を <severity> としてキャプチャしたいんですが、severity が抽出されていません。
確認には以下のサイトを使わせていただいてます。
さいごに
結果的には諸々正規表現を工夫してできたものの正規表現ってハマると泣きたくなる・・という話でした。
こっちは動くけどあっちは動かないが多いのが辛いところであります。
今日の世界一周絶景日めくりカレンダー
日めくりカレンダーを紹介しています。
コトバクシ山
エクアドルの首都キトの南に異国の富士山と呼ばれる山があるそう。確かに富士山!