サーバ監視ツールをいろいろ試し、現在は、Mackerel (マカレル)に。
外形監視ツールの話
開発しているAIのボットが、いよいよ(限定)公開することになった際、死活監視はどうしようかと少々考えました。
公開相手が、クラウドファンディング会社、VC、OEMで提供したい上場企業などで、担当者が、サイトにアクセスした時に「Not Found 404」なんて表示されたらお終いです。
AIは、1分間隔でAIにPOSTしレスポンスがなかったら、プロセスを再起動、NGINXのWebサーバもHTTP レスポンス200を見る感じのpythonのプログラムで死活監視させました。
参考にさせて頂きました:
pythonで、urlの死活監視を行い、NGであれば、sendmail を外部コマンドで通知
でも、前述のpython監視プロセスが死んでいた時のことを考えると、更に、サーバの外からの監視が必要でした。
アクセス急増時や負荷テスト、サーバのCPUやメモリなどのリソース監視も必要なのでサードパーティーの監視ツールを探しました。
いろいろ試しました。(もちろん、無料で使えるものを中心に)
営業妨害になってもいけないので、採用しなかった会社のツール名は控えます。
結局、Mackerel(マカレル)にしました。
結局、毎月2000円ほど発生していますが、サーバのコマンドからMackerelのコードを実行すると、その瞬間からハードウェアの情報を拾ってくれ、コンパネでリアルタイムに確認出来る点が決め手になりました。
それと、HTTPレスポンスで200が返ってこなかったら、何かが死んでますとメールに通知が来ます。
リソース分析には、Loadavgが重宝します。
Loadavgは、システム全体の負荷状況を表し、CPU実行待ちのプロセスの数が増加すると上昇します。
参考にさせて頂きました:
Mackerel でみる Linux システムメトリック項目の見方・考え方 - えいのうにっき
地味に毎月2000円ほど支払っていますが、当面、このツールにお世話になります。