個人用ツール

「Pandora:Documentation ja:Log Monitoring」の版間の差分

提供: Pandora FMS Wiki JP

移動先: 案内, 検索
(インデックスの削除)
(表示と検索)
(同じ利用者による、間の2版が非表示)
348行目: 348行目:
  
 
<br><center>
 
<br><center>
[[image:activate_logcollection.png|850px]]
+
[[image:Logs1.JPG|850px]]
 
<br></center>
 
<br></center>
  
Then we can set the log viewer behaviour in the 'Log Collector' tab:
+
Then set the log viewer performance in the 'Log Collector' tab:
  
 
'ログ収集(Log Collector)' タブで、ログビューワの動作を設定できます。
 
'ログ収集(Log Collector)' タブで、ログビューワの動作を設定できます。
  
 
<br><center>
 
<br><center>
[[image:Log_config_consola.PNG|850px]]
+
[[image:Logs2.JPG|850px]]
 
<br></center>
 
<br></center>
  
402行目: 402行目:
  
 
<br><center>
 
<br><center>
[[image:Log_viewer2.png|850px]]
+
[[image:Logs3.JPG|850px]]
 
<i>View of occurrences over time</i>
 
<i>View of occurrences over time</i>
 
<br></center>
 
<br></center>
426行目: 426行目:
  
 
<br><center>
 
<br><center>
[[image:Log_viewer_filter2.png|850px]]
+
[[image:Logs4.JPG|850px]]
 
<br></center>
 
<br></center>
  
455行目: 455行目:
  
 
<br><center>
 
<br><center>
[[image:Exact_match.png|850px]]
+
[[image:Logs5.JPG|850px]]
 
<br></center>
 
<br></center>
  
463行目: 463行目:
  
 
<br><center>
 
<br><center>
[[image:All_words2.png|850px]]
+
[[image:Logs6.JPG|850px]]
 
<br></center>
 
<br></center>
  
471行目: 471行目:
  
 
<br><center>
 
<br><center>
[[image:Any_word2.png|850px]]
+
[[image:Logs7.JPG|850px]]
 
<br></center>
 
<br></center>
  
479行目: 479行目:
  
 
<br><center>
 
<br><center>
[[image:Full_context2.png|850px]]
+
[[image:Logs8.JPG|850px]]
 
<br></center>
 
<br></center>
  

2019年10月12日 (土) 12:31時点における版

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

ログ収集

概要

Up to now, Pandora FMS did not provide a solution to this problem, but with version 5.0, Pandora FMS Enterprise offers a solution to manage hundreds of megabytes of daily data. This solution allows you to reuse the same monitoring agents for specific log data collection, using a syntax very similar to the current one for log monitoring.

これまで Pandora FMS には、これに関する解決策がありませんでしたが、バージョン 5.0 の Pandora FMS Enterprise から、日々の何百ものメガバイトのデータを扱うソリューションを提供しています。このソリューションでは、特定のログデータ収集に同じ一つの監視エージェントを利用し、ログ監視の設定書式も既存のものに似ています。

Log monitoring in Pandora FMS is approached in two different ways:

Pandora FMS におけるログ監視には、以下の 2つの異なる手法があります。

  1. Based on modules: it represents logs in Pandora as asynchronous monitors, being able to associate alerts to the detected inputs that fulfill a series of preconfigured conditions by the user. The modular representation of the logs allows you to:
    1. Create modules that count the occurrences of a regular expression in a log.
    2. Obtain the lines and context of log messages
  2. Based on combined display: it allows the user to view in a single console all the information from logs of multiple origins that you may want to capture, organizing the information sequentially using the timestamp in which the logs were processed.
  1. モジュールベース: 非同期監視としの Pandora でログを表現します。ユーザにより事前設定された条件を満たすデータを検出した場合にアラートを関連付けることができます。 ログのモジュール表現では、以下を行うことができます:
    1. ログの中で正規表現にマッチする数を数えるモジュールの作成
    2. ログメッセージの行および内容を取得
  2. 複合表示ベース: キャプチャしたい複数の発生元のログからすべての情報を 1つのコンソールで表示し、ログが処理されたタイムスタンプを使用して情報を順番に整理できます。

From version 7.0NG 712, Pandora FMS incorporates LogStash + ElasticSearch to store log information, which implies a significative improvement in performance.

バージョン 7.0NG 712 からは、Pandora FMS に、ログ情報を保存するための LogStash + ElasticSearch が組み込まれているため、パフォーマンスが大幅に向上しています。

動作の仕組み

The process is simple:

処理は単純です。



650px



  • The logs analysed by the agents (eventlog or text files) are forwarded to Pandora Server, literally as (RAW) within the XML reporting agent:
  • Pandora server (DataServer) receives the XML agent, which contains information about both monitoring and logs.
  • When DataServer processes the XML data, it identifies log information, keeping in the primary database the references about the agent that was reported and the source of the log , automatically sending information to LogStash in order to be storaged.
  • LogStash stores the information in Elasticsearch.
  • Finally, we can check the log information through the viewfinder in Pandora FMS console. The console will perform queries against the configured Elasticsearch server.
  • エージェントで分析されたログ (eventlog またはテキストファイル) は、Pandora サーバへ転送されます。エージェントから送信される XML に (RAW) データとして含まれます。
  • Pandora サーバ(データサーバ)は、エージェントから XML を受け取ります。そこには、監視とログの両方の情報が含まれています。
  • データサーバが XML データを処理する時に、ログ情報を識別し、報告されたエージェントに関する情報やログのソースをプライマリデータベースに保存し、ログの保存には情報を自動的に LogStash に送信します。
  • LogStash は、情報を Elasticsearch に保存します。
  • 最後に、Pandora FMS コンソールのビューワを通して情報を確認できます。コンソールは、Elasticsearch サーバに対してクエリを実行します。

設定

サーバ設定

The new storage log system, which is based on ElasticSearch + LogStash requires configuring various components.

新たなログ保存システムは、ElasticSearch + LogStash を利用しており、いくつかのコンポーネントを設定する必要があります。

サーバの必要条件

Each component (Pandora FMS Server, Elasticsearch, LogStash) can be distributed on separate servers.

それぞれのコンポーネント(Pandora FMS サーバ, Elasticsearch, LogStash)は、別々のサーバに展開できます。

If you choose to place Elasticsearch and LogStash on the same server we recommend:

Elasticsearch と LogStash を同じサーバに置く場合は、以下が必要です。

  • At least 4GB of RAM
  • At least 2 CPU cores
  • At least 20GB of disk space for the system
  • At least 50GB of disk space for the mount point /var, mounted as LVM
  • Connectivity with the port 10516/TCP from Pandora server to LogStash and 9200/TCP from the Pandora console to Elasticsearch
  • 最低 4GB のメモリ
  • 最低 2コアの CPU
  • 最低 20GB のシステム用ディスク容量
  • 最低 50GB の LVM でマウントされた /var のディスク容量
  • Pandora サーバから LogStash への 10516/TCP の接続および、Pandora コンソールから Elasticsearch への 9200/TCP の接続

If you have a machine that hosts historical database, this same one could be used to install Elasticsearch and LogStash. In that case the minimum requirements of the machine should be adjusted to the number of data that we will process in both cases, being the minimum:

ヒストリデータベースのマシンがある場合は、これと同じものを使用して Elasticsearch と LogStash をインストールすることができます。 その場合、マシンの最小要件は、双方の処理するデータの数に合わせて調整する必要があります。

  • At least 4GB of RAM
  • At least 4 CPU cores
  • At least 20GB of disk space for the system
  • At least 50GB of disk space for the mount point /var, mounted as LVM
  • 最低 4GB のメモリ
  • 最低 4コアの CPU
  • 最低 20GB のシステム用ディスク容量
  • 最低 50GB の LVM でマウントされた /var のディスク容量

ElasticSearch のインストールと設定

Before you begin installing these components, you must install Java on the machine:

コンポーネントのインストールの前に、Java をインストールする必要があります。

yum install java

Once installed, install Elasticsearch from the downloadable RPM from the website of the Elasticsearch project : https://www.elastic.co/downloads/elasticsearch

インストールが完了したら、Elasticsearch プロジェクトのウェブサイト https://www.elastic.co/downloads/elasticsearch から RPM をダウンロードしてインストールします。

Once the package is downloaded, install it executing:

パッケージをダウンロードしたら、以下のようにインストールします。

rpm -i elasticsearch-X.X.X-x86_64.rpm

Configure the service:

サービスを設定します。

We will configure the network options and ‘’optionally’’ the data locations (and logs from Elasticsearch itself) in the configuration file located in /etc/elasticsearch/elasticsearch.yml

ネットワークオプションと、データの場所(および Elasticsearch 自身のログ)を設定ファイル /etc/elasticsearch/elasticsearch.yml で設定します。

# ---------------------------------- Network -----------------------------------
# Set the bind address to a specific IP (IPv4 or IPv6):
network.host: 0.0.0.0
# Set a custom port for HTTP:
http.port: 9200
# ----------------------------------- Paths ------------------------------------
# Path to directory where to store the data (separate multiple locations by comma):
#path.data: /var/lib/elastic
# Path to log files:
#path.logs: /var/log/elastic

In the parameter network.host we must introduce the server's IP.

network.host には、サーバの IP を設定する必要があります。

It will be needed to adjust the options of the resources allocated to Elasticsearch, adjusting the parameters available in the configuration file located in en /etc/elasticsearch/jvm.options

設定ファイル /etc/elasticsearch/jvm.options にて、利用可能なパラメータを調整し、Elasticsearch に割り当てるリソースのオプションを調整する必要があります

# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
-Xms512m
-Xmx512m


Start the service:

サービスを開始します。

systemctl start elasticsearch


Note: If the service fails to start, check the logs located in /var/log/elasticsearch/

注意: サービスの開始に失敗する場合は、/var/log/elasticsearch/ 内のログを確認してください。

Note 2: If you are trying to install on Centos 6 against our recommendation, there is a problem with the latest versions of ElasticSearch (5. X) as they require extra kernel-level functionality that CentOS 6 does not offer. You can add the following lines to the configuration file yml to disable the use of bootstrap and avoid error.

注意 2: 推奨に反して CentOS 6 にインストールをする場合は、最新の ElasticSearch (5.x) のバージョンでは、CentOS 6 が提供していない kernel レベルの機能が必要となるため問題が発生します。bootstrap の利用とエラーを避けるために、yml の設定ファイルに以下の行を追加します。

bootstrap.system_call_filter: false
transport.host: localhost

LogStash のインストールと設定

Install LogStash from the downloadable RPM from the project website Elasticsearch: https://www.elastic.co/downloads/logstash

Elasticsearch プロジェクトのウェブサイト https://www.elastic.co/downloads/logstash から RPM をダウンロードし、LogStash をインストールします。

Once the package is downloaded, install it executing:

パッケージをダウンロードしたら、次のようにインストールします。

rpm -i logstash-X.X.X.rpm

Configuring the service

サービスの設定

Within logstash configuration there are three configuration blocks:

  • Input: Indicates how you get the information to logstash, format, port, and an identifier that is used to store information internally in elastic
  • Filter: You can add a post-processing here, but in our case is not necessary, so we'll leave it empty.
  • Output: Here comes the configuration of the IP and port where it will be listening Elasticsearch, this is the place where the information processed by logstash will be saved.

logstash の設定では、3つの設定ブロックがあります:

  • Input: logstash へどのように情報を取り込むかを示します。フォーマット、ポートおよび内部に情報を保存するために利用される識別子です。
  • Filter: ここに事前処理を追加できます。ただし必須ではありません。空のまま置いておきます。
  • Output: Elasticsearch が待ち受けている IP およびポート番号の設定です。logstash で処理された情報を保存する先です。

Configuration file:

設定ファイル:

/etc/logstash/conf.d/logstash.conf


Example of configuration file:

設定ファイル例:

# This input block will listen on port 10514 for logs to come in.
# host should be an IP on the Logstash server.
# codec => "json" indicates that we expect the lines we're receiving to be in JSON format
# type => "rsyslog" is an optional identifier to help identify messaging streams in the pipeline.
input {
 tcp {
    host  => "0.0.0.0"
    port  => 10516
    codec => "json"
    type  => "pandora_remote_log_entry"
 }
}
# This is an empty filter block.  You can later add other filters here to further process
# your log lines
filter { }
output {
  elasticsearch { hosts => ["0.0.0.0:9200"] }
}

Enter the server IP in the "host" parameter, instead of “0.0.0.0”.

"host" パラメータでは、"0.0.0.0" の代わりにサーバの IP を設定する必要があります。

It occurs similary with the archive "logstash-sample.conf", where we must introduce the server's IP in the "localhost" parameter.

同様に "logstash-sample.conf" においても、"localhost" パラメータにはサーバの IP を設定する必要があります。

Start the service:

サービスの開始:

systemctl start logstash

Note: If you are trying to install LogStash in Centos 6 despite our recommendation, you can start it with the following command:

注意: 推奨に反して CentOS6 へ LogStash をインストールする場合は、次のコマンドで起動するします。

initctl start logstash

Pandora FMS サーバでのパラメータ設定

You will need to add the following configuration to Pandora FMS Server configuration file (/etc/pandora/pandora_server.conf) so that Pandora FMS DataServer processes the log information.

Pandora FMS データサーバがログ情報を処理するように、Pandora FMS サーバの設定ファイル(/etc/pandora/pandora_server.conf)に次の設定を追加する必要があります。

Important: Any log that reaches pandora without having this configuration active, will be discarded.

重要: この設定を行っていない場合、Pandora サーバに届いたデータは捨てられます。

logstash_host eli.artica.lan
logstash_port 10516

Pandora FMS Syslog サーバ

From the 717 version of Pandora FMS 7.0NG, a new component appears, SyslogServer.

Pandora FMS 7.0NG のバージョン 717 から、新たな SyslogServer いうコンポーネントがあります。

This component allows Pandora to analyze the Syslog of the machine where it is located, analyzing its content and storing the references in our ElasticSearch server.

このコンポーネントにより、Pandora はマシンの Syslog を分析できます。Syslog のコンテンツを分析し、ElasticSearch サーバに格納することができます。

The main advantage of SyslogServer lies in complementing the unification of logs. Based on the exportation characteristics of SYSLOG from Linux and Unix environments, SyslogServer allows to consult logs independently of the origin, searching in a single common point (Pandora FMS console log viewer).

SyslogServer の主な利点としては、ログの統合を補完することにあります。Linux および UNIX 環境の SYSLOG 出力をもとにして、SyslogServer では、1つの共通ポイント(Pandora FMS コンソールのログビューア)で、発信元ごとに個別のログを参照したり、検索したりすることができます。

To enable this functionality, we will simply have to enable it in the configuration, adding the following content to pandora_server. conf:

この機能を有効化するには、pandora_server.conf で以下の設定を有効にするだけです。

# Enable (1) or disable (0) the Pandora FMS Syslog Server (PANDORA FMS ENTERPRISE ONLY).
syslogserver 1
# Full path to syslog's output file (PANDORA FMS ENTERPRISE ONLY).
syslog_file /var/log/messages
# Number of threads for the Syslog Server (PANDORA FMS ENTERPRISE ONLY).
syslog_threads 2
# Maximum number of lines queued by the Syslog Server's producer on each run (PANDORA FMS ENTERPRISE ONLY).
syslog_max 65535


You will need a LogStash/ElasticSearch server enabled and configured, please review the preceding points to learn how to configure it.

LogStash/ElasticSearch を有効化する必要があります。上記のパラメータの設定は次の通りです。

syslogserver Boolean, enables (1) or disables (0) the local SYSLOG analysis engine.

syslogserver ローカルの SYSLOG 分析エンジンの有効化(1)または無効化(0)を設定します。

syslog_file Location of the file where the SYSLOG entries are being delivered.

syslog_file SYSLOG ファイルの場所です。

syslog_threads Maximum number of threads to be used in the SyslogServer producer/consumer system.

syslog_threads SyslogServer のデータ処理に使う最大スレッド数です。

syslog_max It is the maximum processing window for SyslogServer, it will be the maximum number of SYSLOG entries that will be processed in each iteration.

syslog_max SyslogServer が処理する最大ウインドウサイズです。一度の実行で処理する最大の SYSLOG エントリー数です。

推奨事項

Elasticsearch と Logstash のログローテーション

Important: We recommend creating a new entry for daemon rotation logs in en /etc/logrotate.d, to prevent Elasticsearch or LogStash logs from growing without measure:

重要: Elasticsearch と LogStash のログが肥大化しないように、/etc/logrotate.d でログローテーションのエントリーを作成することをお勧めします。

cat > /etc/logrotate.d/elastic <<EOF
/var/log/elastic/elaticsearch.log
/var/log/logstash/logstash-plain.log {
       weekly
       missingok
       size 300000
       rotate 3
       maxage 90
       compress
       notifempty
       copytruncate
}
EOF
インデックスの削除

You can check at any time the list of indexes and size that occupy by launching a cURL petition against its ElasticSearch server:

ElasticSearch サーバに対して curl でアクセスすることにより、いつでもインデックスの一覧と大きさを確認することができます。

curl -q http://elastic:9200/_cat/indices?

Where"elastic" is the server's IP.

ここで、"elastic" はサーバの IP です。

To remove any of these indexes you can execute the DELETE command:

インデックスを削除するには、DELETE コマンドを実行します。

curl -q -XDELETE http://elastic:9200/logstash-2017.09.06

This will free up the space used by the removed index.

インデックスを削除した分、ディスクの空き容量が増加します。

コンソールの設定

To enable the system display of logs, you must enable the following configuration:

ログの表示を有効化するには、次の設定を有効化する必要があります。


850px


Then set the log viewer performance in the 'Log Collector' tab:

'ログ収集(Log Collector)' タブで、ログビューワの動作を設定できます。


850px


On this screen you can configure:

この画面では以下の設定ができます。

  • IP or FQDN address of the server that hosts the Elasticsearch service
  • Elasticsearch サーバの IP または FQDN アドレス
  • Port through the one that is being given by the service Elasticsearch
  • Elasticsearch サービスのポート
  • Number of logs being shown. To speed up the response of the console, it has been added dynamic loading of records. To use this, the user must scroll to the bottom of the page, forcing the loading of the next set of available records. The size of these groups can be set in this field as the number of records per group.
  • 表示されるログの数。コンソール応答の高速化のため、レコードの動的読み込みが追加されています。これを利用するには、ページの一番下へスクロールします。すると、次のレコードが読み込まれます。これらのグループのサイズは、グループあたりのレコード数としてこのフィールドに設定できます。
  • Days to purge: To prevent the size of the system, you can define a maximum number of days in which the log information will be stored , from that date they will be automatically deleted in the process of cleaning Pandora FMS.
  • 削除する日数: システムのサイズを保持するために、ログ情報を保存する最大日数を定義できます。それを超えると、Pandora FMS のクリーニング処理により自動的に削除されます。

LogStash + Elasticsearch システムへのマイグレーション

After setting the new storage system of logs, you can migrate all data previously stored in Pandora, as distributed in the new system directories.

ログの新たなストレージシステムを設定後、以前から Pandora に保存されているデータを新たなシステムへマイグレートできます。

To migrate to the new system, you must run the following script you can find in /usr/share/pandora_server/util/

新たなシステムへマイグレートするには、/usr/share/pandora_server/util/ 以下にある次のスクリプトを実行します。

# Migrate Log Data < 7.0NG 712 to >= 7.0NG 712
/usr/share/pandora_server/util/pandora_migrate_logs.pl /etc/pandora/pandora_server.conf
# 7.0NG 712 より前のログデータを、7.0NG 712 以降にマイグレート
/usr/share/pandora_server/util/pandora_migrate_logs.pl /etc/pandora/pandora_server.conf

表示と検索

In a log collection tool, we are mainly interested in two things: searching for information, filtering by date, data sources and/or keywords, and seeing that information drawn in occurrences by time unit. In this example, we are looking for all log messages from all sources in the last hour:

ログ収集のツールに関して、私たちは主に 2つのことに興味があります。日時やデータソース、キーワードによるフィルタリングをしての情報の検索と、時間単位ごとに発生する情報の参照です。この例では、直近 1時間のすべてのデータソースからのログメッセージを見てみます。


850px View of occurrences over time




There is a series of filters that can be used to display information:

  • Filter by search type: We can search by exact match, all words or any word.
  • Filter by message content: Search in the content of the message the indicated text.
  • Filter by log source (source id)
  • Agent Filter: Narrows down the search results to those generated by the selected agent.
  • Filter per group: limits the selection of agents in the agent filter
  • Filter by date

情報の表示に利用できるフィルタには以下があります。

  • 検索タイプによるフィルタ: 完全一致、すべての単語、任意の単語で検索できます。
  • メッセージ内容によるフィルタ: テキストメッセージの内容で検索します。
  • ログソースによるフィルタ (ソース ID)
  • エージェントフィルタ: 選択したエージェントによって生成された検索結果を絞り込みます。
  • グループごとのフィルタ: エージェントフィルタでエージェントの選択を限定します。
  • 日時によるフィルタ

850px


The most important and useful field for us will be the search string (search on the screenshot). This can be a simple text string, as in the previous case or a wilcard, in following example, a IP address:

最も重要で便利なフィールドは、(スクリーンショットに表示している)文字列検索です。これは単純なテキスト文字列で、一致文字列またはワイルドカードが使えます。次の例は IP アドレスです。

192.168*

Note: Searches should be done using complete words or beginning sub-strings of the search words. For example

注意: 検索は、検索対象文字列の完全一致もしくは前方一致で行われます。 例:

192.168.80.14
192.168*
Warning in somelongtext
Warning in some*

We must select one of the three types of search:

次の 3種類の検索のいずれかを選択する必要があります。

  • Exact match: Literal string search.
  • 完全一致: 文字列検索。

850px


  • All words: Search of all the indicated words, independently of the order, taking into account that each word is separated by spaces.
  • 全単語: 各単語がスペースで区切られていることを前提として、指定したすべての単語を検索します。

850px


  • Any word: Search of any indicated word, regardless of the order, taking into account that each word is separated by spaces.
  • 任意の単語: 各単語がスペースで区切られていることを前提として、順序に関係なく、指示された単語を検索します。

850px


If we check the option to see the context of the filtered content, we will get an overview of the situation:

フィルタリングされたコンテンツのコンテキストを表示するオプションをチェックすると、状況の概要が表示されます。


850px


エージェントの設定

The log collection is done by agents, both Windows and Unix agents (Linux, MacOsX, Solaris, HP-UX, AIX, BSD, etc). In the case of Windows agents, you can also obtain information from the Windows Event Viewer, using the same filters as in the monitoring module event viewer.

ログ収集は、Windows および Unux (LInux, MacOS X, Solaris, HP-UX, AIX, BSD など) エージェント双方で実行されます。Windows エージェントの場合、イベントビューワモジュールで同様のフィルタを用いることにより、Windows イベントビューワから情報を取得することもできます。

Here are two examples to capture log information on windows and Unix:

Windows と Unix でのログ情報収集の例をみてみます。

Windows の場合

module_begin
module_name Eventlog_System
module_type log
module_logevent
module_source System
module_end 
module_begin
module_name PandoraAgent_log
module_type log
module_regexp C:\archivos de programa\pandora_agent\pandora_agent.log
module_description This module will return all lines from the specified logfile
module_pattern .*
module_end

In both cases, the only difference between a monitoring module and a log source definition is this:

両方のケースにおける監視モジュールとの唯一の違いは、以下のログソース設定の部分です。

module_type log 

This new syntax, is only understood by the 5.0 agent, so, if you want to use this new feature, you need to upgrade the agents to 5.0 version.

これは、バージョン 5.0 のエージェントから利用できる新たな書式です。この新機能を利用するには、エージェントをバージョン 5.0 へアップグレードする必要があります。

Unix システム

In Unix you use a new plugin that comes with the version 5.0 agent. Its syntax is simple:

Unix では、バージョン 5.0 エージェントとともに配布される新たなプラグインを利用します。書式は次の通り単純です。

module_plugin grep_log_module /var/log/messages Syslog \.\*

Similar to the log parser plugin (grep_log) grep_log_module plugin sends the processed information to the log collector with the name "syslog" as the source of the logfile. Use the regular expression \. \ * (In this case "all") as pattern when choosing which ship lines and what not.

ログパースプラグイン(grep_log)と同じように、grep_log_module プラグインは、処理した情報をログファイルのソースとして "syslog" という名前でログ収集に送信します。どういったパターンの行を送信するかまたはしないかは、\.\* といった正規表現を利用します(この例では全て)。

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