差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン最新のリビジョン両方とも次のリビジョン | ||
ja:documentation:05_big_environments:09_pandorafms_engineering [2022/02/02 13:08] – [リアルタイムでのデータ圧縮] junichi | ja:documentation:05_big_environments:09_pandorafms_engineering [2023/11/14 06:22] – [Pandora FMS のデータベース設計] junichi | ||
---|---|---|---|
行 6: | 行 6: | ||
===== Pandora FMS の技術詳細 ===== | ===== Pandora FMS の技術詳細 ===== | ||
- | この補足資料では、いくつかの Pandora FMS の特別な機能および設計について説明します。Pandora FMS データベーススキーマなどのいくつかの技術的情報に対しては多くの説明が必要であり、ここに記載している内容はあくまでも概要です。 | + | This section explains some of the design principles and particularities of Pandora FMS. |
+ | |||
+ | この章では、いくつかの Pandora FMS の特別な機能および設計について説明します。 | ||
==== Pandora FMS のデータベース設計 ==== | ==== Pandora FMS のデータベース設計 ==== | ||
行 22: | 行 24: | ||
The current version of Pandora FMS implements a **data compression** in real time for each insertion. It also allows data compression based on **interpolation**. The [[: | The current version of Pandora FMS implements a **data compression** in real time for each insertion. It also allows data compression based on **interpolation**. The [[: | ||
- | 現在のバージョンの Pandora FMS では、データの挿入におけるリアルタイムでの**データ圧縮**を実装しています。それは、収集間隔に基づいたデータ圧縮を行います。また、[[: | + | 現在のバージョンの Pandora FMS では、データの挿入におけるリアルタイムでの**データ圧縮**を実装しています。それは、収集間隔に基づいたデータ圧縮を行います。また、[[: |
{{ : | {{ : | ||
行 73: | 行 75: | ||
=== データベースのメインテーブル === | === データベースのメインテーブル === | ||
- | <WRAP center round tip 60%> (2020年12月23日時点の) Pandora FMS データベース構造のより 詳細については、[[http:// | + | <WRAP center round tip 60%> |
+ | |||
+ | You may get more information about Pandora FMS database structure (as of April 18, 2020) by following [[https:// | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP center round tip 60%> (2020年4月18日時点の) Pandora FMS データベース構造のより 詳細については、[[http:// | ||
以下に、ER図および、Pandora FMS データベースの主なテーブルの詳細説明を示します。残りのテーブルについても簡単に説明しています。 | 以下に、ER図および、Pandora FMS データベースの主なテーブルの詳細説明を示します。残りのテーブルについても簡単に説明しています。 | ||
行 85: | 行 93: | ||
* //nombre//: エージェント名。(大文字・小文字を区別します) | * //nombre//: エージェント名。(大文字・小文字を区別します) | ||
* // | * // | ||
- | * //comentarios//: フリーテキスト。 | + | * //comments//: フリーテキスト。 |
* // | * // | ||
* // | * // | ||
行 95: | 行 103: | ||
* // | * // | ||
* // | * // | ||
+ | * //remote: // エージェントのリモート設定の状態です。有効であれば 1 です。 | ||
* // | * // | ||
* // | * // | ||
* // | * // | ||
* // | * // | ||
+ | * // | ||
* **tagente_datos**: | * **tagente_datos**: | ||
* **tagente_datos_inc**: | * **tagente_datos_inc**: | ||
行 108: | 行 118: | ||
* // | * // | ||
* //estado//: モジュールの状態で、0 正常、1 障害、2 警告、3 不明 です。 | * //estado//: モジュールの状態で、0 正常、1 障害、2 警告、3 不明 です。 | ||
- | * //id_agente//: モジュールに関連づけられたエージェント ID。(tagente に関連) | + | * //id_agent//: モジュールに関連づけられたエージェント ID。(tagente に関連) |
* // | * // | ||
* // | * // | ||
行 208: | 行 218: | ||
* **tconfig**: | * **tconfig**: | ||
* **tconfig_os**: | * **tconfig_os**: | ||
- | * **tevento**: イベントエントリー。重要度の値はアラートと同じです。 | + | * **tevent**: イベントエントリー。重要度の値はアラートと同じです。 |
- | * **tgrupo**: Pandora FMS に定義されているグループ。 | + | * **tgrup**: Pandora FMS に定義されているグループ。 |
- | * **tincidencia**: インシデントエントリー。 | + | * **tincidence**: インシデントエントリー。 |
* **tlanguage**: | * **tlanguage**: | ||
* **tlink**: コンソールの下の方のメニューに表示されるリンク。 | * **tlink**: コンソールの下の方のメニューに表示されるリンク。 | ||
行 217: | 行 227: | ||
* **tnetwork_profile**: | * **tnetwork_profile**: | ||
* **tnetwork_profile_component**: | * **tnetwork_profile_component**: | ||
- | * **tnota**: インシデントに関連づけられたメモ。 | + | * **tnote**: インシデントに関連づけられたメモ。 |
- | * **torigen**: インシデントの発生元リスト。 | + | * **tsource**: インシデントの発生元リスト。 |
- | * **tperfil**: コンソールで定義されたユーザプロファイル。 | + | * **tprofile**: コンソールで定義されたユーザプロファイル。 |
* **trecon_task**: | * **trecon_task**: | ||
* **tserver**: | * **tserver**: | ||
- | * **tsesion**: ユーザの操作記録。 | + | * **tsession**: ユーザの操作記録。 |
- | * **ttipo_modulo**: 取得元およびデータの種類に応じた、モジュールの種類。 | + | * **ttype_modulo**: 取得元およびデータの種類に応じた、モジュールの種類。 |
* **ttrap**: SNMP コンソールで受信したトラップ。 | * **ttrap**: SNMP コンソールで受信したトラップ。 | ||
* **tusuario**: | * **tusuario**: | ||
行 267: | 行 277: | ||
=== データの削減 === | === データの削減 === | ||
Pandora FMS は、データベースに保存する情報を削減するシステムを持っています。これは中小規模のシステム(250-500エージェント、100, | Pandora FMS は、データベースに保存する情報を削減するシステムを持っています。これは中小規模のシステム(250-500エージェント、100, | ||
+ | |||
+ | {{ : | ||
毎日実行される Pandora FMS データベースのメンテナンスで、古いデータを検索し削減します。この削減は、単純な線形補完を用いて行われます。つまり、一日に 10, | 毎日実行される Pandora FMS データベースのメンテナンスで、古いデータを検索し削減します。この削減は、単純な線形補完を用いて行われます。つまり、一日に 10, | ||
行 274: | 行 286: | ||
=== ヒストリデータベース === | === ヒストリデータベース === | ||
- | This is an Enterprise feature, and it is used to store old information that is not used in daily views, for example, one-month-old data. These data are automatically migrated to a different database that **must** be in a different server with a hard drive different to that of the main database. | + | {{: |
- | これは Enterprise 版の機能で、日々の参照には使われない古い情報を格納するために使われます。例えば、1ヶ月以上前のデータです。これらのデータは自動的に異なるデータベースにマイグレーションされます。このデータベースは、メインのデータベースとは異なるハードディスク、異なるサーバ上にあるべきです。 | + | {{: |
When a graph or report containing old data is shown, Pandora FMS will look for the first days in the main database, and when reaching the point when data are migrated to the history database, it will search there. Thanks to that, performance is optimized even when storing a high amount of information within the system. | When a graph or report containing old data is shown, Pandora FMS will look for the first days in the main database, and when reaching the point when data are migrated to the history database, it will search there. Thanks to that, performance is optimized even when storing a high amount of information within the system. | ||
行 284: | 行 296: | ||
これを設定するには、他のサーバにてヒストリデータベースの設定(Pandora FMS のデータベーススキーマをインポートし、データは入れる必要ありません)とメインの Pandora FMS サーバからのアクセスができるような設定を手動で行う必要があります。 | これを設定するには、他のサーバにてヒストリデータベースの設定(Pandora FMS のデータベーススキーマをインポートし、データは入れる必要ありません)とメインの Pandora FMS サーバからのアクセスができるような設定を手動で行う必要があります。 | ||
- | **セットアップ(Setup)** → **セットアップ(Setup)** → **ヒストリデータベース(Historical database)** へ行き、そこでヒストリデータベースへアクセスするための設定を行います。 | + | Go to **Setup** |
- | [[:wiki: | + | **セットアップ(Setup)** → **セットアップ(Setup)** → **ヒストリデータベース(Historical database)** へ行き、そこでヒストリデータベースへアクセスするための[[: |
- | 必要な設定項目について以下に説明します。 | + | {{ : |
- | + | ||
- | **Days** | + | |
- | + | ||
- | メインのデータベースに保存する最大日数。この日を超えると、データはヒストリデータベースへ移されます。デフォルトで30日がお勧めです。 | + | |
- | + | ||
- | **Rate** | + | |
- | + | ||
- | これはバッファのように動作するものです。データベースメンテナンススクリプトは、データベースから指定した XX 件読み出し、ヒストリデータベースへ入れます。また、メインのデータベースからそれを削除します。設定サイズにより時間がかかります。デフォルトで 1000がお勧めです。 | + | |
- | + | ||
- | **Delay** | + | |
- | + | ||
- | //delay// (秒)で設定したサイズを処理したのち、スクリプトが待つ時間を指定します。データベースのパフォーマンスが低い場合にロックを避けるのに便利です。1-5の間の値を指定してください。 | + | |
行 324: | 行 324: | ||
=== 状態はいつ変更されるのか === | === 状態はいつ変更されるのか === | ||
- | それぞれのモジュールには、警告や障害状態のしきい値の設定があります。これらのしきい値は、データの値によっていそれぞれの状態になるということを定義します。モジュールのデータがこれらのしきい値の範囲から外れれば、正常状態と認識されます。 | ||
- | それぞれのモジュールには、データを収集する間隔の設定もあります。データ収集の間隔はコンソールで確認されます。もし、モジュールが収集間隔の 2倍の期間データを収集できなかった場合、そのモジュールは不明状態となります。 | + | * Each module has '' |
+ | * These thresholds define its data values for which these status will be activated. | ||
+ | * If the module gives data out of these thresholds, then it will be considered to be in Normal status. | ||
+ | * Each module also has a time interval that will set the frequency with which it will get data. | ||
+ | * This interval will be taken into account by the console to collect data. | ||
+ | * If the module has not collected data for twice its interval, this module will be considered to be in '' | ||
+ | * Finally, if the module has alerts configured and any of them has been triggered but not validated, then the module will have the corresponding Triggered Alert status. | ||
- | 最後に、モジュールにアラート設定があり、アラートが発生し承諾されていなければ、モジュールはアラート発生状態となります。 | + | * それぞれのモジュールには、'' |
+ | * これらのしきい値は、データの値によっていそれぞれの状態になるということを定義します。 | ||
+ | * モジュールのデータがこれらのしきい値の範囲から外れれば、正常状態と認識されます。 | ||
+ | * それぞれのモジュールには、データを収集する間隔の設定もあります。 | ||
+ | * データ収集の間隔はコンソールで確認されます。 | ||
+ | * もし、モジュールが収集間隔の 2倍の期間データを収集できなかった場合、そのモジュールは不明状態となります。 | ||
+ | * 最後に、モジュールにアラート設定があり、アラートが発生し承諾されていなければ、モジュールはアラート発生状態となります。 | ||
=== 伝播と優先度 === | === 伝播と優先度 === | ||
Pandora の仕組においては、いくつかの要素は他に依存しています。たとえば、一つのエージェントにおけるモジュールや、一つのグループにおけるエージェントです。これらはまた、Pandora FMS エンタープライズポリシーに適用することができます。ポリシーは、個々のエージェントに割り当てられたもののように、いくつかのエージェントおよびモジュールを関連付けることができます。 | Pandora の仕組においては、いくつかの要素は他に依存しています。たとえば、一つのエージェントにおけるモジュールや、一つのグループにおけるエージェントです。これらはまた、Pandora FMS エンタープライズポリシーに適用することができます。ポリシーは、個々のエージェントに割り当てられたもののように、いくつかのエージェントおよびモジュールを関連付けることができます。 | ||
+ | |||
+ | {{ : | ||
この構造は、モジュールの状態を簡単に評価するには特に便利です。これにより、エージェント、グループ、およびポリシーの状態を仕組の中で伝播していくことができます。 | この構造は、モジュールの状態を簡単に評価するには特に便利です。これにより、エージェント、グループ、およびポリシーの状態を仕組の中で伝播していくことができます。 | ||
行 337: | 行 350: | ||
== エージェントがとりうる状態 == | == エージェントがとりうる状態 == | ||
エージェントの状態は、モジュールの状態の中で最も悪い状態を採用します。グループの状態は、それに属するエージェントの中で最も悪い状態を採用します。そして、ポリシーの状態も同様で、割り当てられたエージェントの最も悪い状態を採用します。 | エージェントの状態は、モジュールの状態の中で最も悪い状態を採用します。グループの状態は、それに属するエージェントの中で最も悪い状態を採用します。そして、ポリシーの状態も同様で、割り当てられたエージェントの最も悪い状態を採用します。 | ||
+ | |||
+ | {{ : | ||
これにより、たとえば、障害状態の一つのグループを見ることによって、そこに属する少なくとも一つのエージェントがそれと同じ状態であることがわかります。それを特定したら、上位レベルへ障害状態を伝播させる原因となったモジュールへと、細かいレベルへの情報へ掘り下げていくことができます。 | これにより、たとえば、障害状態の一つのグループを見ることによって、そこに属する少なくとも一つのエージェントがそれと同じ状態であることがわかります。それを特定したら、上位レベルへ障害状態を伝播させる原因となったモジュールへと、細かいレベルへの情報へ掘り下げていくことができます。 | ||
行 352: | 行 367: | ||
アラートが発生した場合、その状態は他よりも優先順位が高く、エージェントもこの状態となり、またこのエージェントが属するグループもこの状態となることがわかります。 | アラートが発生した場合、その状態は他よりも優先順位が高く、エージェントもこの状態となり、またこのエージェントが属するグループもこの状態となることがわかります。 | ||
+ | |||
+ | {{ : | ||
言い換えると、例えば一つのグループが正常状態であれば、そのグループの全エージェントは正常状態であり、全てのモジュールが正常状態であるといえます。 | 言い換えると、例えば一つのグループが正常状態であれば、そのグループの全エージェントは正常状態であり、全てのモジュールが正常状態であるといえます。 | ||
行 371: | 行 388: | ||
==== Pandora FMS グラフ ==== | ==== Pandora FMS グラフ ==== | ||
+ | |||
+ | [[https:// | ||
+ | |||
グラフは、Pandora FMS の実装において最も複雑なもののひとつです。なぜなら、DB からリアルタイムで情報を収集していて(rrdtool などの)外部のツールは利用していないためです。 | グラフは、Pandora FMS の実装において最も複雑なもののひとつです。なぜなら、DB からリアルタイムで情報を収集していて(rrdtool などの)外部のツールは利用していないためです。 | ||
+ | |||
+ | {{ : | ||
グラフにはいくつかの動きがあり、それはデータのタイプに依存します。 | グラフにはいくつかの動きがあり、それはデータのタイプに依存します。 |