WordPressを運用しているサーバーのApacheをZabbixで監視する方法

| コメントをどうぞ

前回は、ZabbixでApacheを監視するための設定手順を紹介しました。
今回は、Wordpress(このブログサイト)を運用しているサーバー上での監視設定です。

監視対象サーバーの環境

  • OS: Amazon Linux
  • zabbix-agent: 2.2.5
  • httpd: 2.2.29
  • WordPress: 4.0

手順

前回の記事の設定の続きです。

server-statusをリダイレクトをしないように設定

Apacheの監視設定をしたときにserver-statusが取得できませんでした。

サーバー上で実行したコマンド

curl http://localhost/server-status

結果

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>

</head><body>
<h1>Found</h1>
The document has moved <a href="https://localhost/index.php">here</a>.
<hr />
<address>Apache/2.2.29 (Amazon) Server at localhost Port 80</address>
</body></html>

どうやらWordpressの設定でリダイレクトされているようです。

.htaccessの修正

.htaccessファイルを修正して、リダイレクトをしないように設定します。

vi /var/www/html/wordpress/.htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^server-status$ - [L] ←追記
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

設定完了。

ある日監視でエラーが発生

server-statusの値の取得に失敗して監視のエラーが発生していました。
上記で設定した.htaccessを確認したところ、追記したはずのserver-statusの設定が消えていました。

.htaccessファイル

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

設定を消した犯人はWordPressでした。
wordpressディレクトリ配下の.htaccessファイルは、Wordpressによって強制的に書き換えられる可能性があるらしく、何かのタイミングで初期設定に戻ってしまったようです。

再度.htaccessの設定

server-status用のRewriteRuleをWordPressの設定部分に含めずに、外出しにして記述しました。

# BEGIN server-status
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^server-status$ - [L]
</IfModule>
# END server-status

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

これで今のところ問題なく動いています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>