Nagios を使用した Ceph の監視ガイド
Nagios Core を使用した Ceph の監視
概要
第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 レベルのアクセス。
手順
前提条件をインストールします。
例
dnf install -y httpd php php-cli gcc glibc glibc-common gd gd-devel net-snmp openssl openssl-devel wget unzip make
[root@nagios ~]# dnf install -y httpd php php-cli gcc glibc glibc-common gd gd-devel net-snmp openssl openssl-devel wget unzip makeCopy to Clipboard Copied! Toggle word wrap Toggle overflow ファイアウォールを使用している場合は、
httpdのポート80を開きます。例
firewall-cmd --zone=public --add-port=80/tcp firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@nagios ~]# firewall-cmd --zone=public --add-port=80/tcp [root@nagios ~]# firewall-cmd --zone=public --add-port=80/tcp --permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow Nagios Core のユーザーおよびグループを作成します。
例
useradd nagios passwd nagios groupadd nagcmd usermod -a -G nagcmd nagios usermod -a -G nagcmd apache
[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 apacheCopy to Clipboard Copied! Toggle word wrap Toggle overflow 最新バージョンの Nagios Core およびプラグインをダウンロードします。
例
wget --inet4-only https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.5.tar.gz wget --inet4-only http://www.nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz tar zxf nagios-4.4.5.tar.gz tar zxf nagios-plugins-2.3.3.tar.gz cd nagios-4.4.5
[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.5Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./configureを実行します。例
[root@nagios nagios-4.4.5]# ./configure --with-command-group=nagcmd
[root@nagios nagios-4.4.5]# ./configure --with-command-group=nagcmdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Nagios Core ソースコードをコンパイルします。
例
[root@nagios nagios-4.4.5]# make all
[root@nagios nagios-4.4.5]# make allCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
[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-webconfCopy to Clipboard Copied! Toggle word wrap Toggle overflow イベントハンドラーをコピーし、その所有権を変更します。
例
[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
[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/eventhandlersCopy to Clipboard Copied! Toggle word wrap Toggle overflow プレフライトチェックを実行します。
例
[root@nagios nagios-4.4.5]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[root@nagios nagios-4.4.5]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow Nagios Core プラグインを作成してインストールします。
例
cd ../nagios-plugins-2.3.3
[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 installCopy to Clipboard Copied! Toggle word wrap Toggle overflow Nagios Core ユーザーインターフェイスのユーザーを作成します。
例
[root@nagios nagios-plugins-2.3.3]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
[root@nagios nagios-plugins-2.3.3]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要nagiosadmin以外のユーザーを追加する場合は、/usr/local/nagios/etc/cgi.cfgファイルにユーザー名も入れて更新するようにしてください。-
必要に応じて、ユーザー名、氏名、およびメールアドレスで
/usr/local/nagios/etc/objects/contacts.cfgファイルを変更します。
2.2. Nagios Core サービスの起動 リンクのコピーリンクがクリップボードにコピーされました!
Nagios Core サービスを起動して、Red Hat Ceph Storage クラスターの正常性を監視します。
前提条件
- Nagios Core ホストへの root レベルのアクセス。
手順
Nagios Core と Apache をサービスとして追加します。
例
systemctl enable nagios systemctl enable httpd
[root@nagios ~]# systemctl enable nagios [root@nagios ~]# systemctl enable httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Nagios Core デーモンおよび Apache を起動します。
例
systemctl start nagios systemctl start httpd
[root@nagios ~]# systemctl start nagios [root@nagios ~]# systemctl start httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3. Nagios Core サーバーへのログイン リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ceph Storage クラスターの正常性ステータスを表示するには、Nagios Core サーバーにログインします。
前提条件
- Nagios ダッシュボードのユーザー名とパスワード。
手順
Nagios が稼働している状態で、デフォルトの Nagios Core ユーザーの認証情報を使用して、ダッシュボードにログインします。
構文
http://IP_ADDRESS/nagios
http://IP_ADDRESS/nagiosCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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 レベルのアクセス。
手順
これらのパッケージをホストにインストールします。
例
dnf install openssl openssl-devel gcc make git
[root@host01 ~]# dnf install openssl openssl-devel gcc make gitCopy to Clipboard Copied! Toggle word wrap Toggle overflow NRPE インストールには、Nagios ユーザーが必要です。最初にユーザーを作成します。
例
useradd nagios passwd nagios
[root@host01 ~]# useradd nagios [root@host01 ~]# passwd nagiosCopy to Clipboard Copied! Toggle word wrap Toggle overflow 最新バージョンの Nagios プラグインをダウンロードします。次に、これを作成してインストールします。
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph プラグインの最新バージョンをダウンロードします。
例
git clone --recursive https://github.com/ceph/ceph-nagios-plugins.git cd ceph-nagios-plugins make dist make install
[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 installCopy to Clipboard Copied! Toggle word wrap Toggle overflow Nagios NRPE をダウンロード、作成、およびインストールします。
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイアウォールを使用している場合は、ポート
5666を開き、NRPE との通信を許可してください。例
firewall-cmd --zone=public --add-port=5666/tcp firewall-cmd --zone=public --add-port=5666/tcp --permanent
[root@host01 ~]# firewall-cmd --zone=public --add-port=5666/tcp [root@host01 ~]# firewall-cmd --zone=public --add-port=5666/tcp --permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
- 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 サービスを有効化し、起動します。
例
systemctl enable nrpe systemctl start nrpe
[root@host01 ~]# systemctl enable nrpe [root@host01 ~]# systemctl start nrpeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3. リモートノードへの 1 つの Nagios Core サーバーアクセスの設定 リンクのコピーリンクがクリップボードにコピーされました!
Nagios Core サーバーがリモートマシン上の Nagios Remote Plugin Executor (NPRE) にアクセスするためには、リモートマシンの NRPE の設定を Nagios Core サーバーの IP アドレスで更新しなければなりません。
前提条件
- Nagios Core サービスへの root レベルのアクセス。
- インターネットアクセス。
- Nagios Remote Plugin Executor へのアクセス
手順
Nagios サーバーの IP アドレスで NRPE 設定を編集します。
例
vi /usr/local/nagios/etc/nrpe.cfg
[root@host01 ~]# vi /usr/local/nagios/etc/nrpe.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow allowed_hosts設定に、Nagios Core サーバーの IP アドレスを追加します。構文
allowed_hosts=127.0.0.1,IP_ADDRESS_OF_NAGIOS_CORE_SERVER
allowed_hosts=127.0.0.1,IP_ADDRESS_OF_NAGIOS_CORE_SERVERCopy to Clipboard Copied! Toggle word wrap Toggle overflow IP_ADDRESS_OF_NAGIOS_CORE_SERVER を Nagios Core サーバーの IP アドレスに置き換えてください。
nrpeを再起動します。例
systemctl restart nrpe
[root@host01 ~]# systemctl restart nrpeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
インストールをテストします。
例
/usr/local/nagios/libexec/check_nrpe -H localhost
[root@host01 ~]# /usr/local/nagios/libexec/check_nrpe -H localhostCopy to Clipboard Copied! Toggle word wrap Toggle overflow 正しく機能している場合は、このチェックにより
NRPE v4.0.3が表示されるはずです。
第4章 Nagios Core サーバーでのリモートノードの設定 リンクのコピーリンクがクリップボードにコピーされました!
Nagios Core サーバーを設定して、リモートホストを認識させます。
前提条件
- Nagios Core サーバー上のリモートノードへの root レベルのアクセス。
- インターネットアクセス。
手順
check_nrpeプラグインをインストールします。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow リモートホストの設定を作成します。
構文
cd /usr/local/nagios/etc/objects cp localhost.cfg HOST_TO_ADD.cfg
cd /usr/local/nagios/etc/objects cp localhost.cfg HOST_TO_ADD.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
cp localhost.cfg host01.cfg
[root@nagios nrpe-4.0.3]# cd /usr/local/nagios/etc/objects [root@nagios objects]# cp localhost.cfg host01.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 設定ファイルを編集し、リモートホストの設定を更新します。
構文
vi HOST_TO_ADD.cfg
vi HOST_TO_ADD.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
vi host01.cfg
[root@nagios objects]# vi host01.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 構文
Copy to Clipboard Copied! Toggle word wrap Toggle overflow LOCALHOST をリモートホストのホスト名に、
127.0.0.1を Ceph Monitor ホストの IP アドレスに置き換えてください。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ホストグループの定義を削除またはコメントアウトします。
例
vi host01.cfg
[root@nagios objects]# vi host01.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルの所有者を Nagios に変更します。
例
chown nagios:nagios host01.cfg
[root@nagios objects]# chown nagios:nagios host01.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/local/nagios/etc/nagios.cfgのhost01.cfgファイルにcfg_file=の参照を追加します。例
vi /usr/local/nagios/etc/nagios.cfg
[root@nagios objects]# vi /usr/local/nagios/etc/nagios.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow cfg_file=/usr/local/nagios/etc/objects/host01.cfg
cfg_file=/usr/local/nagios/etc/objects/host01.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow Nagios サーバーを再起動します。
例
systemctl restart nagios
[root@nagios objects]# systemctl restart nagiosCopy to Clipboard Copied! Toggle word wrap Toggle overflow 作成およびインストール手順が機能し、Nagios Core サーバーと NRPE が含まれるリモートホストとの間に接続性があることを確認します。
構文
/usr/local/nagios/libexec/check_nrpe -H HOSTNAME_OF_REMOTE_HOST
/usr/local/nagios/libexec/check_nrpe -H HOSTNAME_OF_REMOTE_HOSTCopy to Clipboard Copied! Toggle word wrap Toggle overflow HOSTNAME_OF_REMOTE_HOST を、監視する Ceph ホストの IP アドレスに置き換えてください。
例
/usr/local/nagios/libexec/check_nrpe -H host01
[root@nagios objects]# /usr/local/nagios/libexec/check_nrpe -H host01Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
-
正しく機能している場合は、このチェックにより
NRPE v4.0.3が表示されるはずです。
第5章 Ceph 向け Nagios プラグインの設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ceph Storage クラスターの場合には、Nagios プラグインを設定します。
前提条件
- Ceph Monitor ホストと Nagios Core Server への root レベルのアクセス。
- 稼働中の Red Hat Ceph Storage クラスターがある。
手順
Ceph Monitor ホストにログインし、Nagios 用の Ceph キーとキーリングを作成します。
例
ssh user@host01 sudo su - cd /etc/ceph ceph auth get-or-create client.nagios mon 'allow r' > client.nagios.keyring
[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.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 各プラグインには認証が必要です。プラグインが含まれる各ノードで、この手順を繰り返します。
check_ceph_healthプラグインのコマンドを追加します。例
vi /usr/local/nagios/etc/nrpe.cfg
[root@host01 ~]# vi /usr/local/nagios/etc/nrpe.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow command[check_ceph_health]=/usr/lib/nagios/plugins/check_ceph_health --id nagios --keyring /etc/ceph/client.nagios.keyring
command[check_ceph_health]=/usr/lib/nagios/plugins/check_ceph_health --id nagios --keyring /etc/ceph/client.nagios.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow nrpeサービスを有効にして再起動します。例
systemctl enable nrpe systemctl restart nrpe
[root@host01 ~]# systemctl enable nrpe [root@host01 ~]# systemctl restart nrpeCopy to Clipboard Copied! Toggle word wrap Toggle overflow ホストに適用される各 Ceph プラグインに対して、この手順を繰り返します。
Nagios Core サーバーに戻り、NRPE プラグインの
check_nrpeコマンドを定義します。例
cd /usr/local/nagios/etc/objects vi commands.cfg
[root@nagios ~]# cd /usr/local/nagios/etc/objects [root@nagios objects]# vi commands.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 構文
define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }Copy to Clipboard Copied! Toggle word wrap Toggle overflow Nagios Core サーバーで、ノードの設定ファイルを編集し、Ceph プラグインのサービスを追加します。
例
vi /usr/local/nagios/etc/objects/host01.cfg
[root@nagios objects]# vi /usr/local/nagios/etc/objects/host01.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 構文
Copy to Clipboard Copied! Toggle word wrap Toggle overflow HOSTNAME は、監視する Ceph ホストのホスト名に置き換えてください。
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記check_command設定では、Ceph プラグイン名の前にcheck_nrpe!を使用します。これにより、リモートノードでcheck_ceph_healthコマンドを実行するように NRPE に指示します。- このホストに適用される各プラグインに対して、この手順を繰り返します。
Nagios Core サーバーを再起動します。
例
systemctl restart nagios
[root@nagios ~]# systemctl restart nagiosCopy to Clipboard Copied! Toggle word wrap Toggle overflow 追加の設定を進める前に、Ceph ホストでプラグインが機能していることを確認します。
構文
/usr/lib/nagios/plugins/check_ceph_health --id NAGIOS_USER --keyring /etc/ceph/client.nagios.keyring
/usr/lib/nagios/plugins/check_ceph_health --id NAGIOS_USER --keyring /etc/ceph/client.nagios.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
/usr/lib/nagios/plugins/check_ceph_health --id nagios --keyring /etc/ceph/client.nagios.keyring
[root@host01 ~]# /usr/lib/nagios/plugins/check_ceph_health --id nagios --keyring /etc/ceph/client.nagios.keyring HEALTH OKCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記check_ceph_healthプラグインは、ceph healthコマンドと同等のコマンドを実行します。
関連情報
- Ceph Nagios プラグインの使用に関しては、Nagios plugins for Ceph を参照してください。