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

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

今年作ったMackerelプラグインを振り返る

この記事は「Mackerel Advent Calendar 2022」の9日目です!去年に引き続き今年も作ったもの紹介をしてみます!

qiita.com

本編

github.com

/proc/meminfoをパースして出してくれるツールです。1月1日に作ったみたいでMackerelで開始した年だったようです。(去年の最後のcommitもMackerelプラグインの修正だったw)

github.com

Linux仮想メモリの使用サイズを取得するプラグインです。MySQLとかを運用する上で必須のメトリクスだったので使いました。こちらは現在もプロダクションで使っています。(最近はサーバ自体が安定してるので活躍機会はとくになし)

github.com

TCPのハンドシェイクとSSLのハンドシェイクを外から実行して時間を計測するプラグインです。NginxのSSLの処理あたりをhookして〜みたいな処理をやっていたりするのでここの可視化をしたくて作りました。障害は発生時の切り分けにかかる時間をへらすことが出来ました。便利。

github.com

Linuxのパケットドロップを表示するプラグインです。ネットワークの部分でなにか起きてるかも?を知りたかったので作りました。仕事ように作ったのですが最近は自宅でネットワーク関連の勉強をする際に使って便利〜ってなっていたりします。

github.com

TCPの状態をカウントしてwarnとかを出すチェックプラグインです。特定のTCPの状態で発火するスクリプトがあって手動で毎回やっていたので作りました。これを作成して大分トイルが削減されたのでめっちゃ助かっています。

github.com

DNS lookupを実行して99パーセンタイルなどを取得するプラグインです。機能自体は全然リッチじゃないのでまだまだ拡張のしがいはあるかなという感じです。

github.com

MySQLのロングトランザクションを検出するチェックプラグインです。InnoDBに少しでも優しい運用を...ということで割と活躍しています。(Undoログが〜とかの話を途中まで書いてたのですが長くなりすぎたので別でまとめて書こうと思いますw)

github.com

シンボリックリンクを使ったデプロイフローで指定されたプロセスのcwdが最新のディレクトリにいるかを確認するツールです。

APIを使う系

github.com

指定された期間で指定されたメトリクスの平均使用率、95パーセンタイルなどを出力するやつです。AWSとかは公式で提供されているのですが仕事ではプライベートクラウドを使ってたりするので作ってみました。あまりにもコスト効率が悪いみたいなのを検出して削除して〜みたいなのがやれると良いなぁと思っています。(まだ使えていない)

github.com

shimesabaを参考に作ってみました。アラートのカウントを取ってエラーバジェットを出すツールです。検証とかに使うといった感じで活用しています。

github.com

MySQLのメトリクスをさらに拡張してみたいものがあったので作りました。公式では対応されないようなニッチなストレージエンジンのメトリクスも見れるようになりました。

コントリビュートも出来た

github.com

configtest周りのCIで初のコントリビュートも出来てよかったです。(これは確か自宅サーバCIが死んだので必死で調べた記憶がありますw)

まとめ

色々作りましたがめっちゃ便利に使わせていただいています..!!来年も使い倒します!!!