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

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

特定のTCP状態が多くなっている状態を検出したかったのでツールを作ってみた

github.com

TIME_WAITの数とかSYN_SENTの数で終了ステータスが変わるようなツールが欲しかったので書いてみた。すでにありそうだけど数十行程度でかけてMackerelのチェックプラグインを書いたことがなかったのでいい機会なので書いてみた。check-tcp-status --critcal 1000 --status TCP_TIMEWAIT && systemctl restart ${なんかしらのサービス}みたいに動かせればいいなと思ってる

ちなみに/proc/net/tcpと/proc/net/tcp6をパースするのでssとかnetstatとか無いコンテナ環境とかでも使えたりします。