サーバ管理
Pandora FMS サーバの手動起動/停止
メンテナンスにより Pandora FMS サーバを手動で停止する場合は、サービスウォッチドッグが実行されているかどうかを確認してください。詳細は、こちらの章を参照してください。
Pandora FMS サーバを手動で起動・停止するには、コマンドラインから以下を実行します。
- デーモンの停止:
systemctl stop pandora_server
- デーモンの起動:
systemctl start pandora_server
- デーモンの再起動:
systemctl restart pandora_server
次のようにして、systemd を通じて pandora_ha の状態を確認できます。
systemctl status pandora_ha.service
データベース管理
Pandora FMS が適切にパフォーマンスを維持するためのタスクを実行する重要なツールがあります。その場所は次のとおりです。
/usr/bin/pandora_db
このツール(以降 pandora_db.pl)は、Pandora FMS サーバパッケージに含まれているため、Pandora FMS サーバがインストールされているシステムから実行する必要があります。
Pandora_db は、Pandora FMS が適切に動作するための重要なツールです。そのため、システムの cron タスクで一時間ごとに実行するように設定されています。 以下のファイルで設定されています。
/etc/cron.hourly/pandora_db
このツールは、データベースの全てのメンテナンスを自動的に実行します。
- 古いデータの削除をします。
- 既存のデータを圧縮します。
- 存在しないモジュールのデータベースでの整合性や、初期化されていないために利用されていないモジュールをチェックします。
- エージェントの一日の接続情報を削除します。
- 全ての古いデータをヒストリデータベースに移動します。
前述したように、pandora_db の実行はシステムの cron タスクで設定されます。この設定は Pandora FMS サーバのインストールに自動的に含まれますが、確認すると良いでしょう。 /etc/cron.hourly/pandora_db が存在し、次の行が含まれている必要があります。
"/usr/bin/pandora_db" "/etc/pandora/pandora_server.conf">/dev/null 2>&1
パーミッションとファイルの所有者を確認することも同様に重要です。 正しいパーミッションは 755 です。これは、次を実行することで付与できます。
chmod 755 /etc/cron.hourly/pandora_db
所有者に関しては、ユーザとグループ共に “root” である必要があり、次のように設定できます。
chown root:root /etc/cron.hourly/pandora_db
メンテナンスツールの手動実行
必要に応じて、前のセクションで説明した pandora_db を手動で実行できます。 シェルコンソールからコマンドを実行します。
/usr/bin/pandora_db /etc/pandora/pandora_server.conf
負荷が高いシステムでは数時間かかる場合があるため、バックグラウンドでプロセスを実行することをお勧めします。
手動でメンテナンスツールをバックグラウンド実行するには、次のようにします。
nohup /usr/bin/pandora_db /etc/pandora/pandora_server.conf
バックグラウンドでプロセスの実行には少々時間がかかります。プロセスの実行中でも、シェルこのソールを閉じることができます。
古いバージョンではなく、新しいバージョンのツールを使用していることを確認することが非常に重要です。 引数なしでプログラムを実行すると、メッセージの先頭にツールのバージョンが表示され、サーバにインストールしたバージョンが一致している必要があります。
データベースバックアップ
これは、他のファイルやサーバ設定を含めずに、データベースのみのバックアップまたは復元であることを認識しておくことが重要です。
コマンド mysqldump は、テーブル構造とその内容の完全なデータベースダンプを実行します。これは、テーブル構造とその内容の両方の完全なデータベースダンプを実行することによって行われます。このコマンドには、バックアップを実行するためのいくつかのオプションがあり、 最も基本的な使用法は、データベースがホストされている同じシステムからダンプするだけで十分です。
たとえば、pandora データベース (rootユーザとpandora パスワード) をバックアップし、結果をファイルにダンプするには、次のコマンドを実行します。
mysqldump -u root -p pandora> /backup/pandoradb_backup.sql
そのようにして行われたバックアップから、データベースを完全に復元できます。MySQL にログインし、復元されるデータベースの作成に進み、そのデータベースにバックアップをロードします。前のファイルを例にすると、次のように実行します(mypassword を実際のパスワードに置き換えます)。
mysql -u root -p
CREATE DATABASE pandora; USE pandora; SOURCE /backup/pandoradb_backup.sql; GRANT ALL privileges ON pandora.* TO pandora@localhost IDENTIFIED BY 'mypassword'; exit;
最後に、Pandora FMS コンソールとサーバの両方で設定済みのユーザ権限を再度設定し、データベースへのアクセス権を付与します。(mypassword をあなたのパスワードで置き換えてください)
GRANT ALL privileges ON pandora.* TO pandora@localhost IDENTIFIED BY 'mypassword';
Pandora FMS のバックアップとリカバリ
Pandora FMS サーバの配布パッケージには、Pandora FMS を完全にバックアップおよび復元するのに役立つスクリプトがあります。 このスクリプトは、サーバとコンソールが同じマシン上にあるシステムでのバックアップと復元を目的としています。
次のコンポーネントをバックアップおよび復元するように設計されています。
- サーバ設定ファイル
- 実行保留中のファイルと、エージェントのリモート設定ファイル。
- データベース全体
- ウェブコンソール全体
コンポーネントが複数に分かれた環境の場合は、適切なパラメーターでツールを使用するか、ニーズに合わせてツールを調整する必要があります。
この処理を実行するには、スクリプトを root 権限で実行する必要があります。スクリプトは以下にあります。
/usr/share/pandora_server/util/pandora_backup.sh
引数無しで実行すると、ヘルプを表示します。
Pandora FMS の Watchdog 実装
コードリポジトリには、“ウォッチドッグ” (Watchdog) として使用できる小さなスクリプトがあります。 このスクリプトは、Pandora FMS の状態監視を実行します。
復旧動作(Pandora FMS の起動を試みる)を実行できますが、失敗した場合は、警告を発行します。このツールは以下にあります。
/usr/share/pandora_server/util/pandora_watchdog.sh
アラート生成スクリプト
pandora_watchdog.sh スクリプトは、/usr/bin/pandora_alert 内の設定ファイルを探し、アラートを生成します。 このファイルには、ウォッチドッグが Pandora FMS サーバを起動できないときに実行するコードを定義します。この例では、SMS を介した警告に加えて、Tentacle サーバを停止します。
#!/bin/bash sendsms +34458474843 "The Pandora FMS has suffered some issue and it cannot be started." systemctl stop tentacle_serverd
スクリプトに実行パーミッションを与えます。
chmod 750 /usr/bin/pandora_alert
ウォッチドッグ起動
ウォッチドッグを起動し、バックグラウンドで動作させるには、次のように実行します。
nohup /usr/share/pandora_server/util/pandora_watchdog.sh &
ウォッチドッグを実行しているときに、メンテナンス上の理由で Pandora FMS サーバを手動で停止したい場合は、事前にウォッチドッグプロセスを停止して、サービスが自動的に起動されないようにする必要があります。
ヒストリデータベース
ヒストリデータベースは、メインの Pandora FMS データベースの応答を良くするために、そこから古いモジュールデータを移動させ保存しておくためのものです。データは、レポートやモジュールグラフの参照時に Pandora FMS コンソールでシームレスに利用できます。
ヒストリデータベースの設定
ヒストリデータベースを設定するには、それをホストするための新しい MySQL サーバが必要であり、そのサーバはメインのデータベースとは異なるものである必要があります。
将来的に使用するヒストリデータベースへの初回接続時に、指定されたユーザによって新しいデータ構造が作成される点にご注意ください。この処理に失敗すると、ヒストリデータベース有効化(Enable historical database) ボタンが無効になります。
基本的には、ヒストリデータベースをホストするリモート MySQL サーバの root 管理者が、データベースを作成し、そのデータ構造を構築するために接続するユーザの認証情報を設定する必要があります。これを行うには、リモートMySQL のコマンドラインで以下のようなコマンドを実行してください。
CREATE USER <pfms_user_name> IDENTIFIED BY '<pfms_user_name>'; ALTER USER '<pfms_user_name>' IDENTIFIED WITH mysql_native_password BY '<pfms_user_password>'; CREATE DATABASE <historical_database_name>; GRANT ALL PRIVILEGES ON `<historical_database_name>`.* TO `<pfms_user_name>`@`<pfms_server_ip_address>`; FLUSH PRIVILEGES;
PFMS Web コンソールのメニューから 管理(Management) → セットアップ(Setup) → セットアップ(Setup) → ヒストリデータベース(Historical database) を選択し、ヒストリデータベース有効化(Enable historical database) ボタンを有効にして、接続設定(接続先設定(Configure connection target))にアクセスします。
項目を入力します:
- ホスト(Host): ヒストリデータベースのホスト名(Webリンクまたは IP アドレス)
- ポート(Port): ヒストリデータベースの接続ポート。標準値:
3306 - データベース名(Database name): ヒストリデータベース名。デフォルト値:
pandora(<historical_database_name>に置き換えてください)。 - データベースユーザ(Database user): ヒストリデータベースのユーザ名。デフォルト値:
pandora(<pfms_user_name>に置き換えてください)。 - データベースパスワード(Database password): ヒストリデータベースのパスワード(
<pfms_user_password>に置き換えてください)。これにより、ヒストリデータベースへの接続が可能になります。
SSL を使用したヒストリデータベースへのセキュアな接続のためのオプションを設定することをお勧めします。
アクティブデータベースに保持するデータの経過日数(Data days old to keep in active database)、転送ブロックサイズ(ステップ)(Transference block size (Step))、および 転送間隔(秒)(Delay between transferences (seconds)) の各フィールドでは、データをヒストリデータベースへ送信する際の手順を定義します。具体的には、n日(Data days)以上経過したデータを、n行(Step)ずつのブロックに分けてヒストリデータベースへ移動させ、過負荷を防ぐためにブロック間の処理にn秒(Delay)の待機時間を設けます。
同じ画面で、n日以上経過したイベントをヒストリデータベースに送信するかどうかも設定できます(アクティブデータベースに保持するイベント日数(Events days old to keep in active database))。ただし、イベントを含めるとヒストリデータベースの増加速度が大幅に速まること、また、それらのイベントはレポート生成時にのみ参照され、イベントビューには表示されない点に注意が必要です。
ヒストリデータベースは、データの転送にバイナリ /usr/bin/pandora_db を使用します。さらに、ヒストリデータベースの保守に関するオプションを設定する必要があります。