Linuxサービスの稼働時間とダウンタイムを監視する方法

Linuxサービスの稼働時間とダウンタイムを監視する方法

Linuxサービスの稼働時間と終了時間を監視する方法。

chkconfig(RHEL 6.3)を使用して私のアプリケーションのサービスを作成しました。サービスの開始と停止のタイミングを監視したい。

サービスが提供されたときにログファイルに書き込んでサービスを監視できますが、service test start/stopアプリケーションがクラッシュしたり異常終了した場合は、それをキャッチできません。

ベストアンサー1

さまざまなサーバーで多数のアプリケーションを監視するにはNagiOSを選択し、特定のアプリケーション、ファイルの所有権などを監視するにはMonitを選択します。

モニタリングを使用できます。

ローカルホストで実行されているデーモンプロセスまたは同様のプログラムを監視します。 Monitは、システム起動時に/etc/init.d/で始まるデーモンなどのデーモンを監視するのに特に役立ちます。たとえば、sendmail、sshd、apache、mysqlなどがあります。

多くのモニタリングシステムとは異なり、Monitはエラー状態が発生した場合に対処することができます。たとえば、sendmail が実行されていない場合、Monit は自動的に sendmail を再起動できるか、Apache が多すぎるリソースを使用している場合 (DoS 攻撃が進行中の場合など)、Monit は Apache を停止または再起動し、警告メッセージを表示します。送信できます。 Monitは、プロセスが使用するメモリやCPUサイクルなどのプロセス特性を監視することもできます。

更新::構成セクション

Monitはaptitudeまたはapt-getを介してインストールするのが最も簡単です。

sudo aptitude install monit 

monitがダウンロードされたら、設定ファイルにプログラムとプロセスを追加できます。

vim /etc/monit/monitrc

set daemon 3                    # check services at 3-second intervals
set logfile /var/log/monit.log  # you can see what monit is doing
set alert [email protected]        # receive all alerts
include /etc/monit.d/*          # add monit script path

次に、アプリケーションの monit スクリプトを生成し、次のスクリプト例を確認します。

monitスクリプトを生成し、/etc/monit.d/monit/etc/monit.d/httpd.monitサービスを再ロードしてmonitログを確認します。tail -f /var/log/monit.log

Apacheの場合

check process apache with pidfile /usr/local/apache/logs/httpd.pid
   start program = "/etc/init.d/httpd start" with timeout 60 seconds
   stop program  = "/etc/init.d/httpd stop" 
   if cpu > 60% for 2 cycles then alert
   if cpu > 80% for 5 cycles then restart
   if totalmem > 200.0 MB for 5 cycles then restart
   if children > 250 then restart
   if loadavg(5min) greater than 10 for 8 cycles then stop
   if failed host www.tildeslash.com port 80 protocol http
      and request "/monit/doc/next.php"
      then restart
   if failed port 443 type tcpssl protocol http
      with timeout 15 seconds
      then restart
   if 3 restarts within 5 cycles then timeout
   depends on apache_bin
   group server

Safesquid プロキシの場合

# Check if the safesquid process is running by monitoring the PID recorded in /opt/safesquid/safesquid/run/safesquid.pid
check process safesquid with pidfile /opt/safesquid/safesquid/run/safesquid.pid
group root
start program = "/etc/init.d/safesquid start"
stop program = "/etc/init.d/safesquid stop"
mode active
# If safesquid process is active it must be updating the performance log at
# /opt/safesquid/safesquid/logs/performance/performance.log every 2 seconds.
# If the file is more than 3 seconds old we definitely have a problem

check file "safesquid-PERFORMANCELOG" with path /opt/safesquid/safesquid/logs/performance/performance.log
  if timestamp > 3 SECOND then alert

おすすめ記事