サーバがダウンしているときに小さなアラーム(HTTP reqまたはany)が必要です。私はNagios、サーバーチェックなどのような多くのアプリケーションをチェックしました...これらのアプリケーションはすべてリモートサーバーだけを監視します。私は監視するサーバーが2つしかありません。私のサーバー(10.172.65.124)がダウンしてしまうと、アラームが送信されます。私はこれを監視するもう一つのサーバーを維持したくない。私はrhel6 & centos7を使用しています。任意の提案システムがダウンしているときに警告が必要
答えて
私はマシンをpingする(彼らはお互いを監視することができます)と、pingタイムアウトが電子メールを送信するように単純なスクリプトを作成することをお勧めします。それは回答を得られないならば、あなたがメールを取得するので、サーバーのhttpリクエストやその他のサービス要求を監視するために、通常のbashスクリプトを設定することができ、スクリプト上で与えられたように、この
#!/bin/bash
SERVERIP=IP ADDRESS
[email protected]
ping -c 3 $SERVERIP > /dev/null 2>&1
if [ $? -ne 0 ]
then
# Use your favorite mailer here:
mailx -s "Server $SERVERIP is down" -t "$NOTIFYEMAIL" < /dev/null
fi
よう
何か。
ウェブサービスを監視するための通常のアプリケーションがあります。これは、ユーザーごとに限られた数のサイトで無料で利用できます。スクリプト以下
あなたには、いくつかのインターフェイスを追加する必要がある場合はインタフェースの動作状態をチェックします、あなたの願い
#!/bin/bash
while true
do
if [ $(cat /sys/class/net/eth0/operstate) != "up" ]; then
sleep 1
#send mail for logging
fi
done
ごとに警告を行うここでの目的を果たしますPythonスクリプトです。 sendmailを使用して電子メールを送信します。この場合、sendmailが有効になっているLinuxサーバーから電子メールを実行する必要があります。監視しているURLを指すようにURLを変更します。このスクリプトを実行すると、stackoverflowがチェックされます。
これは、urllibを使用して、URLを読み込もうとしたときに受け取るステータスコードをチェックします。 HTTP要求から200以外のステータスが取得された場合は、サイトがダウンしていることが予想されます。
サーバーを監視するには、Webホストとは独立したサーバーまたはデスクトップでスクリプトを実行する必要があります。そうしないと、さまざまな理由でサーバーがクラッシュしたときに警告されません。
#Import time to allow you to sleep the script, urllib to load the site, subprocess will allow you to run a process on the machine outside of the script (in this instance it's send mail)
import time
import urllib
from email.mime.text import MIMEText
from subprocess import Popen, PIPE
#The url being monitored.
url = "http://www.stackoverflow.com"
#The contents of the email
msg = MIMEText(url + " is not responding. Please investigate.")
msg["From"] = "[email protected]"
msg["To"] = "[email protected]"
msg["Subject"] = url + "is not responding"
#This loops while the script is running.
# It gets the status returned from the urllib call, if it's not 200 it will email the email contents above.
while True:
status = urllib.urlopen(url).getcode()
if status <> 200:
#This is what sends the email. If you don't have sendmail then update this.
p = Popen(["/usr/sbin/sendmail", "-t", "-oi"], stdin=PIPE)
p.communicate(msg.as_string())
#The number of seconds the loop will pause for before checking again. I set it to 60.
time.sleep(60)
非常に良い答えです。そして非常に良い説明。返信いただきありがとうございます。しかし、私はシステムの内部から監視する必要があります。しかし、システムの外部ではありません。それはできますか? –
問題はありません。システムの内部から監視したいと言っているときを明確にすることはできますか? httpサービスがクラッシュしたとき、または正常にシャットダウンしたときに、httpサービスに通知することを意味しますか?私が持っている提案の1つは、サービスで何が起きているのかを示すerror.logをgrepするためのログパーサーを作成することですが、それはシステム外にあります。または、ここで参照されているもののようなものを行うことができます:https://serverfault.com/questions/16243/shell-script-to-execute-something-when-one-of-the-daemon-dies – Dom
- 1. 警告警告:警告:ロード中、循環は必要と考えられる必要があります。
- 2. appdynamics_javaprocessプロセスがダウンすると警告が表示されます
- 3. セッションが満杯になるときに警告するスクリプトが必要
- 4. PHPの警告が必要ですエラー
- 5. Java「リソースリーク」警告が発生しないときにトリガーする警告
- 6. アプリがインターネットに接続していないときの警告
- 7. ブローカーがダウンしているときにカフカプロデューサーがリトリングしない
- 8. bashでプロセスを実行しているときに奇妙なシステム権限の警告が発生する
- 9. アプリケーションがダウンしたときに警告を受け取ることは可能ですか?
- 10. ポートレットが存在しないときにLiferayに警告する
- 11. Reagent React Clojurescript警告:seqのすべての要素にユニークキーが必要です
- 12. React - Ignore:Refsには所有者の警告が必要です
- 13. Rで警告をintrepretingに助けが必要
- 14. AUTOSYS jjobs max run警告システム
- 15. pythonで警告をリダイレクトする必要がありますcheck_output
- 16. ユーザに警告しようとしているものの後にPythonの警告が来る
- 17. easyphpを起動しているときに警告が出る17.0 devserver
- 18. パンダ.locを使用しているときに警告が表示される
- 19. 警告:必要な操作(Android.permission.CAMERAは)
- 20. 子要素が含まれていると、インラインブロック要素がダウンしました
- 21. react-gaコンソールの警告 - [react-ga] initialize()でgaTrackingIDが必要です
- 22. rabbitmqクラスタがすべてダウンし、最初のスレーブノードがキューにダウンしたとき
- 23. SystemUIServerが再起動したときに警告する
- 24. 「要件は既に満たされています」という警告を表示しない警告
- 25. Androidの警告ダイアログはいつ起動する必要がありますか?
- 26. Weblogicサーバーがダウンしているときにカスタムメッセージを表示
- 27. 既にstrictを使用している場合は警告を使用する必要がありますか?
- 28. マニフェストにhttp:// */*が含まれていると警告する
- 29. ノードの1つがダウンしているときにCassandraが動作しない
- 30. 警告と長さが4
私はすでに、私のサーバーを外部から監視したくないと述べました。私たちはサーバー内の何かを行うことができます。 –
ネットワークの停止やマシンがクラッシュすると、少なくとも私の知る限り、クラッシュするとは言えません。あなたが2台のサーバしか持っていないと、互いに監視するように設定できるので、他のサーバが死んでも、別のサーバが通知を送ることができると言ったのです。 –
私の場合、両方のシステムが同じスイッチ、同じ電源カード、および同じ負荷に接続されています。 1つがダウンすると最終的に両方ともダウンします –