地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

最近作ったツールたち

GoにハマってるのでGoで色々小さいツールを書いていたので一気に紹介してみる

エラーバジェットをMackerelで見るやつ

github.com

指定したSLOの違反件数とエラーバジェットをいい感じに見れる。shimesabaというツールを参考に作ってみた。違いとしてはyamlなしでCLIのオプションから実行する形にしてある。

techblog.kayac.com

Mackerelからメトリクスを取得してリソースの使用率をいい感じに出すやつ

github.com

ホストごとのCPU使用率やロードアベレージの数値を指定された期間でmax, min, avg, med, p90と出してくれるやつ。使用率が低いVMなりコンテナがあればそこからリソース削減に繋がりそうなので作ってみた。自宅サーバもMackerelで監視しているのでガンガン不要なVMを消して電気代の削減を期待している。

MackerelでMySQLのロングトランザクションの数を監視するやつ

github.com

ロングトランザクションはUNDO領域を消費するなど色々と困ったことになる。History Lengthとかでも監視できるが閾値超えのトランザクションがどれくらいあったのかを知りたいので作った。

RDSのスナップショットが正しく取れているかを監視するやつ

github.com

エラー発生時に通知する仕組みが欲しかったので作った。

RDSのスロークエリログをいい感じに整形して検索性を上げるやつ

github.com

S3にあるスロークエリログをJSONかつHIVE形式で保存するのでAthenaとかから検索が容易になる。ただデータサイズが大きすぎるとAthenaだけだとちょっと使い勝手が悪いので代替手段が必要そう。Lambda対応もしている。

指定した回数DNSサーバへクエリを投げてレスポンスタイムを測るやつ

github.com

100回クエリ投げてp90とかp99とかを出してくれるやつ。