Zabbix 2-1. LAMPサーバの監視項目の検討とテンプレート設計

Zabbix
Zabbix
スポンサーリンク

Zabbixで監視設定を行う前に、監視対象のサーバのどのような項目(CPU負荷やメモリ使用率など)を監視するかを検討し、設定する監視項目をまとめておきます。とはいえ、Zabbixで監視できる項目は多岐にわたりますので迷ってしまいますね。

そこでまずは、監視対象のLAMPサーバではWEBサイトが運営されていると仮定して、運営者としてこのWEBサイトに発生したら真っ先に困ることを思い浮かべてみます。

発生したら真っ先に困ること

  • WEBサイトにアクセスできない
  • WEBサイトの表示が遅くなり閲覧しづらくなる

他にもあるかと思いますが、WEBサイトにちゃんとアクセスができて、内容がサックと表示できていればまずは良しとします。

続いて、この「困ること」が発生する原因を考えてみます。

WEBサイトにアクセスできない原因

通信事業者のネットワーク障害なども原因として考えられますが、今回は自分で監視できる範囲のサーバ側に限って考えてみます。

LAMPサーバのミドルウェア構成

Apache・・・・・WEBサイトを表示
MySQL・・・・・WEBサイトの内容(ブログの記事など)を保存
Memcached・・・PHPのセッション情報を保存

LAMPサーバのミドルウェア構成を考慮すると、以下のような原因が考えられます。

  • サーバOS自体が起動していない
  • Apache(httpd)が起動していない
  • MySQL が起動していない
  • Memcached が起動していない

WEBサイトの表示が遅くなる原因

WEBサイトの表示が遅くなる原因としてはサーバへの過負荷が考えられます。過負荷にはさまざまな原因がありますので、まずは負荷状況を示す指標「ロードアベレージ」を確認します。次に過負荷の原因になっているボトルネックを特定し、さらにその原因を探っていきます。

なにかえらそうに書いていますが(^^;) 上記は書籍「Web開発者のための大規模サービス技術入門」P34のコラムの受け売りです。他にもWEBサーバを運用するための基本的な知識が分かりやすく解説されていますので、オススメの書籍です。

WEBサイトの表示が遅くなる原因特定の流れ

zabbix-lamp-21-01

上図の原因特定の流れをふまえると以下のような原因が考えられます。

  • メモリが不足している
  • ディスクのI/O性能が不足している
  • CPUの性能が不足している

さらに上記が発生する原因として以下のような原因も考えられます。

  • WEBサイトへのアクセスが多い
  • ネットワークトラフィックが多い
  • データベースへの接続数が多い
  • ディスクの使用率が高い

また、ミドルウェアが原因でWEBサイトの表示が遅くなる場合も考えてみます。

  • データベースのデータ読み出しが遅い(スロークエリの発生)
  • Memcachedでキャッシュアウトが発生している(割当メモリの不足)

監視項目のまとめ

これまでに上げた原因や、WEBサイトの表示速度などの重要な指標を把握できるように Zabbixの監視項目に落とし込みます。

原因/指標監視項目
●WEBサイトにアクセスできない
サーバOS自体が起動していないPing監視
Apache(httpd)が起動していない80,433番ポート監視
MySQL が起動していない3306番ポート監視
Memcached が起動していない11211番ポート監視
●WEBサイトの表示が遅い
CPUの性能が不足しているCPU使用率
ディスクのI/O性能が不足しているCPUのディスクI/O待ち、ディスクI/O
メモリが不足しているメモリ使用率、スワップメモリ使用率
WEBサイトへのアクセスが多いApache(httpd)のプロセス数
ネットワークトラフィックが多いネットワークトラフィック
データベースへの接続数が多いMySQLのスレッド数
データベースのデータ読み出しが遅いMySQLのスロークエリ数
Memcachedでキャッシュアウトが発生しているMemcachedのキャッシュアウト回数とメモリの使用状況
ディスクの使用率が高いディスクの使用率
●重要な指標
WEBサイトの表示速度WEBサイトのレスポンスタイム
サーバの負荷状況ロードアベレージ

監視テンプレートの設計

最後にテンプレート名を決め、どのテンプレートにどの監視項目を設定するかを割り振っておきます。一つのテンプレートにまとめて監視項目を設定してもかまわないのですが、テンプレートを分けておくとLAMPサーバ以外の監視にも流用することができます。

テンプレート名監視項目
A_Template_PingPing監視
A_Template_OS_Linuxロードアベレージ
CPU使用率
CPUのディスクI/O待ち
ディスクI/O
メモリ使用率
スワップメモリ使用率
ネットワークトラフィック
A_Template_Discovery_Diskディスクの使用率
A_Template_App_Apache80,433番ポート監視
Apache(httpd)のプロセス数
A_Template_App_MySQL3306番ポート監視
MySQLのスレッド数
スロークエリ数
A_Template_App_Memcached11211番ポート監視
キャッシュアウト回数
メモリの使用状況
A_Template_WEB_CheckWEBサイトのレスポンスタイム
A_Template_CentOS_VersionCentOSのバージョン取得

上記のテンプレートを次のページから作成していきます。

コメント

  1. […] Zabbix 2-1. LAMPサーバの監視項目の検討とテンプレート設計 […]

タイトルとURLをコピーしました