レンタルサーバー・自宅サーバー設定・構築のヒント
レンタルサーバー・自宅サーバー設定・構築のヒント - レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。

Monitを使ってApacheを監視する(3)もっと細かいチェックを設定する

2010年12月20日 2015年5月17日
apache monit

Monitを使ってApacheを監視する(1)」、「Monitを使ってApacheを監視する(2)alertをGMAILへ送信する」の続きです。

今回は、前回に引き続き、MonitでApacheを監視するときの細かい設定についてです。
その中でも、今回は、監視条件の設定ついて解説したいと思います。

Monitとは、
Unix system(Linuxを含む)のサービス(デーモン)のモニタリングを行うためのユーティリティソフト(サービス)です。

Monitは、サービス(デーモン)の監視・管理としては、簡単にセットアップを行うことができることでも有名です。
実際には、サービス(デーモン)を監視し、その状態によって、サービス(デーモン)を停止したり、再起動したり、アラートメッセージをメール送信したりすることができます。 ウェブ画面からの監視も可能です。

Monitでapacheの監視条件を設定

Monitの監視条件は、いろんな設定を行うことができます。
ここでは、Monitのconfigの中にあるapacheの監視条件の設定例を簡単に解説してみたいと思います。

以下は、/etc/monit.conf の中にあるapacheの監視条件の設定例です。
※すべてコメントアウト(先頭に#)されています。
※CentOSでは、すべてのコメントアウト(先頭に#)を解除しても設定されている環境に合わせて変更する必要があります。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
check process apache with pidfile /usr/local/apache/logs/httpd.pid
  start program = "/etc/init.d/httpd start"
  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

        :
        :

check file apache_bin with path /usr/local/apache/bin/httpd
  if failed checksum and
     expect the sum 8f7f419955cefa0b33a2ba316cba3659 then unmonitor
  if failed permission 755 then unmonitor
  if failed uid root then unmonitor
  if failed gid root then unmonitor
  alert security@foo.bar on {
         checksum, permission, uid, gid, unmonitor
      } with the mail-format { subject: Alarm! }
  group server

簡単に解説しておきます。

  • 1行目 : プロセス名 apache を監視します・・・という宣言です。apacheのプロセスIDが設定されているファイル /usr/local/apache/logs/httpd.pid と設定しています。
  • 2行目 : start program には、apache の起動の仕方を設定します。
  • 3行目 : stop program には、apache の停止の仕方を設定します。
  • 4行目 : cpu は、apache プロセスがcpuをどれだけ使っているかパーセントで指定して監視することができます。

    ここでは、2回連続で、60%以上を使った場合、alertが発行されます。

  • 5行目 : さらにcpu の監視条件を追加しています。

    ここでは、5回連続で、80%以上を使った場合、apache が、restartがされます。

    子プロセスを含めたCPUの使用率を指定したい場合は、TOTALCPUを使います。
    apacheの場合は、一般的にはTOTALCPUを使う方が良いかもしれませんね。

    また、cpuでもcpu usage (user)とすれば、システム全体のcpuのユーザ使用率になります。
  • 6行目 : totalmem は、apache プロセスがメモリをどれだけ使っているかを指定して監視することができます。

    ここでは、5回連続で、200MB以上を使った場合、apache が、restartがされます。

  • 7行目 : children は、apache の子プロセス数がどれだけ起動されているかを指定して監視することができます。

    ここでは、250個以上の子プロセスが起動されている場合、apache が、restartがされます。

  • 8行目 : loadavg は、実行中(待ち)にあるプロセス数がどれだけあるかを指定して監視することができます。

    ここでは、8回連続で、10個以上の5分処理中(待ち)のプロセスがある場合、apache が、stopがされます。

  • 9-11行目 : ポート80を使ってwww.tildeslash.comへHTTPプロトコルを使って /monit/doc/next.php ページを要求してみます。このとき、/monit/doc/next.phpl ページの読み込みに失敗した場合の指定を行うことができます。

    ここでは、失敗した場合、apache が、restartがされます。(ここでは、タイムアウトの指定がないので5秒以内(デフォルト)となります)

  • 12-13行目 : ポート443を使ってHTTPプロトコル及びtcpsslを使って 15秒以内でオープン要求してみます。このとき、失敗した場合の指定を行うことができます。

    ここでは、失敗した場合、apache が、restartがされます。

  • 14行目 : 5回の監視中3回がrestartなった場合の指定を行うことができます。

    ここでは、5回の監視中3回がrestartなった場合、timeout alertが発行されます。

  • 15行目 : 依存関係を設定することができます。

    ここでは、apache_binに依存しているという宣言になります。
    そのため、check file apache_bin … という設定があるはずなので、その設定に依存しています・・・・ということになります。

  • 21行目 – : apache_binの設定(21行目以降)は、/usr/local/apache/bin/httpdというファイルの更新チェックを行うように指定してあります。

    もし、/usr/local/apache/bin/httpdというファイルが更新された場合、このapacheの監視設定もapache_binの設定に従い、unmonitor(モニターを停止する)します。

アクションのtimeoutは、以下のようにalertの中で設定することができます。
set alert manager@foo.bar only on { timeout }
このため、一般的なalertとは異なるメールアドレス先へ、timeoutの場合は、配信することができます。

Monitでapacheの監視条件の設定例

以下は、このサイトの設定です。(微妙にちょっと変えているところはありますが、ほぼ同じ感じです。)

一応、ご参考までに。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
set alert you@gmail.com with mail-format { 
  from: my@gmail.com
  subject: $SERVICE $EVENT at $DATE
  message: 
Monit $ACTION $SERVICE at $DATE on $HOST: $DESCRIPTION.
Yours sincerely,
monit
}

set mailserver smtp.gmail.com port 587 username "my@gmail.com" password "mypassword" using tlsv1

check process httpd with pidfile /var/run/httpd.pid
  start program = "/etc/init.d/httpd start"
  stop program = "/etc/init.d/httpd stop"
  if totalcpu > 30% for 3 cycles then alert
  if totalcpu > 60% for 1 cycles then alert
  if totalcpu > 60% for 5 cycles then restart
  if totalmem > 1500.0 MB for 5 cycles then restart
  if children > 250 then restart
  if failed host www.example.com port 80
      protocol HTTP request /alive.html then alert
  group httpd
今回までで、ほぼapacheの監視はできるようになったと思います。
Monitは、まだまだ、細かい設定を行えますので、興味のある方は、マニュアルを読まれると良いと思います。英語ですが、例が載ってますから、そこまで難しくはないと思います。
http://mmonit.com/monit/documentation/monit.html
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない検索ができないことがあります。


関連記事 :

Monitを使ってApacheを監視する(1)

Apacheについての設定をいろいろと取り上げてきました。 Apacheの同時アクセスを制限(mod_limitipconn)する ...

Monitを使ってApacheを監視する(2)alertをGMAILへ送信する

「Monitを使ってApacheを監視する(1)」の続きです。 今回は、MonitでApacheを監視するときの細かい設定についてです ...

さくらのVPSで、いきなりリブートされちゃいました

このサイトでは、さくらのVPSを使っていますし、紹介もしています。 最近、ちょっと気になっていたんですが、さくらのVPS(特に ...

Apacheのキャッシュを削除するhtcachecleanを使ってみる

Apacheのキャッシュ(mod_cache,mod_disk_cache)を使ってみる では、Apacheによるキャッシュの設定方法について、 ...

CentOS,ScientificLinuxでLAMP(Apache+MySQL+PHP)インストールからWordpressを動かすまで(Apache編)

今回は、最短でLAMPインストールし、Wordpressを動かすまでの手順について解説してみたいと思います。 とりあえず、Cent ...


1 件 コメントがあります。 コメントを投稿する
  1. […] […]


コメントを投稿 :

お名前 *

メールアドレス *
( メールアドレスが公開されることはありません。)

サイトアドレス

コメント *

* 印の項目は、入力が必要な項目です。




最近投稿の記事

[ 画像提供元 : Amazon ] 先日、1TBのディスクの入れ替え時にバックアップをとろうとディスクコピーを行いました。 その際 ...

Windows で Linux ファイルシステム Ext4 のディスクをマウントするには? Ext3Fsd が、おそらく、最も簡単なツール ...

今回は、Windows で Compass を使ってみました。 Compass とは、 Sass(サス、Syntactica ...

今回は、Anti Adblock を使ってみました。 Anti Adblock とは、 そもそも Adblock という ウェブ ...

デスクトップ環境でない サーバーで、Webページのキャプチャー画像をコマンドで撮る には、wkhtmltoimage, CutyCapt ...


さくらのVPS 全プラン リニューアルです。(石狩(北海道)も選択可)


root権限ありで ¥685 / 月 ~ と非常にリーズナブルな CPU 1(core)の 512 プランから、 最高 CPU 10(core), メモリ 32(GB), SSD容量 800(GB) までとプランが充実。
ディスクは、SSDとHDDの選択が可能になった他、データセンターは人気の東京、石狩(北海道)となりました。

また、どのプランでも好きなOSが選べます
( CentOS, Fedora, Scientific Linux, FreeBSD, Ubutu, Debian )

管理人もおすすめのVPSです。
試用期間がありますから、一度、お試しを!!

詳しくは、http://vps.sakura.ad.jp/さくらのVPSのサイトへ へどうぞ!!

カテゴリ


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。
最近、スワップにも対応した Serverman@VPS は、かなりリーズナブルかもです。

  • メモリ1GB~2GBのEntryプラン :月額:490円
  • メモリ2MB~4GBのStandardプラン :月額:980円
  • メモリ4GB~8GBのProプラン :月額:1,980円

新規申し込みで1ヶ月間完全無料となるキャンペーンを実施中です。
Serverman@VPSの特徴は、安さとIPv6対応です。また、初期設定費0円もポイントです。

IPv6でちょっと遊んでみたい方には、おすすめかもしれませんね。最低利用期間もありませんから、気に入らないときは即解約もできます。

Serverman@VPSの詳細については、 http://dream.jp/vps/ Serverman@VPSのサイトへへどうぞ。



KVM採用 ConoHa VPSは、時間単位で借りれる便利なVPSです。


ConoHa VPS は、初期設定費0円最低利用期間無し時間単位で清算可能、 さらに、Web APIを使って自動化を図ることもできる便利なVPSです。

海外サーバー設置も可能で、ローカル接続にも対応と、かなり、機能豊富なサーバーです。

新規ユーザ登録で、クーポンもらえますから、まずは、お試しですね。

ConoHa VPSの詳細については、
http://www.conoha.jp/ へどうぞ。

KVM採用 お名前.com VPS(KVM) 2G プラン 初期設定費無料 キャンペーン 実施です。


メモリ2GBプラン CPU:3core、Disk:200GB
月額:1,153円から (初期設定:1,680円0円)

さくらのVPSがリニューアルされてもなんのその。
1GBメモリ / 2Core を ¥834 – の格安価格で提供中です!
間違いなくスペックからすると割安感ありです。
年間割引時の途中解約で返金がないのは、 ちょっと残念ですが、それでもこの割安感は魅力です。

まずは、お試しですね。

お名前.com VPS(KVM)の詳細については、
http://www.onamae-server.com/vps/ へどうぞ。(お試し期間が15日あります。)



  • ソーシャルブックマーク

  • はてなブックマークへ追加するはてな登録数
ページトップへ
Time : 0.2329 [s]