Nagios を使用した Ceph の監視ガイド


Red Hat Ceph Storage 6

Nagios Core を使用した Ceph の監視

Red Hat Ceph Storage Documentation Team

概要

このガイドでは、Red Hat Ceph Storage クラスターを監視するように Nagios をインストールおよび設定する方法を説明します。
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

第1章 Nagios および Ceph

Nagios Core は、ノードを監視するためのオープンソースソリューションです。大規模な Red Hat Ceph Storage クラスターは、Nagios Core などの分散監視システムの恩恵を受けています。Nagios Core は、基本となるオペレーティングシステムの健全性や Red Hat Ceph Storage クラスターデーモンの正常性など、クラスター内の各ノードをチェックします。

Ceph と共に Nagios Core をデプロイするには、以下が必要です。

  • 稼働中の Red Hat Ceph Storage クラスターがある。

Nagios Core の代わりに、より機能豊富な商用版である Nagios XI を代用することもできます。

重要

Red Hat は、Nagios パッケージを提供しません。

重要

Red Hat は、弊社のテクノロジーパートナーと協力して、本書をお客様にサービスとして提供します。ただし、Red Hat はこの製品のサポートを提供しません。この製品の技術的なサポートが必要な場合は、Nagios にサポートを依頼してください。

第2章 Nagios Core のインストールと設定

ストレージ管理者が Nagios Core をインストールする場合は、Nagios Core ソースコードをダウンロードして、Nagios Core インスタンスを実行するノードに設定、作成、およびインストールします。

2.1. ソースからの Nagios Core サーバーのインストールおよび設定

Nagios Core ソフトウェアには Red Hat Enterprise Linux パッケージがないため、ソースから Nagios Core ソフトウェアをコンパイルする必要があります。

前提条件

  • インターネットアクセス。
  • Nagios Core ホストへの root レベルのアクセス。

手順

  1. 前提条件をインストールします。

    [root@nagios ~]# dnf install -y httpd php php-cli gcc glibc glibc-common gd gd-devel net-snmp openssl openssl-devel wget unzip make
    Copy to Clipboard Toggle word wrap

  2. ファイアウォールを使用している場合は、httpd のポート 80 を開きます。

    [root@nagios ~]# firewall-cmd --zone=public --add-port=80/tcp
    [root@nagios ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
    Copy to Clipboard Toggle word wrap

  3. Nagios Core のユーザーおよびグループを作成します。

    [root@nagios ~]# useradd nagios
    [root@nagios ~]# passwd nagios
    [root@nagios ~]# groupadd nagcmd
    [root@nagios ~]# usermod -a -G nagcmd nagios
    [root@nagios ~]# usermod -a -G nagcmd apache
    Copy to Clipboard Toggle word wrap

  4. 最新バージョンの Nagios Core およびプラグインをダウンロードします。

    [root@nagios ~]# wget --inet4-only https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.5.tar.gz
    [root@nagios ~]# wget --inet4-only http://www.nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
    [root@nagios ~]# tar zxf nagios-4.4.5.tar.gz
    [root@nagios ~]# tar zxf nagios-plugins-2.3.3.tar.gz
    [root@nagios ~]# cd nagios-4.4.5
    Copy to Clipboard Toggle word wrap

  5. ./configure を実行します。

    [root@nagios nagios-4.4.5]# ./configure --with-command-group=nagcmd
    Copy to Clipboard Toggle word wrap

  6. Nagios Core ソースコードをコンパイルします。

    [root@nagios nagios-4.4.5]# make all
    Copy to Clipboard Toggle word wrap

  7. Nagios ソースコードをインストールします。

    [root@nagios nagios-4.4.5]# make install
    [root@nagios nagios-4.4.5]# make install-init
    [root@nagios nagios-4.4.5]# make install-config
    [root@nagios nagios-4.4.5]# make install-commandmode
    [root@nagios nagios-4.4.5]# make install-webconf
    Copy to Clipboard Toggle word wrap

  8. イベントハンドラーをコピーし、その所有権を変更します。

    [root@nagios nagios-4.4.5]# cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
    [root@nagios nagios-4.4.5]# chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
    Copy to Clipboard Toggle word wrap

  9. プレフライトチェックを実行します。

    [root@nagios nagios-4.4.5]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
    Copy to Clipboard Toggle word wrap

  10. Nagios Core プラグインを作成してインストールします。

    [root@nagios ~]# cd ../nagios-plugins-2.3.3
    [root@nagios nagios-plugins-2.3.3]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
    [root@nagios nagios-plugins-2.3.3]# make
    [root@nagios nagios-plugins-2.3.3]# make install
    Copy to Clipboard Toggle word wrap

  11. Nagios Core ユーザーインターフェイスのユーザーを作成します。

    [root@nagios nagios-plugins-2.3.3]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
    Copy to Clipboard Toggle word wrap

    重要

    nagiosadmin 以外のユーザーを追加する場合は、/usr/local/nagios/etc/cgi.cfg ファイルにユーザー名も入れて更新するようにしてください。

  12. 必要に応じて、ユーザー名、氏名、およびメールアドレスで /usr/local/nagios/etc/objects/contacts.cfg ファイルを変更します。

2.2. Nagios Core サービスの起動

Nagios Core サービスを起動して、Red Hat Ceph Storage クラスターの正常性を監視します。

前提条件

  • Nagios Core ホストへの root レベルのアクセス。

手順

  1. Nagios Core と Apache をサービスとして追加します。

    [root@nagios ~]# systemctl enable nagios
    [root@nagios ~]# systemctl enable httpd
    Copy to Clipboard Toggle word wrap

  2. Nagios Core デーモンおよび Apache を起動します。

    [root@nagios ~]# systemctl start nagios
    [root@nagios ~]# systemctl start httpd
    Copy to Clipboard Toggle word wrap

2.3. Nagios Core サーバーへのログイン

Red Hat Ceph Storage クラスターの正常性ステータスを表示するには、Nagios Core サーバーにログインします。

前提条件

  • Nagios ダッシュボードのユーザー名とパスワード。

手順

  • Nagios が稼働している状態で、デフォルトの Nagios Core ユーザーの認証情報を使用して、ダッシュボードにログインします。

    構文

    http://IP_ADDRESS/nagios
    Copy to Clipboard Toggle word wrap

    IP_ADDRESS を Nagios Core サーバーの IP アドレスに置き換えてください。

第3章 Nagios リモートプラグインエグゼキューターのインストール

ストレージ管理者は、Ceph Storage クラスターホストを監視し、Nagios プラグイン、Ceph プラグイン、および Nagios リモートプラグインエグゼキューター (NRPE) アドオンを各 Ceph ホストにインストールすることができます。

本セクションでは、ホスト名が host01 の Ceph Monitor ホストに NRPE を追加します。Nagios が監視する必要のあるすべての Ceph ホストで残りの手順を繰り返します。

3.1. Nagios Remote Plug-In Executor のインストールおよび設定

Nagios Remote Plug-in Executor (NPRE) をインストールし、Nagios Core サーバーと通信するように設定します。

前提条件

  • Ceph Monitor ホストへの root レベルのアクセス。

手順

  1. これらのパッケージをホストにインストールします。

    [root@host01 ~]# dnf install openssl openssl-devel gcc make git
    Copy to Clipboard Toggle word wrap

  2. NRPE インストールには、Nagios ユーザーが必要です。最初にユーザーを作成します。

    [root@host01 ~]# useradd nagios
    [root@host01 ~]# passwd nagios
    Copy to Clipboard Toggle word wrap

  3. 最新バージョンの Nagios プラグインをダウンロードします。次に、これを作成してインストールします。

    [root@host01 ~]# wget http://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
    [root@host01 ~]# tar zxf nagios-plugins-2.3.3.tar.gz
    [root@host01 ~]# cd nagios-plugins-2.3.3
    [root@host01 nagios-plugins-2.3.3]# ./configure
    [root@host01 nagios-plugins-2.3.3]# make
    [root@host01 nagios-plugins-2.3.3]# make install
    Copy to Clipboard Toggle word wrap

  4. Ceph プラグインの最新バージョンをダウンロードします。

    [root@host01 nagios-plugins-2.3.3]# cd ~
    [root@host01 ~]# git clone --recursive https://github.com/ceph/ceph-nagios-plugins.git
    [root@host01 ~]# cd ceph-nagios-plugins
    [root@host01 ceph-nagios-plugins]# make dist
    [root@host01 ceph-nagios-plugins]# make install
    Copy to Clipboard Toggle word wrap

  5. Nagios NRPE をダウンロード、作成、およびインストールします。

    [root@host01 ceph-nagios-plugins]# cd ~
    [root@host01 ~]# wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar.gz
    [root@host01 ~]# tar xvfz nrpe-4.0.3.tar.gz
    [root@host01 ~]# cd nrpe-4.0.3
    [root@host01 nrpe-4.0.3]# ./configure
    [root@host01 nrpe-4.0.3]# make all
    [root@host01 nrpe-4.0.3]# make install-groups-users
    [root@host01 nrpe-4.0.3]# make install
    [root@host01 nrpe-4.0.3]# make install-config
    [root@host01 nrpe-4.0.3]# make install-init
    Copy to Clipboard Toggle word wrap

  6. ファイアウォールを使用している場合は、ポート 5666 を開き、NRPE との通信を許可してください。

    [root@host01 ~]# firewall-cmd --zone=public --add-port=5666/tcp
    [root@host01 ~]# firewall-cmd --zone=public --add-port=5666/tcp --permanent
    Copy to Clipboard Toggle word wrap

関連情報

  • Ceph 用の Nagios プラグインの詳細については、Nagios plugins for Ceph を参照してください。

3.2. Nagios Remote Plug-in Executor サービスの起動

Nagios Remote Plug-in Executor (NRPE) サービスを起動してデータを収集し、Nagios Core サーバーに報告します。

前提条件

  • Ceph Monitor ホストへの root レベルのアクセス。

手順

  • NRPE サービスを有効化し、起動します。

    [root@host01 ~]# systemctl enable nrpe
    [root@host01 ~]# systemctl start nrpe
    Copy to Clipboard Toggle word wrap

3.3. リモートノードへの 1 つの Nagios Core サーバーアクセスの設定

Nagios Core サーバーがリモートマシン上の Nagios Remote Plugin Executor (NPRE) にアクセスするためには、リモートマシンの NRPE の設定を Nagios Core サーバーの IP アドレスで更新しなければなりません。

前提条件

  • Nagios Core サービスへの root レベルのアクセス。
  • インターネットアクセス。
  • Nagios Remote Plugin Executor へのアクセス

手順

  1. Nagios サーバーの IP アドレスで NRPE 設定を編集します。

    [root@host01 ~]# vi /usr/local/nagios/etc/nrpe.cfg
    Copy to Clipboard Toggle word wrap

  2. allowed_hosts 設定に、Nagios Core サーバーの IP アドレスを追加します。

    構文

    allowed_hosts=127.0.0.1,IP_ADDRESS_OF_NAGIOS_CORE_SERVER
    Copy to Clipboard Toggle word wrap

    IP_ADDRESS_OF_NAGIOS_CORE_SERVER を Nagios Core サーバーの IP アドレスに置き換えてください。

  3. nrpe を再起動します。

    [root@host01 ~]# systemctl restart nrpe
    Copy to Clipboard Toggle word wrap

検証

  • インストールをテストします。

    [root@host01 ~]# /usr/local/nagios/libexec/check_nrpe -H localhost
    Copy to Clipboard Toggle word wrap

    正しく機能している場合は、このチェックにより NRPE v4.0.3 が表示されるはずです。

第4章 Nagios Core サーバーでのリモートノードの設定

Nagios Core サーバーを設定して、リモートホストを認識させます。

前提条件

  • Nagios Core サーバー上のリモートノードへの root レベルのアクセス。
  • インターネットアクセス。

手順

  1. check_nrpe プラグインをインストールします。

    [root@nagios ~]# cd ~
    [root@nagios ~]# wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar.gz
    [root@nagios ~]# tar xvfz nrpe-4.0.3.tar.gz
    [root@nagios ~]# cd nrpe-4.0.3
    [root@nagios nrpe-4.0.3]# ./configure
    [root@nagios nrpe-4.0.3]# make check_nrpe
    [root@nagios nrpe-4.0.3]# make install-plugin
    Copy to Clipboard Toggle word wrap

  2. リモートホストの設定を作成します。

    構文

     cd /usr/local/nagios/etc/objects
     cp localhost.cfg HOST_TO_ADD.cfg
    Copy to Clipboard Toggle word wrap

    [root@nagios nrpe-4.0.3]# cd /usr/local/nagios/etc/objects
    [root@nagios objects]# cp localhost.cfg host01.cfg
    Copy to Clipboard Toggle word wrap

  3. 設定ファイルを編集し、リモートホストの設定を更新します。

    構文

    vi HOST_TO_ADD.cfg
    Copy to Clipboard Toggle word wrap

    [root@nagios objects]# vi host01.cfg
    Copy to Clipboard Toggle word wrap

    構文

    # Define a host for the local machine
    
    define host {
    
        use     linux-server    ; Name of host template to use
                                ; This host definition will inherit all variables that are defined
                                ; in (or inherited by) the linux-server host template definition.
        host_name               LOCALHOST
        alias                   LOCALHOST
        address                 127.0.0.1
    }
    Copy to Clipboard Toggle word wrap

    LOCALHOST をリモートホストのホスト名に、127.0.0.1 を Ceph Monitor ホストの IP アドレスに置き換えてください。

    # Define a host for the local machine
    
    define host {
        use     linux-server   ; Name of host template to use
                               ; This host definition will inherit all variables that are defined
                               ; in (or inherited by) the linux-server host template definition.
        host_name               host01
        alias                   host01
        address                 10.10.128.69
    }
    Copy to Clipboard Toggle word wrap

  4. ホストグループの定義を削除またはコメントアウトします。

    [root@nagios objects]# vi host01.cfg
    Copy to Clipboard Toggle word wrap

    #define hostgroup {
    #
    #    hostgroup_name          linux-servers           ; The name of the hostgroup
    #    alias                   Linux Servers           ; Long name of the group
    #    members                 localhost               ; Comma separated list of hosts that belong to this group
    #}
    Copy to Clipboard Toggle word wrap
  5. ファイルの所有者を Nagios に変更します。

    [root@nagios objects]# chown nagios:nagios host01.cfg
    Copy to Clipboard Toggle word wrap

  6. /usr/local/nagios/etc/nagios.cfghost01.cfg ファイルに cfg_file= の参照を追加します。

    [root@nagios objects]# vi /usr/local/nagios/etc/nagios.cfg
    Copy to Clipboard Toggle word wrap

    cfg_file=/usr/local/nagios/etc/objects/host01.cfg
    Copy to Clipboard Toggle word wrap
  7. Nagios サーバーを再起動します。

    [root@nagios objects]# systemctl restart nagios
    Copy to Clipboard Toggle word wrap

  8. 作成およびインストール手順が機能し、Nagios Core サーバーと NRPE が含まれるリモートホストとの間に接続性があることを確認します。

    構文

    /usr/local/nagios/libexec/check_nrpe -H HOSTNAME_OF_REMOTE_HOST
    Copy to Clipboard Toggle word wrap

    HOSTNAME_OF_REMOTE_HOST を、監視する Ceph ホストの IP アドレスに置き換えてください。

    [root@nagios objects]# /usr/local/nagios/libexec/check_nrpe -H host01
    Copy to Clipboard Toggle word wrap

検証

  • 正しく機能している場合は、このチェックにより NRPE v4.0.3 が表示されるはずです。

第5章 Ceph 向け Nagios プラグインの設定

Red Hat Ceph Storage クラスターの場合には、Nagios プラグインを設定します。

前提条件

  • Ceph Monitor ホストと Nagios Core Server への root レベルのアクセス。
  • 稼働中の Red Hat Ceph Storage クラスターがある。

手順

  1. Ceph Monitor ホストにログインし、Nagios 用の Ceph キーとキーリングを作成します。

    [root@nagios ~]# ssh user@host01
    [user@host01 ~]$ sudo su -
    [root@host01 ~]# cd /etc/ceph
    [root@host01 ceph]# ceph auth get-or-create client.nagios mon 'allow r' > client.nagios.keyring
    Copy to Clipboard Toggle word wrap

    各プラグインには認証が必要です。プラグインが含まれる各ノードで、この手順を繰り返します。

  2. check_ceph_health プラグインのコマンドを追加します。

    [root@host01 ~]# vi /usr/local/nagios/etc/nrpe.cfg
    Copy to Clipboard Toggle word wrap

    command[check_ceph_health]=/usr/lib/nagios/plugins/check_ceph_health --id nagios --keyring /etc/ceph/client.nagios.keyring
    Copy to Clipboard Toggle word wrap
  3. nrpe サービスを有効にして再起動します。

    [root@host01 ~]# systemctl enable nrpe
    [root@host01 ~]# systemctl restart nrpe
    Copy to Clipboard Toggle word wrap

    ホストに適用される各 Ceph プラグインに対して、この手順を繰り返します。

  4. Nagios Core サーバーに戻り、NRPE プラグインの check_nrpe コマンドを定義します。

    [root@nagios ~]# cd /usr/local/nagios/etc/objects
    [root@nagios objects]# vi commands.cfg
    Copy to Clipboard Toggle word wrap

    構文

    define command{
     command_name check_nrpe
     command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
    }
    Copy to Clipboard Toggle word wrap

  5. Nagios Core サーバーで、ノードの設定ファイルを編集し、Ceph プラグインのサービスを追加します。

    [root@nagios objects]# vi /usr/local/nagios/etc/objects/host01.cfg
    Copy to Clipboard Toggle word wrap

    構文

    define service {
      use                   generic-service
      host_name             HOSTNAME
      service_description   Ceph Health Check
      check_command         check_nrpe!check_ceph_health
    }
    Copy to Clipboard Toggle word wrap

    HOSTNAME は、監視する Ceph ホストのホスト名に置き換えてください。

    define service {
      use                   generic-service
      host_name             host01
      service_description   Ceph Health Check
      check_command         check_nrpe!check_ceph_health
    }
    Copy to Clipboard Toggle word wrap

    注記

    check_command 設定では、Ceph プラグイン名の前に check_nrpe! を使用します。これにより、リモートノードで check_ceph_health コマンドを実行するように NRPE に指示します。

  6. このホストに適用される各プラグインに対して、この手順を繰り返します。
  7. Nagios Core サーバーを再起動します。

    [root@nagios ~]# systemctl restart nagios
    Copy to Clipboard Toggle word wrap

  8. 追加の設定を進める前に、Ceph ホストでプラグインが機能していることを確認します。

    構文

    /usr/lib/nagios/plugins/check_ceph_health --id NAGIOS_USER --keyring /etc/ceph/client.nagios.keyring
    Copy to Clipboard Toggle word wrap

    [root@host01 ~]# /usr/lib/nagios/plugins/check_ceph_health --id nagios --keyring /etc/ceph/client.nagios.keyring
    HEALTH OK
    Copy to Clipboard Toggle word wrap

    注記

    check_ceph_health プラグインは、ceph health コマンドと同等のコマンドを実行します。

関連情報

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat