タグ別アーカイブ: Zabbix

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の設定でリダイレクトされているようです。

続きを読む

ZabbixでApacheを監視するための設定手順

| コメントをどうぞ

今回は、ZabbixでApacheを監視するための設定手順です。

監視対象サーバーの環境

  • OS: Amazon Linux
  • zabbix-agent: 2.2.5
  • httpd: 2.2.27

手順

mod_statusを有効にする

監視対象サーバーのmod_statusを有効にして、http://localhost/server-statusで稼働状況を確認できるようにします。

httpd.confを2箇所編集します。

vi /etc/httpd/conf/httpd.conf

1 以下の行のコメントアウトを解除します。

ExtendedStatus On

2 以下のコメントアウトを解除して一部修正します。

Before

#<Location /server-status>
#    SetHandler server-status
#    Order deny,allow
#    Deny from all
#    Allow from .example.com
#</Location>

After

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>

ここでは、ローカルからしかアクセスできないように設定しています。
Apacheを再起動します。

/etc/init.d/httpd restart

続きを読む

Zabbix 2.0 から 2.2 へのアップグレード手順

| コメントをどうぞ

Zabbixを2.0から2.2にアップグレードする機会がありました。
いくつか詰まった点があったので、手順を書いておきます。

環境

  • OS: Amazon Linux
  • Zabbix: 2.0(yumで以下をインストール済)
    • zabbix-server-mysql
    • zabbix-web-mysql
    • zabbix-web-japanese
    • zabbix-agent
  • /usr/share/zabbixのシンボリックリンクを/var/www/html/zabbixに作成して運用

手順

Zabbixのアップグレード

リポジトリを2.2に更新します。

sudo su -
/etc/init.d/zabbix-server stop
/etc/init.d/zabbix-agent stop
rpm -Uvh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
yum clean all   
yum -y update zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese zabbix-agent zabbix-get

yum updateを実行したところ、以下のようなエラーになったため、yum cleanを実行しています。
参考: http://www.goofoo.jp/2012/01/1677

Not using downloaded repomd.xml because it is older than what we have:

新しく作成された/etc/zabbbix/zabbix-server.conf.rpmnewを参考に、2.2で新しく追加された項目をzabbix-server.confに記述してZabbixを起動します。

vi /etc/zabbix/zabbix-server.conf //必要な項目を記述
/etc/init.d/zabbix-server start
/etc/init.d/zabbix-agent start

テンプレートのインポート

2.2で新しく追加されたテンプレートをインポートします。
テンプレートは以下のリンク先からダウンロードしました。
http://blog.livedoor.jp/qryuu/archives/52079261.html

Zabbixのダッシュボードの 設定->テンプレート->テンプレートの作成 からインポートしようとすると、以下のエラーが表示されました。

"Template Virt VMware Guest"上のアイテム"Power state"で利用されている値のマッピング"VMware VirtualMachinePowerState"がみつかりません。

事前にvaluemapsテーブルとmappingsテーブルにレコードを追加する必要がありました。
以下のSQLを実行します。

INSERT INTO `valuemaps` (`valuemapid`,`name`) values ('13','VMware status');
INSERT INTO `valuemaps` (`valuemapid`,`name`) values ('12','VMware VirtualMachinePowerState');

INSERT INTO `mappings` (`mappingid`,`valuemapid`,`value`,`newvalue`) values ('72','12','0','poweredOff');
INSERT INTO `mappings` (`mappingid`,`valuemapid`,`value`,`newvalue`) values ('73','12','1','poweredOn');
INSERT INTO `mappings` (`mappingid`,`valuemapid`,`value`,`newvalue`) values ('74','12','2','suspended');
INSERT INTO `mappings` (`mappingid`,`valuemapid`,`value`,`newvalue`) values ('75','13','0','gray');
INSERT INTO `mappings` (`mappingid`,`valuemapid`,`value`,`newvalue`) values ('76','13','1','green');
INSERT INTO `mappings` (`mappingid`,`valuemapid`,`value`,`newvalue`) values ('77','13','2','yellow');
INSERT INTO `mappings` (`mappingid`,`valuemapid`,`value`,`newvalue`) values ('78','13','3','red');

以上で2.2へのアップグレードは終わりです。

ZabbixガジェットによるinfoScoop上でのサーバー監視

| コメントをどうぞ

今回はinfoScoop上でのサーバー監視の例を紹介します。
監視に利用するのは、オープンソースの統合監視ソフトのZabbixです。

Zabbixについては下記をご覧ください。
http://www.zabbix.jp/

ZabbixではAPIが提供されており、必要な情報を取得して利用することができます。
http://www.zabbix.com/documentation/1.8/api

このAPIを利用して以下の2つのガジェットを作成しました。

  • グラフガジェット: 指定したアイテム(CPUやメモリなど)の過去数時間の状況をグラフで表示します。
  • 障害情報ガジェット: 最新の障害情報を表示します。

infoScoop for Google Apps上にガジェット配置するとこんな感じになります。

上段は左から、

  • WebサーバーへのHTTPリクエスト数
  • WebサーバーのCPU使用率
  • Webサーバーのメモリ使用率

下段は、

  • 障害情報(左上)
  • Googleドキュメント(ドライブ)の「障害対応」フォルダ内のドキュメント一覧(左下)
  • DBサーバーのCPU使用率
  • APサーバーのCPU使用率

図のグラフはすべて17:30時点のもので、5:30から17:30の12時間の観測データを表示しています。
朝の始業時間にかけてリクエスト数が増え、それに伴って各サーバーの負荷が増加している様子が見れます。

ZabbixのWebのダッシュボードでもグラフを並べたスクリーンを作成することができますが、infoScoopではGoogleドキュメント(ドライブ)などの様々なガジェットを一緒に並べることで、障害発生時に障害対応に必要な情報をすぐに取得することが可能です。
また、ガジェットの位置は自由に移動できるため、ユーザごとに自分が必要とする情報だけ表示することができます。

上の図ではZabbix用のタブを紹介しましたが、メールやカレンダー、ドキュメントなどの普段の業務で利用するガジェットと一緒に必要なガジェット並べて、サーバーの状況を常にチェックできるようにしてもいいかもしれません。