起動時に読み込ませる必要がある*2。標準で同梱するかgemにするかはまだ未定。YoruFukurou分岐は以下の設定で行う。入っているところはサンプリングレートで、実際にはサンプリングレート別に3種類書いてある。</route></match>リファラのカウントは特定サービスでしか行わないのでそれを最初に列挙している。リファラのカウント分岐したなかから、まずリファラをカウントする。カウント対象のパターンは必要なぶんだけ列挙する。内容としてはカウントして流すだけ。なっている、ということ。すれば本来のタグに戻せるように。</case></match>ステータスの種類毎にカウント。し、これをリアルタイム障害検知の4xxの対象から外すため。大きくないサービスだと1人が429を垂れ流しただけで通知が上がりまくってひどいことになるのでこのようにしている。することでサービス名をタグに含めることが可能になる。障害検出をやるときに特定のサービスだけを対象から外したいから。</case></match>レスポンスタイムについて、分単位で平均/最小/最大および50,90,95,98,99の各パーセンタイル値を出力。使っているが、出力については(実数カウントではなく統計値なので)特にサンプリングレート毎に分ける必要はない。</case></match>レスポンスタイム毎の割合を時間範囲毎にカウント。サンプリングレートを除去する。あるが、パーセンテージはサンプリングされていても割合は変わらないので補正対象にはしない。prefixをつける形。HTTPステータスはGrowthForecastへのグラフ出力、および4xx/5xxの割合でのリアルタイム障害検出・通知を行うのでこの2つへ分岐する。付けるようにしている。設定の拡張性は大事ですよ。httpstatusはタグにサービス名が埋まっているので他とすこし設定が違うからそのように分けてある。使ってるから解説はきっといらないはず。リアルタイム障害検出・通知HTTPステータスコード毎の割合を見てアラートを上げる設定。以上の場合に警告、30%以上でクリティカル、としている。400番台も見ていて50%以上で警告、75%以上でクリティカル。バグのあるコードを気付かずにデプロイしてしまった場合などに大変お役立ちなので、みなさんもぜひこの設定はすると良いと思います。IRCに通知させている。ディレクティブにより条件にマッチしたメッセージだけをチェックの対象にすることができる。見て、1分間に10メッセージ以下しか流れてきていなかった場合にはチェックの対象外としている。これにより規模の小さいサービスの特に夜間帯など、実際のアクセスがほとんど無く、かつ検索エンジンのクローラなどが404を連発するようなケースで通知が発生してしまうのを抑制している。ディレクティブでは特定のサービス(社内用プロキシ)をチェックの対象外にしている。系もよく発生するし、実質的にはあまり監視の必要がないため。出力値はそのままIRCへ。便利なポイントとして、IRCへの通知メッセージに対応するGrowthForecastのグラフURLを入れてある。IRCクライアント上でURLをクリックすればすぐ時系列で確認できるように。あとだいぶ複雑だけど、まあ頑張ればこのくらいはできる。あと設定ファイル中には例外ケースを除いてサービス名をいっさい書いていないのもわかると思う。このため、新しいサービスのログを流すようになってもfluentdの設定変更はいっさいしなくていいようになっている。いう状況に最初にしておくと運用が大変ラクちん。これをそのままコピペしてサンプリング済みログを流せばいろいろとはかどるような気もするので、みなさんぜひ挑戦してみてください。»プロフィールid:tagomorisコードとかその他の話とか。記事本文および記事中のコード片は引用および特記あるものを除いてすべて修正BSDライセンスとします。月別アーカイブはてなブログをはじめよう!tagomorisさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。