====== ログの監視と収集 ====== {{indexmenu_n>9}} [[ja:documentation:start|Pandora FMS ドキュメント一覧に戻る]] ===== 概要 ===== Log monitoring in Pandora FMS is established in two different ways: Pandora FMS におけるログ監視には、以下の 2つの異なる手法があります。 - **Based on modules**: It represents logs in Pandora FMS as asynchronous monitors, being able to associate alerts to detected entries that meet a series of conditions preconfigured by the user. The modular representation of the logs allows: - Creating modules that count the occurrences of a regular expression in a log. - Obtaining the lines and context of the log messages. - **Based on combined display**: It allows the user to see in a single Console all the log information from multiple sources that is desired to be captured, organizing the information sequentially, using the timestamp in which the logs were processed. - **モジュールベース**: 非同期監視としの Pandora でログを表現します。ユーザにより事前設定された条件を満たすデータを検出した場合にアラートを関連付けることができます。 ログのモジュール表現では、以下を行うことができます: - ログの中で正規表現にマッチする数を数えるモジュールの作成 - ログメッセージの行および内容を取得 - **複合表示ベース**: キャプチャしたい複数の発生元のログからすべての情報を 1つのコンソールで表示し、ログが処理されたタイムスタンプを使用して情報を順番に整理できます。 Starting with version 7.0 NG 774, Pandora FMS incorporates OpenSearch to store log information. See also "[[:en:documentation:pandorafms:technical_annexes:38_opensearch_installation|OpenSearch installation and configuration]]". バージョン 7.0 NG 774 以降、Pandora FMS にはログ情報を保存するために OpenSearch が組み込まれています。"[[:ja:documentation:pandorafms:technical_annexes:38_opensearch_installation|OpenSearch のインストールと設定]]" もご確認ください。 ===== 動作の仕組み ===== * The logs analyzed by the [[:en:documentation:pandorafms:introduction:03_glossary|Software Agents]] (**eventlog** or text files), are forwarded to Pandora FMS server, in RAW form within the [[:en:documentation:pandorafms:introduction:03_glossary|XML]] agent report. * The Pandora FMS Data Server receives the agent's XML, which contains both monitoring and log information. * When the Data Server processes the XML data, it identifies the information in the logs, saving in the main database the references of the reporting agent and the source of the log and then automatically sending the information to OpenSearch. * Pandora FMS stores data in OpenSearch indexes, generating a unique index daily for each Pandora FMS instance. * Pandora FMS server has a maintenance task that deletes the indexes at the interval defined by the system administrator (by default, 30 days). * [[:ja:documentation:pandorafms:introduction:03_glossary#ソフトウエアエージェント|ソフトウエアエージェント]]で分析されたログ (**eventlog** またはテキストファイル) は、Pandora サーバへ転送されます。エージェントから送信される [[:ja:documentation:pandorafms:introduction:03_glossary#データファイルxml_データ|XML]] に (RAW) データとして含まれます。 * Pandora FMS データサーバは、エージェントから XML を受け取ります。そこには、監視とログの両方の情報が含まれています。 * データサーバが XML データを処理する時に、ログ情報を識別し、報告されたエージェントに関する情報やログのソースをプライマリデータベースに保存し、ログの保存には情報を自動的に OpenSearch に送信します。 * Pandora FMS はデータを OpenSearch インデックスに保存し、各 Pandora FMS インスタンスの日次インデックスを生成します。 * Pandora FMS サーバには、システム管理者が定義した間隔(デフォルトでは30日)でインデックスを削除するメンテナンスタスクがあります。 ===== ログ収集 ===== Starting with version 7.0 NG 774, Pandora FMS incorporates OpenSearch to store log information; first have said server before starting to collect logs. See also "[[:en:documentation:pandorafms:technical_annexes:38_opensearch_installation|OpenSearch installation and configuration]]". バージョン 7.0 NG 774 以降、Pandora FMS にはログ情報を保存するための OpenSearch が組み込まれています。ログの収集を開始する前に、まずこのサーバを用意してください。「[[:ja:documentation:pandorafms:technical_annexes:38_opensearch_installation|OpenSearch のインストールと設定]]」も参照してください。 ==== コンソールの設定 ==== To activate the log display system you must activate it, go to **Management → Settings → System Settings → Log collector**. Click **Activate Log Collector** and click **Update**. ログの表示を有効化するには、**管理(Management) → セットアップ(Setup) → システム設定 → ログ収集(Log collector)** へ行き、設定を有効化する必要があります。**ログ収集の有効化(Activate Log Collector)** をクリックし、**更新(Update)** をクリックします。 The following values must be configured in the **OpenSearch options** section: **OpenSearch オプション** セクションで次の値を設定する必要があります。 - **OpenSearch IP**: IP address of the OpenSearch server to use with Pandora FMS. - **Use https**: Must be enabled if the installed OpenSearch environment has HTTPS enabled for its connection. - **OpenSearch Port**: TCP port number. - **Days to purge old information**: Number of days before deleting the collected data. - **Basic authentication**: (optional) [[:en:documentation:pandorafms:technical_annexes:38_opensearch_installation#gestion_de_usuarios_opensearch|if basic authentication has been installed in OpenSearch (recommended)]] the user (**User**) and password (**Password**) must be entered. - **OpenSearch IP**: Pandora FMS で使用する OpenSearch サーバーの IP アドレス。 - **https の利用(Use https)**: インストールした OpenSearch 環境において接続に HTTPS が有効になっている場合は有効にする必要があります。 - **OpenSearch ポート(OpenSearch Port)**: TCP のポート番号。 - **古い情報を削除する日数(Days to purge old information)**: 収集したデータを削除するまでの日数。 - **基本認証(Basic authentication)**: (オプション) [[:ja:documentation:pandorafms:technical_annexes:38_opensearch_installation#opensearch_ユーザ管理|OpenSearch に基本認証が設定されている場合 (推奨)]]、ユーザ (**User**) とパスワード (**Password**) を入力する必要があります。 ==== エージェント設定 ==== Log collection is done through agents, both in the agent for Microsoft Windows® and in Unix® agents (Linux®, MacOS X®, Solaris®, HPUX®, AIX®, BSD®, etc.). In the case of MS Windows® agents, information can also be obtained from the operating system's event viewer, using the same filters as in the event viewer monitoring module. ログ収集は、Microsoft Windows® 用エージェントと Unix® エージェント (Linux®、MacOS X®、Solaris®、HPUX®、AIX®、BSD® など) の両方でエージェントを通じて行われます。MS Windows® エージェントの場合、イベントビューワ監視モジュールと同じフィルタを使用して、オペレーティングシステムのイベントビューワから情報を取得することもできます。 === MS Windows の例 === For version 774 or later, the lines that appear under ''Logs extraction'' must be uncommented: バージョン 774 以降では、''Logs extraction'' の下の行のコメントを外す必要があります。 # Log extraction #module_begin #module_name X_Server_log #module_description Logs extraction module #module_type log #module_regexp C:\server\logs\xserver.log #module_pattern .* #module_end For more information about the description of log type modules, check the following section referring to [[:en:documentation:pandorafms:installation:05_configuration_agents|Specific directives]]. ログタイプモジュールの説明の詳細については、[[:ja:documentation:pandorafms:installation:05_configuration_agents|特定のディレクティブ]] を参照して次のセクションを確認してください。 module_type log By defining this type of tag, ''module_type log'', it is indicated that it must **not** store in the database, but rather it must be sent to the log collector. Any module with this type of Data will be sent to the collector, as long as it is enabled: otherwise the information will be discarded. このタイプのタグ ''module_type log'' を定義すると、データベースに保存するのではなく、ログコレクターに送信する指定になります。このタイプのデータを持つモジュールは、有効になっている場合はコレクターに送信されます。そうでない場合は、情報は破棄されます。 For versions prior to 774: Starting with version 750, this action can be performed using the [[:en:documentation:pandorafms:monitoring:02_operations|agent plugins]] by activating the Advanced option. 774 より前のバージョンの場合: バージョン 750 以降では、詳細オプションを有効にすることで、[[:ja:documentation:pandorafms:monitoring:02_operations|エージェント プラグイン]] を使用してこのアクションを実行できます。 Executions of the type shown below may be carried out: 以下に示すタイプの処理が実行されます。 **logchannel module** **logchannel モジュール** module_begin module_name MyEvent module_type log module_logchannel module_source module_eventtype module_eventcode module_pattern module_description module_end **logevent module** **logevent モジュール** module_begin module_name Eventlog_System module_type log module_logevent module_source System module_end **regexp module** **regexp モジュール** module_begin module_name PandoraAgent_log module_type log module_regexp <%PROGRAMFILES%>\pandora_agent\pandora_agent.log module_description This module will return all lines from the specified logfile module_pattern .* module_end === Unix システムの例 === For version 774 or later, the lines that appear under ''Logs extraction'' must be //uncommented//: バージョン 774 以降では、''Logs extraction'' の下の行を //コメント解除// する必要があります。 # Log extraction #module_begin #module_name Syslog #module_description Logs extraction module #module_type log #module_regexp /var/log/logfile.log #module_pattern .* #module_end For more information about the description of log type modules check the following section referring to [[:en:documentation:pandorafms:installation:05_configuration_agents|Specific directives]]. ログタイプモジュールの説明の詳細については、[[:ja:documentation:pandorafms:installation:05_configuration_agents|特定のディレクティブ]] を参照して次のセクションを確認してください。 module_type log By defining this type of tag, ''module_type log'', it is indicated that it must **not** be stored in the database, but rather that it must be sent to the log collector. Any module with this type of data will be sent to the collector, as long as it is enabled: otherwise the information will be discarded. このタイプのタグ ''module_type log'' を定義すると、データベースに保存するのではなく、ログコレクターに送信する指定になります。このタイプのデータを持つモジュールは、有効になっている場合はコレクターに送信されます。そうでない場合は、情報は破棄されます。 For versions earlier than 744: 744 より前のバージョンの場合: module_plugin grep_log_module /var/log/messages Syslog \.\* Similar to the log parsing plugin (**grep_log**), the **grep_log_module** plugin sends the processed log information to the Log Collector with the name "Syslog" as the source. It uses the regular expression ''\.\*'' (in this case "everything") as a pattern when choosing which lines to send and which not to send. ログ解析プラグイン (**grep_log**) と同様に、**grep_log_module** プラグインは、処理されたログ情報を、ソースとして "Syslog" という名前のログコレクターに送信します。送信する行と送信しない行を選択するときに、正規表現 ''\.\*'' (この場合は「すべて」) をパターンとして使用します。 ==== Pandora FMS Syslog サーバ ==== This component allows Pandora FMS to analyze the **syslog** of the machine where it is located, analyzing its content and storing the references in the corresponding OpenSearch server. このコンポーネントにより、Pandora FMS は、それが配置されているマシンの **syslog** を分析し、その内容を対応する OpenSearch サーバに保存できるようになります。 [[https://www.rsyslog.com/|https://www.rsyslog.com/]] The main advantage of Syslog Server is to complement log unification. Supported by Syslog Server's export features from Linux® and Unix® environments, Syslog Server allows querying logs regardless of their source, searching in a single common point (Pandora FMS console log viewer). Syslog サーバの主な利点は、ログの統合を補完することです。Syslog サーバの Linux® および Unix® 環境からのエクスポート機能によってサポートされているため、Syslog サーバでは、ソースに関係なくログを照会し、単一の共通ポイント (Pandora FMS コンソールログビューア) で検索できます。 The installation of Syslog Server 8.2102 must be performed on both the client and the server: Syslog サーバ 8.2102 のインストールは、クライアントとサーバの両方で実行する必要があります。 dnf install rsyslog Access the configuration file ''/etc/rsyslog.conf'' to enable **TCP** and **UDP** input. 設定ファイル ''/etc/rsyslog.conf'' にアクセスして、**TCP** および **UDP** 入力を有効にします。 (...) # Provides UDP syslog reception module(load="imudp") input(type="imudp" port="514") # Provides TCP syslog reception module(load="imtcp") input(type="imtcp" port="514") (...) Restart the **rsyslog** service. Once the service is available, verify that port ''514'' is accessible with: **rsyslog** サービスを再起動します。サービスが利用可能になったら、次のコマンドでポート ''514'' にアクセスできることを確認します。 netstat -ltnp **On the client** it is configured so that it can send logs to the Syslog Server, access **rsyslog** ''/etc/rsyslog.conf'' . Locate and enable the line that allows you to configure the remote host (change ''remote-host'' to the server's IP address): **クライアント側** では、Syslog サーバにログを送信できるように **rsyslog** を設定します。''/etc/rsyslog.conf'' にてリモートホストを設定する行を見つけて有効にします (''remote-host'' をサーバの IP アドレスに変更します)。 action(type="omfwd Target="remote-host" Port="514" Protocol="tcp") The size of the logs received by **rsyslog** is 8 kilobytes by default. If larger logs are received, new entries are added with the remaining content until the complete log is received. These new entries do not contain the name of the host that sent the log, so this behavior can cause both new unwanted log sources and new agents to be created in the console. **To avoid this,** it is recommended to increase the size of the logs received by adding the following line: **rsyslog** が受信するログのサイズは、デフォルトでは 8 キロバイトです。これより大きなログを受信すると、完全なログが受信されるまで、残りのコンテンツを含む新しいエントリが追加されます。これらの新しいエントリには、ログを送信したホストの名前が含まれていないため、この動作により、コンソールに新しい不要なログソースと新しいエージェントの両方が作成されることがあります。**これを回避するには**、次の行を追加して、受信するログのサイズを増やすことをお勧めします。 $MaxMessageSize 512k Save the file and exit the text editor. ファイルを保存してテキストエディタを終了します。 Sending logs generates a container agent with the client's name, so it is recommended to create the agents with “**alias as name**” making it match the client's hostname, thus avoiding duplicity in agents. ログを送信すると、クライアントの名前を持つコンテナエージェントが生成されるため、エージェントの重複を避けるために、クライアントのホスト名と一致する「**別名**」でエージェントを作成することをお勧めします。 To activate this feature in Pandora FMS Server, enable the [[:en:documentation:pandorafms:installation:04_configuration#syslogserver|following content]] in ''pandora_server.conf'' file: Pandora FMS サーバでこの機能を有効にするには、''pandora_server.conf'' ファイルで [[:ja:documentation:pandorafms:installation:04_configuration#syslogserver|次の内容]] を有効にします。 # Enable (1) or disable (0) the Pandora FMS Syslog Server syslogserver 1 # Full path to syslog's output file. syslog_file /var/log/messages # Number of threads for the Syslog Server syslog_threads 2 # Maximum number of lines queued by the Syslog Server's syslog_max 65535 Remember that you need to modify the configuration of your device so that logs are sent to Pandora FMS server. ログが Pandora FMS サーバに送信されるようにデバイスの設定を変更する必要があることに注意してください。 === PFMS サーバレベルでのフィルタ === On Pandora FMS server, using the token [[:en:documentation:pandorafms:installation:04_configuration#syslog_whitelist|syslog_whitelist]], you may admit only logs that match a regular expression or **regexp**, which is case-sensitive (e.g. ''windows'' is not the same as ''Windows'') **and discard everything else**. Pandora FMS サーバでは、トークン [[:ja:documentation:pandorafms:installation:04_configuration#syslog_whitelist|syslog_whitelist]] を使用して、大文字と小文字を区別する正規表現または **regexp** に一致するログのみを 許可 し (たとえば、''windows'' は ''Windows'' と同じではありません)、**それ以外を破棄** することができます。 With the token [[:en:documentation:pandorafms:installation:04_configuration#syslog_blacklist|syslog_blacklist]] you may deny logs that match the set **regexp** (**and let everything else in**). トークン [[:ja:documentation:pandorafms:installation:04_configuration#syslog_blacklist|syslog_blacklist]] を使用すると、設定された **regexp** に一致するログを 拒否 することができます (**その他はすべて許可**)。 **Both tokens are disabled by default**. **両方のトークンはデフォルトで無効になっています**。 * **syslog_whitelist**: By activating this tokenl only logs that comply with the **regexp **will be accepted and the rest will be discarded. * If this token is activated and you have the default filter ''.*'', everything will be accepted. * **Important: If said token is activated WITHOUT regexp, NOTHING will be admitted**. * Filtering of allowed keywords is done first, this reduces the work for the next step. * **syslog_blacklist**: Placing a **regexp** will discard everything that complies with it (if this token is activated but left WITHOUT **regexp**, NOTHING will be blocked.). * Filtering by **syslog_blacklist** is done last. * **syslog_whitelist**: このトークンを有効にすると、**regexp** に準拠するログのみが受け入れられ、残りは破棄されます。 * このトークンが有効化され、デフォルトのフィルタ ''.*'' が設定されている場合は、すべてが受け入れられます。 * **重要: 上記のトークンが正規表現なしで有効化されると、何も許可されません**。 * 許可されたキーワードのフィルタリングが最初に実行されるため、次のステップの作業が削減されます。 * **syslog_blacklist**: **regexp** を配置すると、それに準拠するすべてのものが破棄されます (このトークンが有効化されていても、**regexp** がない状態の場合は、何もブロックされません)。 * **syslog_blacklist** によるフィルタリングは最後に行われます。 ===== OpenSearch インタフェース ===== NG version 774 or later. バージョン NG 774 以降 ===== 表示と検索 ===== In a log collection tool, two features are mainly of interest: being able to search for information - filtering by date, data sources and/or keywords, etc. - and being able to see that information (menu **Operation** → **Monitoring** → **Log viewer**) drawn in occurrences per time unit. ログ収集ツールでは、主に 2 つの機能が重要です。情報の検索機能 (日付、データソース、キーワードなどでフィルタリング) と、時間単位ごとの発生回数で描画された情報の表示機能 (メニュー **操作(Operation)** → **モニタリング(Monitoring)** → **ログビューア(Log viewer)**) です。 The most important -and useful- field will be the search string to be entered in the **Search** text box in combination with the three available search types (**Search mode**): 最も重要かつ便利なフィールドは、**検索(Search)** テキストボックスに入力する検索文字列と、使用可能な 3 つの検索タイプ (**検索モード(Search mode)**) の組み合わせです。 * **Exact match**: Literal string search, the log **contains** an exact match. * **All words**: Search **that contains all** the indicated words, regardless of the order in the same log line. * **Any word**: Search **that contains any** of the indicated words, regardless of the order. * If you check the option to see the context of the filtered content, you will get an overview of the situation with information from other log lines related to the search. * **完全一致(Exact match)**: リテラル文字列検索。ログには完全一致が **含まれます**。 * **すべての単語(All words)**: 同じログ行内の順序に関係なく、指定された単語を**すべて**含む検索を行います。 * **任意の単語(Any word)**: 順序に関係なく、指定された単語の **いずれか** を含むものを検索します。 * フィルタリングされたコンテンツのコンテキストを表示するオプションをオンにすると、検索に関連する他のログ行の情報とともに状況の概要が表示されます。 ==== 高度な表示と検索 ==== With this feature you may display log entries graphically, classifying the information based on **data capture models**. この機能を使用すると、**データキャプチャモデル** に基づいて情報を分類し、ログエントリをグラフィカルに表示できます。 These data capture models are basically regular expressions and identifiers that allow you to parse data sources and display them as a graph. これらのデータキャプチャモデルは基本的に、データソースを解析してグラフとして表示できる正規表現と識別子です。 To access advanced options click on **Advanced options**. A form will be displayed where you may choose the type of results view: 高度なオプションにアクセスするには、**高度なオプション(Advanced options)** をクリックします。結果の表示タイプを選択できるフォームが表示されます。 * Show log entries (plain text). * Show log graph. * Using the display log graph option (**Display mode**) you can select the capture model (**Use capture model**). * The default model, Apache log model, offers the possibility of processing or parsing Apache logs in standard format ([[https://httpd.apache.org/docs/2.4/en/logs.html#access-log|access_log]]), being able to retrieve comparative graphs of response time, grouping by page visited and response code: * You may either click edit or create to make a new capture model. * ログエントリを表示します(プレーンテキスト)。 * ロググラフを表示します。 * ロググラフの表示オプション (**表示モード**) を使用して、キャプチャモデル (**キャプチャモデルの使用(Use capture model)**) を選択できます。 * デフォルトモデルである Apache ログモデルでは、Apache ログを標準形式 ([[https://httpd.apache.org/docs/2.4/en/logs.html#access-log|access_log]]) で処理または解析し、応答時間の比較グラフを取得したり、アクセスしたページと応答コード別にグループ化したりできます。 * 新しいキャプチャ モデルを作成するには、[編集] または [作成] をクリックします。 ==== 共通フィルタ ==== Version 771 or later バージョン 771 以上 Through this option you may save frequently used filtering preferences, thus creating a list of frequent filters. When you have configured all the filter values, click **Save filter**, assign a name and click **Save**. At any other time you may load these preferences using the **Load filter** button, then download the list of saved filters, select one of them and click **Load filter**. このオプションを使用すると、頻繁に使用するフィルタリング設定を保存して、頻繁に使用するフィルタのリストを作成できます。すべてのフィルタ値を設定したら、**フィルタを保存(Save filter)** をクリックし、名前を割り当てて **保存(Save)** をクリックします。他のときはいつでも、**フィルタ読み込み(Load filter)** ボタンを使用してこれらの設定を読み込み、保存したフィルタのリストをダウンロードして、そのうちの 1 つを選択して **フィルタ読み込み(Load filter)** をクリックできます。 {{ :wiki:pfms-monitoring-log_viewer-frequently_filters.png }} ==== お気に入りアイテムとして保存されたフィルタ ==== Version 770 or later. バージョン 770 以上 Using the favorites system in PFMS you may save a shortcut for the **Log viewer** with filtering preferences by clicking the star icon in the section title. PFMS のお気に入りシステムを使用すると、セクションタイトルの星アイコンをクリックして、フィルタリング設定を含む **ログビューワ** のショートカットを保存できます。 {{ :wiki:pfms-menu-operation-favorite-log_viewer.png }} ===== エージェント表示でのログソース ===== Starting with version 749 of Pandora FMS, a box called **Log sources status** has been added to the Agent View, in which the date of the last update of the logs by that agent will appear. When you click on the **Review** magnifying glass icon, you will be redirected to the [[:en:documentation:pandorafms:command_center:03_installation#log_viewer|Log Viewer]] view filtered by that log. Pandora FMS バージョン 749 以降、**ログソース状態** と呼ばれるボックスがエージェント表示に追加され、そのエージェントによる最後のログ更新の日付が表示されます。虫眼鏡のアイコンをクリックすると、そのログにフィルタした**[[:ja:documentation:pandorafms:command_center:03_installation#ログビューワ|ログビューワ]]**表示にリダイレクトされます。 Version 774 or later: By default the data shown in both views is limited to the last 24 hours, and can be changed as needed. バージョン 774 以降: デフォルトでは、両方のビューに表示されるデータは過去 24 時間に制限されていますが、必要に応じて変更できます。 [[ja:documentation:start|Pandora FMS ドキュメント一覧に戻る]] ===== (OBSOLETE) ===== ===== サーバの必要条件 ===== It is recommended to distribute Pandora, FMS Server and Elasticsearch in independent servers. Pandora FMS サーバと Elasticsearch は別々のサーバに展開することをお勧めします。 * Rocky Linux 8 or RHEL 8. * At least 4 GB of RAM, although 6 GB of RAM are recommended for each Elasticsearch instance. * Disable SWAP on the node(s) where Elasticsearch is located. * At least 2 CPU cores. * At least 20 GB of disk space for the system. * At least 50GB of disk space for Elasticsearch data (the amount can be different depending on the amount of data to be stored). Elasticsearch disk usage is very intensive, so the faster the read and write speed, **the better the performance of the environment**. * Connectivity from Pandora FMS server to Elasticsearch API (port 9200/TCP by default). * Rocky Linux 8 または RHEL 8。 * 最低 4GB のメモリ、ただし ElasticSearch インスタンスでは、6GB のメモリを推奨します。 * Elastic が動作するサーバでの SWAP の無効化。 * 最低 2 CPUコア。 * 最低 20GB のシステムディスク空き領域。 * 最低 50GB の ElasticSearch データディスク空き領域(保存されるデータの量に応じて、異なる場合があります)。 Elasticsearch のディスク使用量は非常に多いため、読み取りと書き込みの速度が速いほど、**環境のパフォーマンスが向上します**。 * Pandora FMS サーバから、Elasticsearch API (デフォルトポートは 9200/TCP) への接続性。 With a single node environment with these characteristics, up to 1 GB of data can be stored daily and stored for the default time of 8 days. 上記の最低条件のシングルノード環境では、毎日最大 1 GB のデータを保存し、デフォルトで 8日間保存できます。 In the case of requiring greater data resilience and fault tolerance, it will be necessary to configure an Elasticsearch cluster (minimum 3 nodes to guarantee data integrity). When moving to a cluster environment it is also possible to distribute the load among the nodes, doubling (in the case of 3 nodes) the processing capacity of the environment. **A load balancing system will be necessary** if you want to attack with the //different nodes simultaneously//. より高いデータ復元力とフォールトトレランスが必要な場合は、Elasticsearch クラスターを構成する必要があります(データの整合性を保証するために最低 3つのノード)。 クラスタ環境に移行する場合、ノード間で負荷を分散し、環境の処理能力を 2倍(3ノードの場合)にすることもできます。 //異なるノード//で同時に処理したい場合は**負荷分散システムが必要になります**。 ===== Elasticsearch のインストールと設定 ===== Elasticsearch official documentation: Elasticsearch の公式ドキュメントは以下にあります。 * [[https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html|https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html]] ==== インストール ==== For Rocky Linux 8 it is recommended to install using the RPM package, it is a single package that contains everything needed to install the Elasticsearch database. Rocky Linux 8 の場合、RPM パッケージを使用してインストールすることをお勧めします。これは、Elasticsearch データベースのインストールに必要なものすべてを含んだ単一のパッケージです。 For download go to [[https://www.elastic.co/downloads/elasticsearch|https://www.elastic.co/downloads/elasticsearch]] and select ''Linux x86_64'' ( AMD® or Intel® 64 bits processors). ダウンロードには、[[https://www.elastic.co/downloads/elasticsearch|https://www.elastic.co/downloads/elasticsearch]] へ行き、''Linux x86_64'' ( AMD® または Intel® 64 ビットプロセッサ) を選択します。 Once you have downloaded the package, you must upload it to the server where you will install Eleasticsearch, go to that directory and run with sufficient rights: パッケージをダウンロードしたら、Eleasticsearch をインストールするサーバにアップロードし、そのディレクトリに移動して、必要な権限を持ったユーザで次のように実行します。 dnf install ./downloaded_packet.rpm You will get an output similar to: 次のような出力が表示されます。 {{ :wiki:pfms-rmp_-i_elasticsearch-8.2.0-x86_64.rmp.png }} To verify that the service was installed correctly you can run the command: サービスが正しくインストールされたことを確認するには、次のコマンドを実行します。 systemctl status elasticsearch.service You will get an output similar to: 次のような出力が表示されます。 {{ :wiki:pfms-systemctl_status_elasticsearch.service-dead.png }} Note that the Elasticsearch service is inactive. Elasticsearch サービスが無効になっていることに注意してください。 ==== ノードの設定 ==== \\ You must first edit the configuration file\\ ''/etc/elasticsearch/elasticsearch.yml'' \\ **and then start the Elasticsearch service.** \\ \\ 最初に、設定ファイル ''/etc/elasticsearch/elasticsearch.yml'' を編集し、**Elasticsearch サービスを起動**する必要があります。 This file contains the configuration of all the parameters of the Elasticsearch service, see the official documentation for more information: このファイルには、Elasticsearch サービスのすべてのパラメータ設定が含まれています。詳細については、公式ドキュメントを参照してください。 * [[https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html|https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html]] Next, the minimum configurations required to start the service and its use with Pandora FMS will be described. 次に、サービスを開始するために必要最小限の設定と、Pandora FMS での使用について説明します。 * Set the port number, data location and location of the event log file: * ポート番号、データの場所、イベントログファイルの場所を設定します: # ---------------------------------- Network ----------------------------------- # Set a custom port for HTTP: http.port: 9200 # ----------------------------------- Paths ------------------------------------ # Path to directory where to store the data (separate multiple locations by a comma): path.data: /var/lib/elastic # Path to log files: path.logs: /var/log/elastic * Configure ''xpack'': * ''xpack'' を設定します: xpack.security.enabled: false xpack.security.enrollment.enabled: false {{ :wiki:pfms-eleasctisearch-xpack.security.enabled_false-xpack.security.enrollment.enabled_false.png }} * //[[:en:documentation:01_understanding:03_glossary#commenting_out_or_uncommenting_a_parameter|Comment]]// this lines: * この行を[[:ja:documentation:01_understanding:03_glossary#commenting_out_or_uncommenting_a_parameter|コメントアウト]]します。 #http.host: [_local_] #transport.host: [_local_] It will also be necessary //uncomment// and define the following lines: また、以下の行の //コメントを外し//、次のように定義する必要があります。 cluster.name: pandorafms node.name: ${HOSTNAME} network.host: 0.0.0.0 **cluster.name** This will be the name of the group or cluster. これは、グループまたはクラスタの名前です。 **node.name** To name the node using the ''${HOSTNAME}'' system variable, it will automatically take the name of the host. システムの環境変数 ''${HOSTNAME}'' を使っているので、ホスト名が自動的に利用されます。 **network.host** For ''network.host'' value ''0.0.0.0'' let Elasticsearch "hear" in all Network Interface Card (NIC), //set a specific value for use a specifis //NIC//.// ''network.host'' に ''0.0.0.0'' を指定すると Elasticsearch は全ネットワークインタフェース(NIC)で待ち受けます。//特定の NIC を指定する場合は、特定の値を指定します。// In case of working with a cluster you need to complete the ''discovery.seed_hosts'' (see "[[:es:quickguides:elasticsearch_cluster|Configuring a cluster of Elasticsearch servers]]" for more information): クラスターを使用する場合は、''discovery.seed_hosts'' を設定する必要があります(詳細については、[[:ja:quickguides:elasticsearch_cluster| Elasticsearch サーバのクラスターの構成]] を参照してください): discover.seed_hosts : ["ip:port", "ip", "ip"] Or (format example): または(フォーマット例): discovery.seed_hosts: - 192.168.1.10:9300 - 192.168.1.11 - seeds.mydomain.com \\ In the most recent versions of Elasticsearch the memory management of the Java® virtual machine is done automatically and it is recommended to let it be managed this way in production environments, **so it is unnecessary** to modify the values of the Elasticsearch JVM. \\ \\ Elasticsearch の最新バージョンでは、Java® 仮想マシンのメモリ管理は自動的に行われるため、本番環境ではこれを利用することをお勧めします。したがって、Elasticsearch の JVM の値を変更する**必要はありません**。 Once finished, it will be necessary to execute: 完了したら、以下を実行します: systemctl start elasticsearch.service Wait a few moments while Elasticsearch starts, be patient. The command to query the status is: Elasticsearch が起動するまでしばらくお待ちください。ステータスを照会するコマンドは次のとおりです。 systemctl status elasticsearch.service You will see something similar to this: 次のような出力が見られます。 {{ :wiki:pfms-systemctl_status_elasticsearch.service.png }} If the service fails to start, check the logs located in ''/var/log/elastic/'' (in this case the file ''pandorafms.log'' //or the name given to the node//). サービスの開始に失敗した場合は、''/var/log/elastic/'' にあるログ(この場合はファイル ''pandorafms.log'' //またはノードに付けられた名前//)を確認してください。 To test the installation of Elasticsearch run the following command in a terminal window: Elasticsearch のインストールをテストするには、ターミナルウィンドウで次のコマンドを実行します。 curl -q http://{IP}:9200/ Replace ''{IP}'' with the IP address or URL of the installed Elasticsearch. ''{IP}'' をインストールされている Elasticsearch の IP アドレスまたは URL に置き換えます。 You will receive a response similar to the following: 次のような応答が得られます。 { "name" : "3743885b95f9", "cluster_name" : "docker-cluster", "cluster_uuid" : "7oJV9hXqRwOIZVPBRbWIYw", "version" : { "number" : "7.6.2", "build_flavor" : "default", "build_type" : "docker", "build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f", "build_date" : "2020-03-26T06:34:37.794943Z", "build_snapshot" : false, "lucene_version" : "8.4.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" } It is recommended to visit the Elasticsearch best practices link for production environments: 本番環境に向けては、Elasticsearch のベストプラクティスを参照することをお勧めします。 * [[https://www.elastic.co/guide/en/elasticsearch/reference/current/system-config.html#dev-vs-prod|https://www.elastic.co/guide/en/elasticsearch/reference/current/system-config.html#dev-vs-prod]] === Elasticsearch クラスタ設定 === * The minimum size of an Elasticsearch cluster is 3 nodes and it must always grow in odd numbers in order to make use of the //quorum// system and guarantee data integrity. * Ensure that you have connectivity between all 3 nodes and that ports 9200 and 9300 are accessible between each and every node. * Elasticsearch クラスターの最小サイズは 3ノードであり、//quorum// システムを利用してデータの整合性を保証するには、常に奇数で増やす必要があります。 * 3つのノードすべての間で通信が可能であり、各ノード間でポート 9200 および 9300 へアクセスできることを確認してください。 Remember to configure the firewall of each node to allow connection through these port numbers. これらのポート番号を介した接続を許可するように、各ノードのファイアウォールの設定を忘れないでください。 Stop the Elasticsearch service on each and every node: 全ノードの Elasticsearch サービスを停止します。 systemctl stop elasticsearch.service Modify the following lines in the configuration file ''/etc/elasticsearch/elasticsearch.yml'' : 設定ファイル ''/etc/elasticsearch/elasticsearch.yml'' の以下の行を編集します。 #discovery.seed_hosts: ["host1", "host2"] #cluster.initial_master_nodes: ["host1", "host2"] //[[:en:documentation:01_understanding:03_glossary#commenting_out_or_uncommenting_a_parameter|Uncomment]]//the lines and add the IP addresses or URLs of each node: 該当行を //[[:ja:documentation:01_understanding:03_glossary#パラメータのコメントアウトとアンコメント|コメントアウト]]// し、各ノードの IP アドレスまたは URL を追加します。 discovery.seed_hosts: ["host1", "host2", "host3"] cluster.initial_master_nodes: ["host1", "host2", "host3"] Example with IP addresses: IP アドレスでの例: discovery.seed_hosts: ["172.42.42.101", "172.42.42.102", "172.42.42.103"] cluster.initial_master_nodes: ["172.42.42.101", "172.42.42.102", "172.42.42.103"] Make sure that the line ''cluster.initial_master_nodes'' is defined only once in the configuration file, **in some cases the same line appears in two different blocks of the same file.** ''cluster.initial_master_nodes'' の行は設定ファイル内で 1回のみ定義されていることを確認してください。**場合によっては、同じ行が同じファイルの異なる 2つの場所に表示されます。** Before starting the service, because the nodes were started for the first time on their own (standalone), the contents of the data folder (by default ''/var/lib/elasticsearch/'') must be deleted in order to start the cluster for the first time. Do this with the command: ノードは初回に単独で(スタンドアロンで)開始されたため、サービスを開始する前にデータフォルダーの内容(デフォルトでは ''/var/lib/elasticsearch/'')を削除する必要があります。 次のコマンドを実行します。 rm -rf /var/lib/elasticsearch/* Now it is time to start the services on each and every node. Start and check that they are running with the commands: 次に、すべてのノードでサービスを開始します。 次のコマンドで開始し、実行されていることを確認します。 systemctl start elasticsearch.service && systemctl status elasticsearch.service You should get an output similar to: 次のような出力を得られます。 {{ :wiki:pfms-systemctl_status_elasticsearch.service.png }} Once the services have been started, you must confirm that the 3 nodes are joined to the cluster correctly, so when executing the following command on any of the nodes, the same response should be given: サービスが開始されたら、3つのノードがクラスターに正しく参加していることを確認する必要があります。任意のノードで次のコマンドを実行すると、同じ応答が返されます。 curl -XGET http://127.0.0.1:9200/_cat/nodes {{ :wiki:pfms-elasticsearch-curl-x-get-_cat-nodes.png }} Check again the firewall configuration always taking into account that the nodes should communicate through ports ''9200'' and ''9300'' and that from the PFMS server and the PFMS Web Console should be able to access port ''9200'' as well. With these steps you will have already installed and configured the Elasticsearch cluster to be used as Pandora FMS log storage engine. ノードがポート ''9200'' および ''9300'' を介して通信する必要があることに加えて、Pandora FMS サーバおよび Pandora FMS Web コンソールからポート ''9200'' へアクセスできる必要があることを常に考慮してファイアウォールの設定を再度確認してください。ここまでの設定により、Pandora FMS ログストレージエンジンとして使用される Elasticsearch クラスターの準備が完了です。 ===== データモデルとテンプレート ===== Before putting into production an environment, either a single node or a data cluster, it is recommended to apply the corresponding configurations to this node or cluster according to its use. In the case of the indexes generated by **Pandora FMS**, the most effective way to do it is defining a template to define the configuration of the fields and the stored data. 本番環境に導入する前に、用途に応じて、単一ノードまたはデータクラスターのいずれかの環境に応じて対応する設定をあらかじめ実施することをお勧めします。 **Pandora FMS** によって生成されるインデックスの場合、それを行う最も簡単な方法は、フィールドと保存するデータの設定を定義するためのテンプレートを定義することです。 テンプレートは、インデックス作成時にのみ適用される設定です。テンプレートを変更しても、既存のインデックスには影響しません。 **基本テンプレート** を作成するには、フィールドを定義するだけです。 { "index_patterns": ["pandorafms*"], "settings": { "number_of_shards": 1, "auto_expand_replicas" : "0-1", "number_of_replicas" : "0" }, "mappings" : { "properties" : { "agent_id" : { "type" : "long", "fields" : { "keyword" : { "type" : "keyword", "ignore_above" : 256 } } }, "group_id" : { "type" : "long", "fields" : { "keyword" : { "type" : "keyword", "ignore_above" : 256 } } }, "group_name" : { "type" : "text", "fields" : { "keyword" : { "type" : "keyword", "ignore_above" : 256 } } }, "logcontent" : { "type" : "text", "fields" : { "keyword" : { "type" : "keyword", "ignore_above" : 256 } } }, "source_id" : { "type" : "text", "fields" : { "keyword" : { "type" : "keyword", "ignore_above" : 256 } } }, "suid" : { "type" : "text", "fields" : { "keyword" : { "type" : "keyword", "ignore_above" : 256 } } }, "type" : { "type" : "text", "fields" : { "keyword" : { "type" : "keyword", "ignore_above" : 256 } } }, "utimestamp" : { "type" : "long" } } } } } Through the Elasticsearch interface in Pandora FMS (**Admin tools** → **Elasticsearch Interface**) and using the native Elasticsearch command you can upload such template. Pandora FMS の Elasticsearch インターフェース(**管理ツール(Admin tools)** → ** Elasticsearch インターフェース(Elasticsearch Interface)**)を介して、ネイティブの Elasticsearch コマンドを使用し、テンプレートをアップロードできます。 We can perform these operations through the Elastic Search interface in Pandora FMS using the native Elastics Search commands. これらの操作は、ネイティブの ElasticsSearch コマンドを使用してPandora FMS の ElasticSearch インターフェイスから実行できます。 * **PUT _template/**: for this example ''PUT _template/pandorafms'' . * **PUT _template/**: この例では ''PUT _template/pandorafms'' {{ :wiki:pfms-elasticsearch_interface_put_template.png }} You will also be able to consult the templates through the same Pandora FMS interface: 同じ Pandora FMS インターフェースを介してテンプレートを参照することもできます。 * **GET _template/**: for this example ''GET _template/pandorafms'' . * **GET _template/**: この例では ''GET _template/pandorafms'' {{ :wiki:getinterface.png }} ==== マルチノードテンプレート ==== To define a **multinode template** you must take into account the following information: **マルチノードテンプレート**を定義するには、考慮しなければならないことがいくつかあります。 * When configuring the template (JSON format), **you need to configure as many searches as you have nodes**, however to correctly configure the replicas **you must subtract 1 from the number of nodes in the environment.** * テンプレート(JSON)の設定を行うときは、**ノードと同じ数の検索を設定する** ことを考慮に入れる必要がありますが、正しく設定するには、環境に実際に存在する **レプリカの数から 1を引く** 必要があります。 For example, in a Pandora FMS environment with Elasticsearch with 3 configured nodes, when you modify the ''number_of_search'' and ''number_of_replicas'' fields it should look like this: 例えば、3つのノードを設定した Elasticsearch を Pandora FMS 環境で使用する場合、''number_of_search'' および ''number_of_replicas'' フィールドを次のように変更します。 { "index_patterns": ["pandorafms*"], "settings": { "number_of_shards": 3, "auto_expand_replicas" : "0-1", "number_of_replicas" : "2" }, \\ This is a very basic definition, in order to correctly define the sizing of the Elasticsearch environment it is advisable to take into account the factors described in this article: \\ これは非常に基本的な定義です。Elasticsearch 環境のサイズを正しく定義するには、以下で説明されている要素を考慮に入れることをお勧めします。 * [[https://www.elastic.co/blog/how-many-shards-should-i-have-in-my-elasticsearch-cluster|https://www.elastic.co/blog/how-many-shards-should-i-have-in-my-elasticsearch-cluster]] From the command line you can list the templates of the environment by executing: コマンドラインから以下を実行して環境のテンプレートを一覧表示できます。 curl -X GET "localhost:9200/_cat/templates/*?v=true&s=name&pretty" You can also view the details of a template, for example the one we have created for pandorafms by running it: テンプレートの詳細を表示することもできます。たとえば、以下を実行すると pandorafms 用に作成したテンプレートを表示できます。 curl -X GET "localhost:9200/_template/pandorafms*?pretty" which will return in JSON format the configuration you have defined. 定義した設定を JSON 形式で返します。 You can perform these operations through the Elasticsearch interface in Pandora FMS using the native Elasticsearch commands. これらの操作は、ネイティブの Elasticsearch コマンドを使用して、Pandora FMS の Elasticsearch インターフェースから実行できます。 * **PUT _template/ {json_data}**: allows you to enter the data of the template to be created. * **GET _template/>**: allows you to display the created template. * **PUT _template/ {json_data}**: 作成するテンプレートのデータを入力できます。 * **GET _template/**: 作成したテンプレートを表示できます。 {{ :wiki:getinterface.png }} ===== 推奨事項 ===== **Elasticsearch のログローテーション** **重要:** Elasticsearch のログが肥大化しないように、/etc/logrotate.d でログローテーションのエントリーを作成することをお勧めします。 cat > /etc/logrotate.d/elastic < **インデックスの削除** You may check at any time the [[https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-indices.html|list of indexes]] and their size by launching a **cURL** petition against its ElasticSearch server: ElasticSearch サーバに対して curl でアクセスすることにより、いつでも[[https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-indices.html|インデックスの一覧]]と大きさを確認することができます。 curl -q http://elastic:9200/_cat/indices? ここで、''elastic'' はサーバの IP です。 インデックスを削除するには、DELETE コマンドを実行します。 curl -q -XDELETE http://elastic:9200/{index-name} ここで ''elastic'' はサーバの IP で、"{index-name}" は上のコマンドの出力ファイルです。これにより、削除されたインデックスによって使用されていたスペースが解放されます。 ===== Elasticsearch システムへのマイグレーション ===== \\ Version 712 or earlier. You will then need to upgrade to the current version, see "[[:en:documentation:02_installation:02_anexo_upgrade|PFMS Upgrade]]" for more information. \\ \\ バージョン 712 またはそれ以前。最新のバージョンにアップグレードする必要があります。詳細については、[[:ja:documentation:02_installation:02_anexo_upgrade|Pandora FMS アップグレード]] を参照してください。 ログの新たなストレージシステムを設定後、以前から Pandora に保存されているデータを新たなシステムへマイグレートできます。 新たなシステムへマイグレートするには、/usr/share/pandora_server/util/ 以下にある次のスクリプトを実行します。 # 7.0NG 712 より前のログデータを、7.0NG 712 以降にマイグレート /usr/share/pandora_server/util/pandora_migrate_logs.pl /etc/pandora/pandora_server.conf ===== Elasticsearch インタフェース ===== {{wiki:icono-modulo-enterprise.png |Enterprise 版}}バージョン NG 747 以上 {{ :wiki:es_interface.png?800 }} デフォルトの設定では、Pandora は 1日あたりのインデックスを生成します。これは、何かを検索する際のフラグメント化の役割を持ちます。検索時に Elastic がフラグメントの場所を認識できるようにします。 この検索をデフォルトで最適化するには、Elastics が検索ごとにインデックスを生成し、**Elastics ノードと同じ数の検索を環境内で設定する必要があります**。 これらの検索とレプリカは、Pandora が自動的に生成するインデックスの作成時に設定されるため、この設定を変更するには、テンプレートを使用する必要があります。 ===== データバックアップとリストア ===== A data snapshot (indexes) is the mechanism that recent versions of Elastichsearch use to back up data. These snapshots can be used to recover data after a hardware failure, to transfer data between nodes, and even to remove rarely used indexes from the node(s) (//the latter requires additional configuration//). データスナップショット(インデックス)は、Elastichsearch の最近のバージョンにおいてデータをバックアップするために使用するメカニズムです。 これらのスナップショットを使用して、ハードウェア障害後にデータを回復したり、ノード間でデータを転送したり、ノードからめったに使用されないインデックスを削除したりすることもできます(//後者には追加の構成が必要です//)。 These snapshots work by backing up data incrementally, i.e. they copy only the new data that has not been backed up while ensuring that the backups already made are reliable and compatible between different versions of Elasticsearch. これらのスナップショットは、データを段階的にバックアップすることで機能します。つまり、バックアップされていない新しいデータのみをコピーし、作成済みのバックアップの信頼性と Elasticsearch の異なるバージョン間の互換性を確保します。 \\ For Elasticsearch the way to guarantee all these features is through **repositories**.\\ \\ Elasticsearch で、これらすべての機能を保証する方法は**リポジトリ**を使用することです。 The repositories can be your own or made by third parties (AWS S3®, Google Cloud Storage®, Microsoft Azure®) and in any case must be physically outside the node or nodes that you use in conjunction with Pandora FMS. **You are solely responsible for these snapshots**. リポジトリは独自のものでも、サードパーティ(AWS S3®、Google Cloud Storage®、Microsoft Azure®)で作成することもできます。いずれの場合も、Pandora FMS と組み合わせて使用する 1つまたは複数のノードの外に物理的に配置する必要があります。 **これらのスナップショットについては、ユーザ自身の責任の元での管理となります**。 See the official Elasticsearch documentation for more information: 詳細については、Elasticsearch の公式ドキュメントを参照してください。 * [[https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-restore.html|https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-restore.html]] ==== リポジトリの作成 ==== A network file system ([[https://en.wikipedia.org/wiki/Network_File_System|NFS]]) or other shared filesystem must be available from the machine(s) that will host the Elasticsearch repository and the node(s) in the environment. ネットワークファイルシステム([[https://en.wikipedia.org/wiki/Network_File_System|NFS]])またはその他の共有ファイルシステムは、環境内で Elasticsearch リポジトリとノードをホストするマシンから利用可能である必要があります。 Pandora FMS independently also uses NFS to [[:en:documentation:07_technical_annexes:10_share_var_spool_directory_between_several_pandora_servers|share the exchange directory between several servers]]: refrain from using this NFS to host Elasticsearch repository(s). **You are solely responsible for properly configuring each of the components of your system.** \\ [[:ja:documentation:07_technical_annexes:10_share_var_spool_directory_between_several_pandora_servers|複数のサーバ間でのディレクトリの共有]]: このNFS を使用して Elasticsearch リポジトリを提供することは控えてください。 **システムの各コンポーネントを適切に責任はユーザにあります。** Once you have installed and configured the target NFS, proceed to create and mount a directory on the Elastisearch node(s), for example it can be called: 対象の NFS をインストールして設定したら、Elastisearch ノードにディレクトリを作成してマウントします。たとえば、次のように呼び出すことができます。 /mnt/pandorafms/elk_repo Grant permissions for the user ''elasticsearch'': ユーザー ''elasticsearch'' に権限を付与します。 chown elasticsearch: /mnt/pandorafms/elk_repo You must declare this path in the Elasticsearch configuration file as the repository path on the node(s) (all nodes): Elasticsearch 設定ファイルでこのパスをノード(すべてのノード)のリポジトリパスとして宣言する必要があります。 path: repo: - /mnt/pandorafms/elk_repo When you have configured the node(s) you must restart the elasticsearch service (on all nodes): ノードを設定したら、(すべてのノードで) elasticsearch サービスを再起動する必要があります。 systemctl start elasticsearch.service && systemctl status elasticsearch.service Apart from the [[:en:documentation:03_monitoring:09_log_monitoring#elasticsearch_interface|Elasticsearch interface in Pandora FMS]] you can also use the **curl** command to get information or communicate orders to the Elastisearch node or nodes. To create the repository execute locally in the node or nodes (all nodes) the following command: [[:ja:documentation:03_monitoring:09_log_monitoring#elasticsearch_インタフェース|Pandora FMS の Elasticsearch インターフェース]] とは別に、**curl** コマンドを使用して、情報を取得したり、Elastisearch ノードに要求を伝達したりすることもできます。 リポジトリを作成するには、1つまたは複数のノード(すべてのノード)でローカルに次のコマンドを実行します。 curl -X PUT "localhost:9200/_snapshot/backup_repo?pretty" -H 'Content-Type: application/json' -d' { "type": "fs", "settings": { "location": "/mnt/pandorafms/elk_repo/" } } ' If you use a port other than ''9200'', replace it with that value. ''9200'' 以外のポートを利用する場合は、その値を置き換えます。 You should get the following message from the node(s): ノードから次のようなメッセージが得られます。 "acknowledged" : true This will indicate that the repository has been created. To check the status of the repository: これは、リポジトリが作成されたことを示します。 リポジトリのステータスを確認するには次のようにします。 curl -X POST "localhost:9200/_snapshot/my_unverified_backup/_verify?pretty" Replace ''my_unverified_backup'' with the name of the repository to verify. **If everything went correctly, you will receive a list of the nodes on which the repository is configured.** ''my_unverified_backup'' を確認するリポジトリの名前に置き換えます。 **すべてが正常に行われた場合、リポジトリが設定されているノードのリストが表示されます。** ==== データベースのスナップショット生成 ==== To take a snapshot manually, use the snapshot creation API. The snapshot name supports the use of [[https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#api-date-math-index-names|date math]] to give a unique name. スナップショットを手動で取得するには、スナップショット作成 API を使用します。 スナップショット名は、一意の名前をつけるために、[[https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#api-date-math-index-names|date math]] の使用をサポートしています。 PUT _snapshot/my_repository/ Replace ''my_repository'' with the name of your repository and ''my_snapshot'' with the name of the snapshot. If you use **curl** you must use escape characters, so the above command would look like this: ''my_repository'' をリポジトリの名前に置き換え、''my_snapshot'' をスナップショットの名前に置き換えます。 **curl** を使用する場合は、エスケープ文字を使用する必要があるため、上記のコマンドは次のようになります。 PUT _snapshot/my_repository/%3Cmy_snapshot_%7Bnow%2Fd%7D%3E Depending on its size, a snapshot may take some time to complete. By default, the snapshot creation API only starts the snapshot process, which runs in the background. To block the client until the snapshot is finished, set the query parameter ''wait_for_completion'' to true. サイズによっては、スナップショットの取得に時間がかかる場合があります。 デフォルトでは、スナップショット作成 API は、バックグラウンドで実行されるスナップショットプロセスのみを実行します。 スナップショットが終了するまでクライアントが待つようにするには、クエリパラメータ ''wait_for_completion'' を true に設定します。 PUT _snapshot/my_repository/my_snapshot?wait_for_completion=true To perform a snapshot named: ''snapshot_today'', you can run it on one of the nodes: ''snapshot_today'' という名前のスナップショットを実行するには、ノードの 1つで以下のように実行します。 curl -X PUT "localhost:9200/_snapshot/backup_repo/snapshot_today?wait_for_completion=true&pretty" If you use a port other than 9200, replace it with that value. 9200 以外のポートを利用する場合は、該当部分を置き換えます。 With the parameter ''wait_for_completion=true'' the call will remain active until the process is finished (it may take some time, depending on the size of the database). パラメータ ''wait_for_completion=true'' を使用すると、プロセスが終了するまで呼び出し処理が待ちのままになります(データベースのサイズによっては時間がかかる場合があります)。 As soon as it finishes, it will return in JSON form the summary information of the process, it will be something similar to this: 完了するとすぐに、処理の概要情報が JSON 形式で返されます。これは次のようになります。 {{ :wiki:pfms-elasticsearch-curl-x-put-wait_for_completion.png }} It is also possible to define specific options in the snapshot execution such as the indexes to include or metadata, for more details visit: 含めるインデックスやメタデータなど、スナップショットの実行で特定のオプションを定義することもできます。詳細については、次を参照してください。 * [[https://www.elastic.co/guide/en/elasticsearch/reference/current/create-snapshot-api.html|https://www.elastic.co/guide/en/elasticsearch/reference/current/create-snapshot-api.html]] \\ Example: \\ 例: curl -X PUT "localhost:9200/_snapshot/backup_repo/snapshot_2?wait_for_completion=true&pretty" -H 'Content-Type: application/json' -d' { "indices": "pandorafms*", "metadata": { "taken_by": "PandoraFMS admin user", "taken_because": "backup before upgrading" } } ' === スナップショットの一覧 === To get a list of all stored snapshots you can run the command: 保存されているすべてのスナップショットの一覧を取得するには、次のコマンドを実行します。 curl -X GET "localhost:9200/_snapshot/backup_repo/*?pretty" Where ''backup_repo'' is the repository id and ''*'' represents all. For more information about snapshot search filters in Elasticsearch visit: ここで、''backup_repo'' はリポジトリ ID であり、''*'' はすべてを表します。 Elasticsearch のスナップショット検索フィルターの詳細については、次の Web サイトをご覧ください。 * [[https://www.elastic.co/guide/en/elasticsearch/reference/current/get-snapshot-api.html|https://www.elastic.co/guide/en/elasticsearch/reference/current/get-snapshot-api.html]] === スナップショットの削除 === To delete a snapshot you must obtain its name from the above command and then execute it on one of the nodes: スナップショットを削除するには、上記のコマンドにてその名前を取得してから、ノードの 1つで実行します。 curl -X DELETE "localhost:9200/_snapshot/backup_repo/snapshot_today?pretty" ==== データベーススナップショットのリストア ==== To restore an index from a snapshot it must be closed, apart from other technical considerations. Please refer to this link for more information: * [[https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-restore-snapshot.html#restore-snapshot-considerations|https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-restore-snapshot.html#restore-snapshot-considerations]] スナップショットからインデックスを復元するには、他の技術的な考慮事項とは別に、インデックスを閉じる必要があります。 詳細については、次のリンクを参照してください。 * [[https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-restore-snapshot.html#restore-snapshot-considerations|https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-restore-snapshot.html#restore-snapshot-considerations]] To restore an index, one of two ways must be used: インデックスを復元するには、次の 2つの方法のいずれかを使用する必要があります。 - Delete the original index before restoring. - Rename the restored index. - 復元する前に、元のインデックスを削除 - 復元するインデックスの名前を変更 Both cases are presented below using ''backup_repo'' for the repository name and ''snapshot_today'' for the snapshot name as examples. 両方の場合を、リポジトリ名に ''backup_repo''、スナップショット名に ''snapshot_today'' を例として使用して以下に示します。 * **Delete and restore**: * **削除およびリストア**: The easiest way to avoid conflicts is to delete an existing index or data stream //before restoring it//. 競合を回避する最も簡単な方法は、既存のインデックスまたはデータストリームを//復元する前に//削除することです。 \\ To avoid accidental recreation of the index or data stream, it is recommended to temporarily stop all indexing until the restore operation is completed. \\ \\ インデックスまたはデータストリームが誤って再作成されないように、復元操作が完了するまですべてのインデックスを一時的に停止することをお勧めします。 To delete an index: インデックスの削除方法: curl -X DELETE "localhost:9200/my-index?pretty" To restore an index: インデックスのリストア方法: curl -X POST "localhost:9200/_snapshot/backup_repo/snapshot_today/_restore?pretty" -H 'Content-Type: application/json' -d' { "indices": "my-index,logs-my_app-default" } ' * **Rename when restoring**Make sure you have enough storage space for this operation. In this way you will repeat the information you already have stored and in some scenarios this process can be useful, for example: * **リストアの際にリネーム**この操作をする際は十分なストレージスペースがあることを確認してください。 この方法では、すでに保存されている情報と同じものを扱います。一部のシナリオでは、この処理が役立つ場合があります。たとえば、次のような場合です。 * You need to confirm that a successful data retrieval has been performed. Each of the indexes and its renamed copy should contain the same information and return the same search results. * Validate data audits performed by third parties. * データ取得が正常に実行されたことを確認する必要がある。 各インデックスとその名前が変更されたコピーで、同じ情報が含まれ、同じ検索結果が返されることを確認する。 * サードパーティによって実行されたデータ監査を検証する。 curl -X POST "localhost:9200/_snapshot/backup_repo/snapshot_today/_restore?pretty" -H 'Content-Type: application/json' -d' { "indices": "my-index,logs-my_app-default" "rename_pattern": "(.+)", "rename_replacement": "restored-$1" } ' === ノードの完全リストア === In the case of wanting to restore an entire node with all its indexes, it is recommended to stop the indexing services before executing the restore, for more information on this topic visit: すべてのインデックスを含むノード全体を復元する場合は、復元を実行する前にインデックスサービスを停止することをお勧めします。このトピックの詳細については、次を参照してください。 * [[https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-restore-snapshot.html#restore-entire-cluster|https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-restore-snapshot.html#restore-entire-cluster]]