オープンソース

一覧へ

6. ログの受信設定をするには(Input設定)

Graylogは、様々な形式のログを受け取るために、受信の設定が必要です。 ログの受信設定は以下のように行ないます。

6.1. Input設定

メニューからinputsの画面に遷移します。

_images/input1.png

Select input の中から利用するログフォーマットを選択します。

_images/input2.png

選択可能なフォーマットは以下の通りです。

  • AWS Cloud Trail input
  • AWS Flow Logs
  • AWS Logs
  • CEF AMQP Input
  • CEF Kafka Input
  • CEF TCP Input
  • CEF UDP Input
  • GELF AMQP
  • GELF HTTP
  • GELF Kafka
  • GELF TCP
  • GELF UDP
  • JSON path from HTTP API
  • NetFlow UDP
  • Random HTTP message generator
  • Raw/Plaintext AMQP
  • Raw/Plaintext HTTP
  • Raw/Plaintext TCP
  • Raw/Plaintext UDP
  • Syslog AMQP
  • Syslog HTTP
  • Syslog TCP
  • Syslog UDP

6.2. Syslogサーバ(UDP)のInput設定

Syslog UDPを選択し、Launch new input をクリックすると以下の画面が表示されます。

_images/input3.png

それぞれの項目の意味は以下の通りです。

  • Global
    • チェックすると、全てのGraylogノードでこのinput設定を有効化する
  • Node
    • このinput設定を有効にするGraylogノードを選択する
  • Title
    • このinput設定の名前の入力フォーム
  • Bind address
    • SyslogサーバがリッスンするIPアドレス
  • Port
    • Syslogサーバがリッスンするポート

Attention

Graylogがrootユーザで動作していない場合、514ポートではリッスンできません。10514など、一般ユーザでもリッスンできるポートを指定してください。

  • Receive Buffer Size(optional)
    • ネットワークの受信バッファサイズを指定します
    • 単位はbyteです

Attention

このサイズを増やすためには、net.core.rmem_maxなどのカーネルパラメータの調整が必要な可能性があります。

  • Override source(optional)
    • sourceフィールドを強制的に上書きする値を設定するフォーム
    • 通常sourceフィールドには、グの送信元が記録される
  • Force rDNS(optional)
    • ログの送信元のホスト名を逆引き解決してsourceフィールドに格納します。

Attention

この設定を有効化すると、DNSのトラフィックが増加する可能性があります。また別の設定でDNSのログを取得している場合、ログがループする可能性があります。

  • Allow overriding date?(optional)
    • 有効にした場合、ログから日付情報が取得できない場合に、現在の日付をtimestampフィールドに保存する
  • Store full message(optional)
    • 有効にした場合、Syslogで送信されたログをそのままfull_messageフィールドに保存する
    • 通常、ログメッセージはmessageフィールドに保存される。その際、時間情報や送信元の情報は、timestampやsourceフィールドに保存され、messageフィールドには含まれない。
  • Expand structured data?(optional)
    • 有効にした場合、RFC5424で定義された構造化されたデータを分解して保存する

設定を行ない save すると、新しいInputの情報が登録されます。。

_images/input4.png

この設定で、GraylogはSyslogサーバとして動作しているため、指定したIPアドレス/ポート番号でログを受け取ることができます。

6.3. GELF HTTPのInput設定

6.3.1. GELFとは

GELFは、Graylog Extended Log Formatの省略形です。 このログフォーマットは、JSONを拡張したGraylog独自のログフォーマットです。 Syslogなどに代表される従来のログは、ログの情報が構造化されていませんでした。 GELFは、ログを構造化して送信することで、検索や可視化などで利用しやすい形で保存しておくことを目的としてます。

GELFフォーマットの例:

{
"version": "1.1",
"host": "example.org",
"short_message": "A short message that helps you identify what is going on",
"full_message": "Backtrace here\n\nmore stuff",
"timestamp": 1385053862.3072,
"level": 1,
"_user_id": 9001,
"_some_info": "foo",
"_some_env_var": "bar"
}

GELFフォーマットの詳細はGELFの章を参照してください。

6.3.2. GELF HTTPの設定

GELF HTTPを選択し、Launch new input をクリックすると以下の画面が表示されます。

_images/input5.png

Attention

上記画像は、画面の一部抜粋です。

それぞれの項目の意味は以下の通りです。

  • Global
    • チェックすると、全てのGraylogノードでこのinput設定を有効化する
  • Node
    • このinput設定を有効にするGraylogノードを選択する
  • Title
    • このinput設定の名前の入力フォーム
  • Bind address
    • GELF HTTPサーバがリッスンするIPアドレス
  • Port
    • GELF HTTPサーバがリッスンするポート

Attention

Graylogがrootユーザで動作していない場合、514ポートではリッスンできません。10514など、一般ユーザでもリッスンできるポートを指定してください。

  • Receive Buffer Size(optional)
    • ネットワークの受信バッファサイズを指定します

Attention

このサイズを増やすためには、net.core.rmem_maxなどのカーネルパラメータの調整が必要な可能性があります。

  • TLS cert file(optional)
    • TLS証明書ファイルのパスを指定します
  • TLS key file(optional)
    • TLS鍵ファイルのパスを指定します
  • Enable TLS(optional)
    • チェックした場合、TLS接続を有効化します。
  • TLS key password(optional)
    • TLS鍵のパスフレーズを指定します。
  • TLS client authentication (optional)
    • クライアント認証ポリシーを設定します
    • disable/optional/requiredから選択します
      • disable: CA証明書の検証を行わない
      • optional: CA証明書があれば検証する
      • required: 必ずCA証明書の検証を行なう
  • TLS client Auth Trusted Certs (optional)
    • クライアント認証に利用する証明書のパス設定します
    • ファイルまたはディレクトリを指定します
  • TCP keepalive (optional)
    • チェックするとTCPキープアライブが有効になります
  • Enable CORS(optional)
    • チェックするとCORS関連の機能が有効になります
  • Max. HTTP chunk size(optional)
    • HTTPチャンクサイズの最大値を指定します
    • 単位はbyteです
  • Idle writer timeout
    • クライアントの書き込みリクエストのタイムアウト時間を指定します
    • 単位は秒です
  • Override source(optional)
    • sourceフィールドを強制的に上書きする値を設定するフォーム
    • 通常sourceフィールドには、ログの送信元が記録される
  • Decompressed size limit(optional)
    • 圧縮されたデータを展開した後に許容する最大サイズ
    • 単位はbyteです

設定を行ない save すると、新しいInputの情報が登録されます。

_images/input6.png

この設定で、GraylogはHTTPプロトコルでGELFメッセージを受け取ることができます。 確認はcurlなどのコマンドで行なうことができます。

一覧へ