個人用ツール

Pandora:Documentation ja:Server Management

提供: Pandora FMS Wiki JP

移動先: 案内, 検索

Pandora FMS ドキュメント一覧に戻る

Pandora FMS サーバ管理

データベース管理

Pandora FMS infrastructure does not need external maintenance, but it is very important to purge old data, and maintain the database compacted. There is an essential tool for the proper functioning of Pandora FMS. This tool must be launched only once by night. If you have multiple physical servers, start it from one of them. This tool must be launched from a system where there is a Pandora FMS server, if you have two systems and one has the server and another one the console, run it from the server where server is the Pandora FMS. This tool is at:

Pandora FMS は、外部メンテナンスを必要としません。しかし、古いデータ削除や圧縮はとても重要です。Pandora FMS の上記処理を行うための重要なツールがあります。このツールは、夜間に一度だけ必ず実行する必要があります。複数の物理サーバがある場合は、そのうちの 1台で実行します。このツールは、Pandora FMS サーバが動作しているシステムで実行しなければなりません。もし、2つのサーバがあり、サーバとコンソールが別々のサーバで動作している場合は、Pandora FMS サーバが動作している方で動かします。このツールは以下の場所にあります。

/usr/share/pandora_server/util/pandora_db.pl

This tool, hereinafter pandora_db.pl is included in the package Pandora FMS server.

pandora_db.pl は、Pandora FMS サーバパッケージに含まれています。

This tool performs all maintenance database automatically and is essential for the proper functioning of Pandora FMS so be sure it works properly. Its functions are:

このツールは、データベースの全てのメンテナンスを自動的に実行し、Pandora FMS の上記の機能を実現するのに重要です。そのため、正しく動作しているかどうかに注意してください。このツールの機能は次の通りです。

  • Delete old data.
  • 古いデータの削除をします。
  • Compact existing data, interpolated at various intervals, so that graphics are the same but the space needed for storage is much lower (this is one reason why Pandora FMS is capable of processing such information).
  • データの加工による圧縮をします。これにより、ディスクの使用量を押さえてグラフを描画できる状態にします。(これが Pandora FMS が古い情報を表示できる理由です)
  • Check the consistency of the database for non-existing modules, or modules which are not used because they can not be initiated (these modules appear in print as uninitialized modules ).
  • 存在しないモジュールのデータベースでの整合性や、初期化されていないために利用されていないモジュール (これらのモジュールは、未初期化モジュールとして表示されます) をチェックします。
  • Eliminates the daily information contact the agent. Pandora FMS does not need more than historical 24hr contact agent, and if it builds up, slows down in the access to the database.
  • エージェントの一日の接続情報を削除します。Pandora FMS は、24時間を越えるエージェント接続情報は必要としません。もし、それが増えると、データベースのアクセス速度が低下します。
  • The enterprise version, moving all the old data to the standby database as historic.
  • エンタープライズ版では、全ての古いデータをスタンバイデータベースに移動します。

This task should be performed every night, and it is very important to do it, taking time to understand and fixing the cron task. The installation should have been programmed correctly, but you should check that this has been done. This chapter explains how program it manually, so you can verify whether the installation on your system is working properly.

この処理は、毎晩実行される必要があり、cron 処理として設定して実行することがとても重要です。インストール時に設定されますが、正しく設定できているかは確認してください。この章では、設定が正しくできているかどうかを確認できるように、手動で設定する方法を説明します。

To install this tool on standard Linux systems, we recommend the following procedure:

標準的な Linux システムにこのツールをインストールするには、次の手順の実行をお勧めします。

  • Create a new file called /etc/cron.daily/pandora_db that contains following lines:
  • /etc/cron.daily/pandora_db というファイルを新たに作成し、次の内容を記載します。
#!/bin/bash
/usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server.conf
  • Alter permissions of file:
  • ファイルのパーミッションを次の通り設定します。
 chmod 750 /etc/cron.daily/pandora_db
  • Change ownership
  • オーナーを変更します。
 chown root:root /etc/cron.daily/pandora_db
  • Reload cron configuration
  • cron の設定を再読み込みします。
/etc/init.d/cron reload

From now on, every night it will run the maintenance tool database Pandora FMS, ensuring that the database is always in optimum condition.

これで有効になり、毎晩 Pandora FMS データベースのメンテナンスツールが実行されます。これにより、データベースは常に最適な状態に保たれます。

Finally, to ensure that you have left everything up correctly, or to ensure that the system, after installing the tool has been programmed correctly, manually run it once:

最後に、すべてが正しく設定できているかを確認するために、ツールのインストール後は、手動で以下のファイルを一度実行します。

/etc/cron.daily/pandora_db

It should show a message like this (perhaps with less information, depending on their level of verbosity in the configuration file of Pandora FMS):

実行すると、次のようなメッセージが表示されます。(Pandora FMS のログレベル設定により表示される情報は異なります)

Pandora FMS DB Tool 3.0-dev PS090930 Copyright (c) 2004-2008 Artica ST
This program is Free Software, licensed under the terms of GPL License v2
You can download latest versions and documentation at http://www.pandorafms.org
Pandora DB now initialized and running (PURGE=60 days, COMPACT=15 days, STEP=1) ... 

Starting at 2009/10/10 02:02:18
[PURGE] Deleting old event data (More than 60 days)... 
[PURGE] Deleting old data... 
[PURGE] Delete old data (string) ... 
[PURGE] Delete pending deleted modules (data table)...
[PURGE] Delete pending deleted modules (data string table)...
[PURGE] Delete pending deleted modules (data inc  table)...
[PURGE] Delete pending deleted modules (status, module table)...
[PURGE] Delete old session data 
[PURGE] Delete old data from SNMP Traps 
[PURGE] Deleting old access data (More than 24hr) 
[CHECKDB] Deleting non-init data... 
[CHECKDB] Checking database consistency (Missing status)... 
[CHECKDB] Checking database consistency (Missing module)... 
[CHECKDB] Deleting non-existing module 1189 in state table 
[CHECKDB] Deleting non-existing module 1190 in state table 
[COMPACT] Compacting data until 2009092502:02:18
Ending at 2009/10/10 02:02:31

メンテナンスツールの手動実行

It is possible to execute manually the maintenance tool once the script has been created. Its use is very easy. From a shell console, execute:

スクリプトを作成したら、メンテナンスツールを手動で実行することができます。使い方はとても簡単です。シェルコンソールから次のように実行します。

NOTE: in installed systems this could take hours. It is recommended to leave the process in second level .

注意: 稼働中のシステムでは時間がかかる場合があります。プロセスはバックグラウンドでの実行をお勧めします。

/usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server.conf

To execute manually the maintenance tool and leave it in second level, execute:

手動でメンテナンスツールをバックグラウンド実行するには、次のようにします。

nohup /usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server.conf

The process will take some time until it load throughly in second level. After, you could close the shell console window without problems, while the process will continue executing.

バックグラウンドでプロセスの実行には少々時間がかかります。プロセスの実行中でも、シェルこのソールを閉じることができます。

NOTE: in some installations the tool directory could change. The most common one is:

注意: インストールの状況によっては、ツールのディレクトリが変わります。ほとんどの場合は以下の通りです。

/usr/share/pandora_server/util/

In Pandora FMS previous versions, it could be find at:

Pandora FMS の以前のバージョンでは、以下にあります。

/usr/share/pandora/util/

It is very important that you make sure to use the current version of the tool, and not the one from a previous version. If you execute the program without arguments, it will show the tool version at the head of the message.

現在のバージョンのツールを利用し、以前のバージョンのものは利用しないことが重要です。プログラムを引数無しで実行すると、ツールのバージョンを表示します。

データベースバックアップ

A simple command mysqldump, will do a dump of the database contents.To restore data it will be necessary an empty database with the same name that the original one (usually Pandora).

mysqldump コマンドで、データベースをダンプすることができます。データをリストアするには、オリジナルと同じ名前の空のデータベース (通常は pandora) が必要です。

Doing the Backup

バックアップの実行

mysqldump -u root -p pandora > /backup/pandoradb_backup.sql

Restore the Backup

バックアップからのリストア

mysql -u root -p
create database pandora;
use pandora;
source /backup/pandoradb_backup.sql

Probably, it will be also necessary to create new permissions to the console user:

おそらく、ユーザの権限も以下のように設定する必要があります。

grant all privileges on pandora.* to pandora@localhost identified by 'mypassword';

If you want to do a complete backup of the system, do not forget to do a backup of the whole directory /etc/pandora, to keep the information of the configuration of the local agents and the servers.

システム全体のバックアップを行いたい場合は、エージェントとサーバの設定情報を保存するために、/etc/pandora ディレクトリ全体のバックアップも忘れないようにしてください。

It is important to emphasize that this ONLY do a backup/restoration of the database files.

上記は、データベースのみのバックアップとリストアであることに注意してください。

Pandora FMS のバックアップとリカバリ

There is an script in the Pandora FMS server distribution that is useful to do a backup and a complete restoration of all Pandora FMS.This script is though to do copies and restoration in systems where the server and the console are located in the same machine. If in your environment there are several components, then you should use the tool with the most adequate parameters for its use or modify them so they could be adapted to their circumstances.

Pandora FMS サーバの配布パッケージには、Pandora FMS 全体をバックアップ、リストアするのに便利なスクリプトがあります。このスクリプトは、サーバとコンソールがインストールされているサーバのコピーおよびリストアを行います。もし、それとは異なる環境の場合は、パラメータの調整か修正をして利用してください。

In order it could do its tasks, this script needs to be executed as root.

この処理を実行するには、スクリプトを root 権限で実行する必要があります。

This script is located at:

スクリプトは以下にあります。

/usr/share/pandora_server/util/pandora_backup.sh 

If we execute it without parameters, it will give us some help:

引数無しで実行すると、ヘルプを表示します。

Pandora FMS Command line backup tool. http://www.pandorafms.org
(c) 2009 Sancho Lerena <slerena@gmail.com>, Artica Soluciones Tecnologicas

Syntax:
		-c Path to Pandora FMS console, p.e: /srv/www/htdocs/pandora_console
		-d Destination path for backup file. p.e: /tmp
		-s Source filename for backup restore. p.e: /tmp/pandorafms
		-f Restore also files
		-q Quiet. No output message (used for scripts/cron)
 		-b No database backup/restore


Please BE SURE TO USE RESTORE (-s) option. This will OVERWRITE ALL your
PandoraFMS install, including files, configuration and data. Please backup first!

This script is designed to do security copies and restoration of the following components:

このスクリプトは、次のコンポーネントのコピーとリストアをするように設計されています。

  • Server Configuration File(s).
  • サーバ設定ファイル
  • Files waiting for execution, and also agent remote configuration files.
  • 処理待ちのファイルおよび、エージェントのリモート設定ファイル
  • Complete DB.
  • DB 全体
  • Complete WEB Console.
  • ウェブコンソール全体

Origin and Destination Options of the Copy

コピー元とコピー先オプション

This script obtains the credentials to have access to the DB directly from the WEB console configuration. Is because of this that you should go, with the -cparameter the complete path to the WEB console. This same parameter is used also to show it where it will find the WEB console to do its backup.

このスクリプトは、ウェブコンソールの設定ファイルに設定されている DB のアクセス情報を利用します。そのため、ウェブコンソールの設定ファイルのパスを -c オプションで指定する必要があります。 このパラメータは、ウェブコンソールのバックアップを取得するためにも利用されます。

The backup destination is specified with the -d parameter. In this path, it will leave the backup file compressed, with a name similar to pandorafms_backup_xxxxxxx.tar.gz.

パックアップは、-d オプションで指定します。バックアップファイルが pandorafms_backup_xxxxxxx.tar.gz というファイル名で圧縮されて置かれます。

The source origin of the restoration is the complete name and path of the backup generated file by this same tool.

オリジナルのリストア先は、このツールで生成されたバックアップファイルに保存された、名前とパスになります。

File Restoration, not only Data Restoration

ファイルのおよびデータのリストア

The -f option also allows to restore the files (overwriting the current ones) of a security copy, not restoring the data from the database. As overwriting the current configuration files could have serious consequences, it is necessary to use -f if we want to do a backup recovery and we want to it restore all the Pandora files (Console and Server).

-f オプションを指定することにより、ファイルおよびデータベースのデータをリストアすることができます。(同じファイルは上書きされます) ファイルが上書きされるため、問題が発生する可能性があります。-f オプションの利用は、Pandora の全ファイル (コンソールおよびサーバ) のバックアップからのリストアの時にのみ利用してください。

File Restoration, without Data

ファイルのリストア

Same as with the previous option, we could restore only the files, without dumping the data. To do it, use the -boption.

上記のオプションと同じですが、ファイルのみをリストアします。データはリストアしません。この場合は、-b オプションを利用します。

Data Restoration, without Files

データのリストア

It is the default option. For doing this, you will not have to use neither the -b option nor the -f option.

デフォルトのオプションです。これを行うには、-b および -f オプション共に指定しないでください。

利用例

Create backup

バックアップの作成

Execute as root:

root で以下を実行します。

/usr/share/pandora_server/util/pandora_backup.sh -c /var/www/pandora3 -d /tmp/ 

It will return something similar to this:

次のようなメッセージが表示されます。

Backup completed and placed in /tmp//pandorafms_backup_2009-10-10-01-35-31.tar.gz

This means that the backup is at /tmp//pandorafms_backup_2009-10-10-01-35-31.tar.gz

これは、バックアップが /tmp//pandorafms_backup_2009-10-10-01-35-31.tar.gz にできたことを意味します。

Restoring Backup

バックアップからのリストア

To restore the backup in an automatic way, you are supposed to have a console with the authentication credentials on the DDBB correctly defined.

自動でバックアップからリストアするために、コマンドラインからデータベースへアクセスできる権限が設定されていると仮定します。

Execute as root:

root 権限で次のように実行します。

/usr/share/pandora_server/util/pandora_backup.sh -c /var/www/pandora3 -d /tmp/ 

It will give back something similar to:

次のような表示がされます。

Detected Pandora FMS backup at /tmp/pandorafms_backup_2009-10-10-01-35-31.tar.gz, please wait...
Dropping current database
Restoring backup database
Restoring files and configuration
Done. Backup in /tmp/pandorafms_backup_2009-10-10-01-35-31.tar.gz restored

Restoring Backup in case of disaster

障害時におけるバックアップからのリストア

If you have lost the Pandora FMS console but you have a backup generated by this tool,then, first you will have to restore the console directory. For it, decompress manually its backup:

Pandora FMS コンソールが障害により異常状態になった場合、このツールでバックアップを取得していれば、コンソールをリストアすることができます。そのためには、次のようにバックアップファイルを手動で展開します。

cd /tmp
tar xvzf pandorafms_backup_2009-10-10-0

This will unpack your WEB console complete directory in /tmp. In the case of the generated backup of the previous example, it creates a directory named:

これより、ウェブコンソールのファイルが /tmp ディレクトリに展開されます。上記の例のバックアップの場合、次のようなディレクトリが作成されます。

/tmp/var/www/pandora3/

Copy the content of all this directory to to your web publication directory, that could change depending on the distribution you use:

このディレクトリ内の全てのファイルをウェブコンソールのディレクトリ (利用しているディストリビューションにより異なります) にコピーしてください。

cp -R var/www/pandora3 /var/www

Then restore the backup as usual.

以上でバックアップからリストアされ使えるようになります。

Pandora FMS サーバの手動起動・停止

To start and / or stop the server manually Pandora FMS is running the following in a console shell':

Pandora FMS サーバの手動での起動・停止は、コマンドラインから次のように実行します。

Stop daemon:

デーモンの停止:

/etc/init.d/pandora_server stop

Start daemon:

デーモンの起動:

/etc/init.d/pandora_server start

Restart daemon:

デーモンの再起動:

/etc/init.d/pandora_server restart

Pandora FMS の Watchdog 実装

In the repository there is a small script that is used as a "watchdog" (Watchdog). This script performs a monitoring Pandora (who monitors who monitored?). Thus we can perform a recovery operation (trying to lift Pandora), and if that fails, we can tell the event.

リポジトリには、"watchdog" として使える小さなスクリプトがあります。このスクリプトは Pandora をモニタリングします。Pandora がダウンした場合、それを起動させ、通知することができます。

/usr/bin/pandora_watchdog

#!/bin/bash
# Copyright (c) 2005-2012 Artica ST
# Author: Sancho Lerena <slerena@artica.es> 2009
# Licence: GPL2
#
# daemon_watchdog
#
# Generic watchdog to detect if a daemon is running. If cannot restart, execute
# a custom-user defined command to notify daemon is down and continues in
# standby (without notifying / checking) until daemon is alive again.

# Default configuration is for Pandora FMS Server daemon

# =====================================================================
# Configuration begins here. Please use "" if data contain blank spaces

export DAEMON_WATCHDOG=pandora_watchdog.sh
# DAEMON_WATCHDOG: Name of this script. Used to check if its running already

export DAEMON_CHECK="/usr/bin/pandora_server /etc/pandora/pandora_server.conf"
# DAEMON_CHECK: Daemon monitored, please use full path and parameters like
#               are shown doing a ps aux of ps -Alf

export DAEMON_RESTART="/etc/init.d/pandora_server restart"
# DAEMON_RESTART: Command to try to restart the daemon

export DAEMON_DEADWAIT=90
# DAEMON_DEADWAIT: Time this script checks after detect that
#                  daemon is down before to consider is really down. 

export DAEMON_ALERT="/usr/bin/pandora_alert"
# DAEMON_ALERT: Command/Script executed if after detecting daemon is down,
#               and waiting DAEMON_DEADWAIT, and daemon continues down.

export DAEMON_LOOP=7
# DAEMON_LOOP: Interval within daemon_wathdog checks if daemon is alive.
#              DO NOT use values under 3-5 seconds or could be CPU consuming.
#              NEVER NEVER NEVER use 0 value or gets 100% CPU!.

# Configuration stop here
# =====================================================================

# Check if another instance of this script

RUNNING_CHECK=`ps aux | grep "$DAEMON_WATCHDOG" | grep -v grep |wc -l`
if [ $RUNNING_CHECK -gt 2 ]
then
        echo "Aborting, seems that there are more '$DAEMON_WATCHDOG' running in this system"
        logger $DAEMON_WATCHDOG aborted execution because another watchdog seems to be running
        exit -1
fi


# This value always must be 0 at start. Do not alter
export DAEMON_STANDBY=0

# This function replace pidof, not working in the same way in different linux distros
function pidof_daemon () (
        # This sets COLUMNS to XXX chars, because if command is run
        # in a "strech" term, ps aux don't report more than COLUMNS
        # characters and this will not work.
        COLUMNS=300
        DAEMON_PID=`ps aux | grep "$DAEMON_CHECK" | grep -v grep | tail -1 | awk '{ print $2 }'`
        echo $DAEMON_PID
)

# Main script

if [ ! -f `echo $DAEMON_CHECK | awk '{ print $1 }'` ]
then
        echo "Daemon you want to check is not present in the system. Aborting watchdog"
        exit
fi

while [ 1 ]
do

        DAEMON_PID=`pidof_daemon`
        if [ -z "$DAEMON_PID" ]
        then

echo "Checkpoint #1 $DAEMON_PID "

                if [ $DAEMON_STANDBY == 0 ]
                then

                        # Daemon down, first detection
                        # Restart it !

                        logger $DAEMON_WATCHDOG restarting $DAEMON_CHECK
                        $DAEMON_RESTART 2> /dev/null > /dev/null

                        # Just WAIT another DAEMON_DEADWAIT before consider it DEAD

echo "Going to DAEMON_DEADEWAIT"

                        sleep $DAEMON_DEADWAIT
                        DAEMON_PID=`pidof_daemon`

                        if [ -z "$DAEMON_PID" ]
                        then

                                # Is dead and can't be restarted properly. Execute alert

echo "I cannot startup again the process"

                                logger $DAEMON_WATCHDOG $DAEMON_CHECK is dead, alerting !
                                $DAEMON_ALERT  2> /dev/null > /dev/null

                                # Watchdog process puts in STANDBY mode until process get alive again
                                logger $DAEMON_WATCHDOG "Entering in Stabdby mode"

                                DAEMON_STANDBY=1
                        fi
                fi
        else

echo "Checkpoint #1B $DAEMON_PID "

                DAEMON_STANDBY=0
        fi

        sleep $DAEMON_LOOP
done

/usr/bin/pandora_alert

This is the script that acts when the watchdog process cannot start the process that monitors (pandora). In our case, besides alert by SMS, it disables Tentacle.

このスクリプトは、watchdog プロセスがモニタリングしているプロセス (pandora) を起動できなかった場合に実行されます。我々の場合、SMS でアラートを発信し Tentacle を停止するようにしています。

There will be given rights with chmod 750 / usr / bin / pandora_alert

パーミッションは、chmod 750 /usr/bin/pandora_alert のように設定します。

#!/bin/bash
sendsms +34458474843 "Pandora FMS Server stopped and can't be started"
/etc/init.d/tentacle_serverd stop

Watchdog 起動

nohup /usr/bin/pandora_watchdog &

注意点

Having a watchdog running on the system can cause unpleasant consequences if we do not consider that there is a watchdog. If for example, we want to make a Pandora to disconnect maintenance, the watchdog will automatically rise again, so we will go "crazy" if we do not stop watchdog first.

watchdog が動作している場合は、それが動いているということを認識しておく必要があります。例えば、Pandora をメンテナンスのために停止したい場合でも、停止すると watchdog が自動的に再起動してしまいます。そのため、このような時は watchdog を先に停止しておく必要があります。

ヒストリデータベース

A history database is a database where old module data is moved to make the main Pandora FMS database more responsive for everyday operations. That data will still be available seamlessly to the Pandora FMS console when viewing reports, module charts etc.

ヒストリデータベースは、メインの Pandora FMS データベースの応答を良くするために、そこから古いモジュールデータを移動させ保存しておくためのものです。データは、レポートやモジュールグラフの参照時に Pandora FMS コンソールでシームレスに利用できます。

ヒストリデータベースの設定

To configure a historical database, it is necessary to have a new server in which to host it (different from the one of the main database). Once you have that server where MySQL is installed, follow these steps:

ヒストリデータベースを設定するには、それを格納する(メインのデータベースとは異なる)新たなサーバが必要です。MySQL をインストールしたサーバを準備したら、以下の手順を実行します。

  • Create the new history database.
  • 新たなヒストリデータベースを作成します。
[root@pandorafms ~]# mysql -u root -p
mysql> create database pandora_history;
  • Create the Pandora FMS database schema. You can use the script /var/www/html/pandora_console/pandoradb.sql included in Pandora FMS console, copying it to the historical database server:
  • Pandora FMS データベーススキーマを作成します。Pandora FMS コンソールと共に提供されている /var/www/html/pandora_console/pandoradb.sql が利用できます。それをヒストリデータベースサーバへコピーします。
cat pandoradb.sql | mysql -u user -p -D history_db
  • Grant permissions to a user which will be used from the Pandora FMS server and console to send and check historical data:
  • ヒストリデータベースにアクセスできるように Pandora FMS サーバとコンソールで利用するユーザのパーミッションを設定します。
GRANT ALL PRIVILEGES ON pandora_history.* TO 'user'@'%' IDENTIFIED BY 'password';
  • In Pandora FMS console, go to Setup> Setup> History database and configure the host, port, database, user and password to access the historical database.
  • Pandora FMS コンソールにて、設定(setup) -> ヒストリデータベース(History database) を選択し、データベースのホスト名、ポート番号、データベース名、ユーザ名、パスワードを入力します。


ファイル:History db.png


The last fields of this form (Days, step and delay) will define the way in which the data will be sent to the historical database, that is, the oldest data (those with more Days) will be moved to the historical database in blocks of made of rows (Step) waiting for seconds (Delay) between one block and the next to avoid overloads.

このフォームの最後のフィールド(Days, step, delay)は、どのデータをヒストリデータベースへ送るかを定義します。Days に指定した日より古いデータを、Step に指定した行ブロックごとにヒストリデータベースに移動します。高負荷になることを防ぐために、一つのブロックを処理したあとは、次の処理までに Delay に指定した時間待ちます。

In the same screen, it is also possible to decide whether to send the events with more Event days to the historical database, although it must be taken into account that including the events will considerably increase the growth rate of the historical database, and that these will only be consulted when generating reports, not in the event view.

同じ画面で、イベント日数(Event days) に指定するイベントの履歴をヒストリデータベースに送信するかどうかを設定することもできます。ただし、イベントを含めるとヒストリデータベースが大幅に大きくなることを考慮する必要があります。また、このデータはイベント表示ではなく、レポートの生成時にのみ参照されます。

Info.png

The historical database is a feature of the Enterprise version that uses the /usr/bin/pandora_db binary to transfer data


Info.png

ヒストリデータベースの機能は Enterprise 版の機能で、データを転送するのに /usr/bin/pandora_db バイナリを用います。


ヒストリデータベースの削除と圧縮設定

History database is supposed to contains "all history data", but if you want to delete old data, or compact them, you will need to execute pandora_db script with a "fake" configuration data, to let it think is the "normal" behaviour. To do this, you need to enter some data in your History Database.

ヒストリデータベースは、"過去の全データ" を保存することを想定しています。しかし、古いデータを削除したり圧縮したい場合は、pandora_db スクリプトを通常の DB に対する動作に見せかけて実行する必要があります。そのためには、ヒストリデータベースに何らかのデータが入っている必要があります。

First, you need to "recreate" a functional table values in tconfig, with useful values to be used by pandora_db tool. Use this SQL queries ON YOUR history database to create a minimal configuration for the behaviour of the pandora_db running against history database. You fist, need to connect your database, using mysql CLI tool.

最初に、pandora_db ツールによって利用できるように、tconfig テーブルを適切な値を入れた状態で用意する必要があります。pandora_db の実行に必要な最小限の設定を行うために、ヒストリデータベースに対して以下の SQL を実行します。まずは、mysql の CLI を利用して、データベースに接続する必要があります。

This is an example, replace values as you needed (but let history_db_enabled to zero):

以下が例です。値は必要に応じて書き換えてください。(ただし、history_db_enabled は 0 にしてください)

INSERT INTO `tconfig` VALUES (1,'days_purge','180');
INSERT INTO `tconfig` VALUES (2,'history_db_enabled','0');
INSERT INTO `tconfig` VALUES (3,'days_compact','120');
INSERT INTO `tconfig` VALUES (4,'step_compact','1');
INSERT INTO `tconfig` VALUES (5,'event_purge','180');
INSERT INTO `tconfig` VALUES (6,'string_purge','180');

This means data in history is stored for 6 months (starting from NOW), and compacted from 4th month. If you have 1 month of data in your "main" database, you will have a total of 6 months of data, because the last month is coming from the main database, and the other five from the history database. You can put any value here, there is no limit of data storage in history database. Just remember, history database MUST BE IN A DIFFERENT PHYSICAL SERVER, not in the same host/system where is the main database and/or running Pandora FMS server or console.

これは、ヒストリデータベースに(現在からさかのぼること) 6ヶ月間データを保存し、4ヶ月前のデータを圧縮することを意味します。メインのデータベースに 1ヶ月間のデータがあるとしても、トータルで 6ヶ月間のデータとなります。なぜなら、直近 1ヶ月のデータはメインデータベースから読まれ、それ以外はヒストリデータベースから読まれるためです。これらには任意の値を設定できます。ヒストリデータベースにはデータ量の上限はありません。ただし、ヒストリデータベースは、メインデータベースおよび Pandora FMS サーバやコンソールが動作しているマシンとは物理的に異なるマシンに配置しなければいけないことを理解してください。

Second, you need to create an aditional pandora_server.conf file, use this "small version" to create your own (replace the values for your history database values), name it /etc/pandora/pandora_server_history_db.conf :

次に、追加の pandora_server.conf ファイルを作成する必要があります。以下に示す簡単な例を利用して(各値は実際のヒストリデータベースに合わせて書き換えてください) /etc/pandora/pandora_server_history_db.conf として作成してください。

dbengine mysql
dbname pandora4_history
dbuser pandora4_history
dbpass 1234
dbhost 192.168.50.23
log_file /var/log/pandora/pandora_db_history.log


Now you can execute pandora_db tool against the "fake" configuration:

以上で、通常の DB に対する処理に見せかけた設定を使って pandora_db を実行することができます。

/usr/share/pandora_server/util/pandora_db.pl /etc/pandora/pandora_server_history_db.conf

This process SHOULD NOT affect your main operation because is running against a different database in a different server. The only possible delay should be if someone is trying to render a big ammount of data from history, that will take more time than usual.

この処理は、メインのデータベースには影響しません。なぜなら、異なるサーバの異なるデータベースに対して行っているためです。ただし、ヒストリデータベースにおいて大量のデータ処理をしようとしている場合には、通常よりも応答が遅くなる可能性があります。