Zabbix 5.0でメモリ使用率を監視するための設定手順を紹介します。また、無料かつ5分でメモリ使用率の監視を始める方法も紹介していますので参考にしてみてください。
目次
- Zabbixでメモリ使用率を監視する手順
- Windows編
- Linux編
- 無料かつ5分でメモリ使用率の監視を始める方法
- Windows編
- Linux編
- まとめ
Zabbixでメモリ使用率を監視する手順
1. Zabbixサーバーの構築
Zabbixサーバーの構築手順はこちらの記事をご確認ください。AWS上のCentOS 8にZabbix 5.0を構築する手順を詳しく説明しています。
2. Zabbixエージェントのインストール
Zabbixエージェントのインストール手順はこちらの記事をご確認ください。Windows編、Linux編に分けて詳しく説明しています。
3. メモリ使用率の監視設定
Zabbix 5.0におけるメモリ使用率の監視設定手順を紹介します。手順に少し違いがあるため、Windows編とLinux編にわけて紹介します。
Windows編
まず、標準で用意されている監視テンプレートを確認します。
[設定]→[ホスト]→[対象のホスト(今回はWindows hostという名前です)]をクリック。
[テンプレート]をクリック。
[テンプレートとのリンク]に[Template OS Windows by Zabbix agent]がリンクされているのが確認できます。Zabbixには標準的な監視を行うためのこのようなテンプレートが用意されており、監視対象サーバーを追加する際に選択することが出来ます。
次に、 [Template OS Windows by Zabbix agent]をクリックし、メモリ使用率の監視がどうなっているか確認します。
画面遷移後、[トリガー]をクリックします。
対象テンプレートに登録されているトリガーが一覧で出ます。[名前]欄に検索したいトリガーの名前(今回はmemory)を入力し、[適用]をクリックするとフィルターできます。メモリ使用率のトリガーである[High memory utilization]をクリックします。
[条件式]を見てみると[{$MEMORY.UTIL.MAX}]の値がしきい値となっているのが読み取れます。このあたりはZabbixの構文を理解していく必要が出てきます。
[{$MEMORY.UTIL.MAX}]の値を確認してみましょう。
親トリガーである[Template Module Windows memory by Zabbix agent]をクリックします。
左上の見切れている[Template Module Windows memory by Zabbix agent]をクリックします。
[マクロ]をクリックします。
[{$MEMORY.UTIL.MAX}]にしきい値[90]が指定されているのがわかります。英語ですが説明にも記載があります。
グラフでも視覚的に確認してみましょう。
[監視データ]→[ホスト]をクリックし、Windows hostの[グラフ]をクリックします。
[Memory utilization]の項目でトリガーに90%が設定されているのがわかります。
これは5分平均でメモリ使用率が90%を超えるとアラートになるという意味になります。
それでは実際のアラート画面を見てみましょう。
※Windowsのメモリ負荷テストには様々なフリーツールがありますが、今回はスクリプトで実行し再現しています。本番環境などで試す際はご注意ください。
ダッシュボードに軽度の障害として High memory utilizationが表示されています。
先程のグラフでも平均が90%を超えてトリガーのしきい値を上回っていることが視覚的にわかります。
このようにWindowsのメモリ監視は標準テンプレートで行えます。細かいしきい値の変更や障害の度合い(致命的・重度・軽度など)は紹介した部分で設定が可能ですが、いちから環境にあった監視を設定するにはZabbixの構文を理解していく必要があります。
Linux編
Linuxでも標準のテンプレートを確認していきます。
[設定]→[ホスト]→[対象のホスト(今回はLinux Serverという名前です)]をクリックします。
[テンプレート]をクリックします。
Linuxでは[Template OS Linux by Zabbix agent]がリンクされています。Windowsと同じようにメモリ使用率の監視がどうなっているか確認します。そのまま [Template OS Linux by Zabbix agent]をクリックします。
画面遷移後[トリガー]をクリックします。
Windowsと同じく[名前]欄にmemoryと入力し、[適用]をクリックしてフィルターします。メモリ使用率のトリガーである[High memory utilization]がありますが、依存先という項目にすぐ上にもある[Lack of available memory](メモリ使用域の不足)が設定されているのがわかります。
依存関係とは、例えばルーターとその配下のサーバーを監視する際、ルーター単体の故障によって配下のサーバーも障害の通知がされるようなケースを防ぐための設定です。サーバーのトリガー設定がルーターのトリガー設定に依存していた場合、ルーターのトリガーによってアラートが通知されている時はサーバーのアラートを保留することが出来ます。
このテンプレートのままでメモリ負荷テストを実施すると、メモリ使用域のアラートが出ている間はメモリ使用率アラートが出せません。値を確認して依存関係を外すかどうか監視の設計が必要になります。
そのまま [High memory utilization]をクリックするとしきい値のマクロ[{$MEMORY.UTIL.MAX}]が条件式に使われていることが分かります。値の確認のため、「親トリガーである[Template Module Linux memory by Zabbix agent]をクリックします。
左上の見切れている[Template Module Linux memory by Zabbix agent]をクリックします。
[マクロ]をクリックします。
[{$MEMORY.UTIL.MAX}]にしきい値[90]が設定されています。すぐ上の [{$MEMORY.AVAILABLE.MIN}]が依存先であった [Lack of available memory]の値です。このままだと使用率に関係なく残りのメモリ容量が20MB以下になるとメモリ使用域アラートになり、使用率での監視ではなくなるので、自身の環境にあった要件をご確認ください。
Windowsと同じようにグラフで確認できます。
実際のアラートをstressコマンドなどで負荷をかけてテストします。
5分ほど経過するとアラートとして通知されます。
グラフでも確認が出来ました。
4. 通知設定
このままでもWebコンソールから障害の確認はできますが、常に目視しているわけにも行きません。実際の運用現場ではメールなどで通知を受け取ります。今回はAWS環境で紹介していますので、サービスとして用意されているSimple Email Serviceを利用してメール通知を実装したいと思います。社内などにメールサーバーがある方はそちらに読み替えて御覧ください。
[管理]→[メディアタイプ]→[Email(HTML)]をクリック。
メール送信に必要な情報を入力して[更新]をクリック。
右端の[テスト]をクリック。
有効な送信先メールアドレスを入力し[テスト]をクリック。
設定に問題がなければ成功となります。
届いていることが確認できました。
次にこのEmail設定をユーザーに紐付けます。
[管理]→[ユーザー]→[Admin]をクリック。
[メディア]タブを選択。
[追加]をクリック。
タイプのプルダウンから先程設定した[Email(HTML)]を選択し、アラートメールを受け取りたい送信先メールアドレスを入力、[追加]します。
追加されました。
続いてメール送信を有効化します。デフォルトで管理者グループへメッセージを送信する項目がありますが、無効化されています。
[設定]→[アクション]→[無効/有効]をクリックし切り替えます。
実際に障害などが発生した際はこのようにアクション(メール送信)が実行されています。
次のようなメールを受信していることが確認できました。
無料かつ5分でメモリ使用率の監視を始める方法
Zabbixによる監視にトライして、わずらわしさや難しさを感じた方もいるかもしれません。そんな方はここで紹介する方法も試してみてください。上記で紹介したZabbixの構築から通知設定までと同等の内容を5~10分で完了することができます。
数あるサーバー監視ツールの中でも、監視を開始するまでの工数が最もかからないもののひとつがSaaS型ツールの「Site24x7(サイトトゥエンティーフォーセブン)」です。FREEプランが提供されているのも好評で、今ユーザーが増えています。
ここからは、そのSite24x7でメモリ使用率を監視する手順を紹介します。
1. アカウントの作成
まず、FREEプランにサインアップします。クレジットカード情報などは必要ないので安心です。
わずか30秒ほどで日本語の画面を確認することができました。今回は[サーバー監視]をクリックして次のステップに進みます。
2. エージェントのインストール
次に、監視対象のサーバーにエージェントをインストールします。Windows編とLinux編、それぞれの手順を紹介します。Site24x7もZabbix同様エージェントをインストールしていきますが、ホストの追加などの作業はありません。
Windows編
Windowsの手順は次のリンクでわかりやすく説明されているのでそちらをご確認ください。
Windows監視を5分で始める方法:
https://www.site24x7.jp/simple-server-monitoring.html
Linux編
[Linux]をクリックします。
Linux上で実行するコマンドが表示されますので[クリップボードへコピー]をクリックします。
Linuxサーバー(Amazon Linux2)に接続します。
コピーしたコマンドを実行します。wgetなどインターネット接続出来ていることが前提となりますので、オンプレ環境などの場合は作業前に確認が必要です。
シェルを実行します。
successfullyと表示されて完了。5分もかかりませんでした。
しばらく経つとクラウドポータル上に表示されます。監視対象が2つ見えているのが確認できました。ホストの追加操作は必要ありません。
3. メモリ使用率監視設定の確認
Site24x7の監視設定はデフォルトで値が入っているため、何かを設定する必要はありません。ここではその確認方法を紹介します。
[管理]→[設定プロファイル]→[しきい値と可用性]→[Default Threshold – SERVER]をクリックします(サーバー毎に分けたい場合は自身でプロファイルを作成できます)。
メモリ使用率だけでなく、CPU使用率、ディスク使用率のしきい値が設定されています。メモリ使用率の場合、デフォルトでは80%を超えるとトラブルとして通知、90%を超えるとクリティカルとして通知してくれます。
実際にメモリ使用率がしきい値を超えると、ポータル上ではこのようにアラートが表示されます。
4. 通知設定の確認
こちらも設定は不要です。Site24x7はクラウドサービスのため、すでにアカウント作成時のメールに障害の通知は飛んでいます。もちろんメールサーバーなどの用意は必要ありません。
ここでは、デフォルトの設定内容の確認方法と通知メールの内容を紹介します。必要に応じて設定を変更しましょう。
[管理]→[ユーザーとアラートの管理]→[ユーザー&アラート]をクリックすると自身のアカウントが登録されていますのでクリックします。
自身のアカウントのメールアドレスや権限、どのグループに所属しているかが確認できます。[アラート設定]でメールによるアラートが設定されていることが分かります。
アラート期間やアラートをしない曜日、メールをHTMLかテキストで受け取るかなども選択可能です。
グループとは[ユーザーアラートグループ]に紐付いており、他にもアプリケーション、ネットワークチームが存在しています。運用に沿って必要なアカウント、好きなグループを作り、設定すると良いでしょう。デフォルトで作成ユーザーはすべてに登録されています。
エージェントをインストールして自動的に追加されたサーバーは管理グループに紐付いています。
[ホーム]→[監視]から対象のサーバーの右端にある設定項目を選択し[編集]をクリックして確認できます。
ユーザーアラートグループが[管理グループ]に設定されています。WindowsもLinuxもデフォルトは同じです。
先程の障害通知はこのように届きます。
復旧するとこのように届きます。
まとめ
ZabbixとSite24x7によるメモリ使用率の監視方法をご紹介しました。皆さんがサーバー監視をしている運用の現場ではどのようなツールが合いそうでしょうか。Site24x7はサインアップするだけで今すぐ監視を始められます。是非この機会にお試しください。
FREEプランのサインアップはこちら:
https://www.site24x7.jp/signup.html?pack=1&l=ja
プランと価格の詳細はこちら:
https://www.site24x7.jp/pricing.html
ZabbixとSite24x7の機能比較一覧はこちら:
https://www.site24x7.jp/zabbix-alternative.html
関連記事
- Zabbix 6.0 サーバー構築手順(インストールから初期設定まで)
- Zabbix Agentのインストールと設定手順
- Zabbixでログ監視する手順(Windowsイベントログ監視・Syslog監視)
- Zabbixでプロセス監視する手順
- Zabbixでアラートをメール通知する手順
- ZabbixのPing実行手順とPing監視する手順
- ZabbixでWeb監視とシナリオ監視する手順
- ZabbixのSNMP監視手順とNetFlowでトラフィックを可視化する方法
- ZabbixでCPU使用率を監視する手順
- Zabbixで死活監視する手順
- Zabbixでポート監視する手順
- Zabbixでサービス監視する手順(Windowsサービス監視)
- Zabbixでメモリ使用率を監視する手順
- Zabbixでリソース監視する手順
- Zabbixでディスク使用率を監視する手順
- ZabbixでDNS監視する手順
- ZabbixでDockerコンテナを監視する手順
免責事項:ここに記載されているすべての著作権、商標、商号は、元の所有者の所有物です。このWebページに含まれる情報は、一般的な情報提供のみを目的としており、そのような情報は、正確性、信頼性、または完全性について調査、監視、または確認されていません。 当社は、ここに含まれる情報への依存に起因する誤り、または損失に対する責任を明示的に否認します。