GoにハマってるのでGoで色々小さいツールを書いていたので一気に紹介してみる
エラーバジェットをMackerelで見るやつ
指定したSLOの違反件数とエラーバジェットをいい感じに見れる。shimesabaというツールを参考に作ってみた。違いとしてはyamlなしでCLIのオプションから実行する形にしてある。
Mackerelからメトリクスを取得してリソースの使用率をいい感じに出すやつ
ホストごとのCPU使用率やロードアベレージの数値を指定された期間でmax, min, avg, med, p90と出してくれるやつ。使用率が低いVMなりコンテナがあればそこからリソース削減に繋がりそうなので作ってみた。自宅サーバもMackerelで監視しているのでガンガン不要なVMを消して電気代の削減を期待している。
MackerelでMySQLのロングトランザクションの数を監視するやつ
ロングトランザクションはUNDO領域を消費するなど色々と困ったことになる。History Lengthとかでも監視できるが閾値超えのトランザクションがどれくらいあったのかを知りたいので作った。
RDSのスナップショットが正しく取れているかを監視するやつ
エラー発生時に通知する仕組みが欲しかったので作った。
RDSのスロークエリログをいい感じに整形して検索性を上げるやつ
S3にあるスロークエリログをJSONかつHIVE形式で保存するのでAthenaとかから検索が容易になる。ただデータサイズが大きすぎるとAthenaだけだとちょっと使い勝手が悪いので代替手段が必要そう。Lambda対応もしている。
指定した回数DNSサーバへクエリを投げてレスポンスタイムを測るやつ
100回クエリ投げてp90とかp99とかを出してくれるやつ。