シンプルなWebサーバー監視(稼働中)


8

LinuxでWebサーバーが稼働しているかどうかを監視するソフトウェアに関するヒントはありますか?URL以外を知らなくても実行できるはずです。また、サイトがダウンしたときに電子メールアラートを送信する機能が必要です。このスクリプトを自分で書くのは難しいことではありませんが、すでに何か良いものがあれば、無意味に思えます。

内部サーバーを監視するので、これは外部のWebベースのサービスではなく、同じネットワーク上のマシンで実行するツールである必要があることに注意してください。

また、小さくシンプルなソリューションが推奨されます。

更新:私は最終的に私がこれに現在使用している小さなpythonスクリプトを作成しました、それはここで見つけることができます



参照:serverfault.com/questions/44/…-このトピックは高レベルで広範囲にカバーされています。
ワーナー、

回答:


12

このようなスクリプトでwgetを使用できます

wget --timeout=3 --tries=1 --spider --no-check-certificate http://serverfault.com

if [ $? -ne 0 ];then
  echo "Site Down" | mail -s "Site Down" admin@yourdomain.com
fi

また、wgetが最初に3秒以内にサイトにアクセスできない場合は、メールが届きます。

数分ごとにスクリプトを実行するようにcronジョブを設定します。

他にも多くの選択肢がありますが、これはおそらく最初からセットアップするのが最も簡単です。


7
監視しているサーバーで実行しない限り、どのくらいの頻度で監視されているかはわかりません;-)
Geraint Jones

ありがとう。さらに、-spiderもページをディスクに実際に保存することを回避するため、便利なオプションであることがわかりました。
Zitrax

2
そして、「postfix」をインストールしないと、メールコマンドは静かに送信に失敗します。
Zitrax

3
@Zitrax:wgetがインストールされていないと、エラーが発生します。ネットワークが稼働していないと、wgetは失敗します。スクリプトが実行可能でないと、cronジョブは失敗します。また、「postfix」をインストールしていません。eximを使用しているため、問題なく機能します。
Richard Holloway

1
なぜ--no-check-certificate?TLS展開の破損について警告を受けることも重要な情報です。
Avamander

7

選択肢はたくさんありますが、2つあげます。

  • Nagiosは、httpよりはるかに多くの機能を監視できる本格的な監視アプリケーションですが、それも処理します。また、あらゆる種類のリポを作成することもできます(「今週/月/年...サーバー/サービスの稼働率を教えてください...」)

  • Monitも人気のある選択肢です。Nagiosほど機能満載ではないかもしれませんが、それでも素晴らしいです。


私は小さくてシンプルなものを探していたので、monitはそれに近いようです。
Zitrax、2010

1

まあ、自分で何かを実行したい場合は。

これらはいくつかのオプションです:

または、管理されたソリューションが必要な場合:

個人的には、単にWebサーバーのステータスを監視したい場合、ZabbixとZenossはやりすぎだと思います。しかし、必要以上に多くの機能を備えているもの以外の監視も計画している場合;)


pingdomとuptrendsは私の内部ネットワーク上のサイトを監視できないと思います。
Zitrax 2010

@Zitrax:いいえ、できません。その部分を読みました。
Wolph

1

RichardとJanneの回答に賛成しましたが、Webサーバーが送受信する内容についてさらに詳しく知りたい場合は、O'Reillyの著書「Perlを使用したWebクライアントプログラミング」の最初の2つの章で概要を説明しています。 HTTPプロトコルの。アップ/ダウンだけではなく、より詳細なモニタリングが必要で、応答コードなどを含めたい場合は、最初に開始するとよいでしょう。

本は古いですが、まだ有効です。1997年に発行されたO'Reillyは、OpenBookイニシアチブの一部として、本の内容をhttp://oreilly.com/openbook/webclient/に無料でオンラインで投稿しました。


0

担当者がいたら、Janneの回答に投票します。

Nagiosについての重要な注意、それが完全に機能しているという事実は、それが困難で長いインストールであることを意味しません、それは非常にシンプルでフレンドリーです。

次に、ハードウェアベンダーが何を提供する必要があるかを実際に確認する必要があります。たとえば、私はHP Proliantsを使用していますが、彼らはそれを支援する本当に素晴らしいrpmを持っています。


0

Nagiosの機能は気に入ったが、内部については詳しく知りたくない場合は、Opsviewをチェックすることもできます。Nagiosと他のいくつかのツールですが、素晴らしいGUIを介して提供されます。それはかなり良い出発点です。


0

Nagiosは素晴らしいソフトウェアであることに同意しますが、フリーウェアが必要な場合は、AppPerfect Agentless Monitorご覧になることをお勧めします。AppPerfectを使用したLinuxサーバーの監視は非常に軽量であり、監視中のターゲットシステムへのオーバーヘッドはごくわずかです。このツールを使用して、CPU、ディスク、ネットワーク、メモリに関連するすべての重要な統計を監視できます。セットアップは非常に簡単で、ソフトウェアは非常に使いやすいです。Linuxサーバーの監視に関する明確なドキュメントとチュートリアルもここにあります


0

私が使用してきた1つの解決策は、HashiCorpの領事です。

それは確かに電子メール出力を備えた単純なスクリプト以上のものですが、あなたが話している種類の監視の設定はまだ非常に簡単です(数行のYAMLまたはJSON)。

ほとんどの場合、テンプレートを作成しますが、単一サーバーの監視は次のように行うことができます。

{
  "service": {
    "name": "web", 
    "tags": ["production"], 
    "port": 80,
    "check": {
      "id": "front-end",
      "name": "HTTP front-end for web service",
      "http": "http://web.domain.tld",
      "interval": "10s",
      "timeout": "1s"
    }
  }
}

これを提案する理由の1つは、必要に応じて、Webフロントエンドの監視だけでなく、チェックをサービスごとにグループ化できることです(たとえば、report_serverサービスでWebフロントのチェックを行うことができます)。1つはWebバックエンド用、もう1つはプライマリDB用で、これらすべてがこの1つのサービスに関連付けられたアラートを提供します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.