6.2. syslog プロトコルを使用したログの転送


syslog プロトコルを使用して、デフォルトの Elasticsearch ログストアではなく外部の syslog サーバーにログのコピーを送信できます。この syslog プロトコルについては、以下の点に注意してください。

  • RFC 5424 ではなく、syslog プロトコル (RFC 3164) を使用する
  • TLS に対応していないため、安全ではない
  • Kubernetes メタデータ、systemd データその他のメタデータを提供しない
注記

ログ転送のこの方法は OpenShift Container Platform では非推奨となり、今後のリリースではログ転送 API に置き換えられます。

syslog プロトコルには、以下の 2 つのバージョンがあります。

syslog プロトコルを使用してログ転送を設定するには、ログを転送するために必要な情報を使って syslog.conf という設定ファイルを作成します。次に、そのファイルを使用して OpenShift Container Platform がログの転送時に使用する openshift-logging namespace の syslog という ConfigMap を作成します。syslog サーバーを OpenShift Container Platform からログを受信するように設定する必要があります。

重要

OpenShift Container Platform 4.3 以降では、syslog プロトコルを使用するプロセスは変更されています。以下で説明されているように ConfigMap を作成する必要があります。

設定ファイルに別個の <store> スタンザを指定して、ログを複数の syslog サーバーに転送できます。

サンプル syslog.conf

<store>
@type syslog_buffered 1
remote_syslog rsyslogserver.openshift-logging.svc.cluster.local 2
port 514 3
hostname ${hostname} 4
remove_tag_prefix tag 5
tag_key ident,systemd.u.SYSLOG_IDENTIFIER 6
facility local0 7
severity info 8
use_record true 9
payload_key message 10
</store>

1
syslog プロトコル ( syslog または syslog_buffered のいずれか)。
2
syslog サーバーの完全修飾ドメイン名 (FQDN) または IP アドレス。
3
接続先のポート番号。デフォルトは 514 です。
4
syslog サーバーの名前。
5
タグから接頭辞を削除します。デフォルトは '' (空) です。
6
syslog キーを設定するためのフィールド。
7
syslog ログファシリティーまたはソース。
8
syslog ログの重大度。
9
レコードの重大度とファシリティーを使用するかどうかを決定する (ある場合)。
10
オプション。syslog メッセージのペイロードを設定するためのキー。デフォルトは message に設定されます。
注記

payload_key パラメーターを設定すると、他のパラメーターが syslog に転送されなくなります。

サンプル syslog.conf をベースとするサンプル syslog ConfigMap

kind: ConfigMap
apiVersion: v1
metadata:
  name: syslog
  namespace: openshift-logging
data:
  syslog.conf: |
    <store>
     @type syslog_buffered
     remote_syslog syslogserver.openshift-logging.svc.cluster.local
     port 514
     hostname ${hostname}
     remove_tag_prefix tag
     tag_key ident,systemd.u.SYSLOG_IDENTIFIER
     facility local0
     severity info
     use_record true
     payload_key message
    </store>

手順

OpenShift Container Platform が syslog プロトコルを使用してログを転送するように設定するには、以下を実行します。

  1. <store> スタンザ内に以下のパラメーターが含まれる syslog.conf という名前の設定ファイルを作成します。

    1. syslog プロトコルタイプを指定します。

      @type syslog_buffered 1
      1
      使用するプロトコル (syslog または syslog_buffered のいずれか) を指定します。
    2. 外部 syslog サーバーの名前、ホスト、およびポートを設定します。

      remote_syslog <remote> 1
      port <number> 2
      hostname <name> 3
      1
      syslog サーバーの FQDN または IP アドレスを指定します。
      2
      syslog サーバーのポートを指定します。
      3
      この syslog サーバーの名前を指定します。

      以下は例になります。

      出力例

      remote_syslog syslogserver.openshift-logging.svc.cluster.local
      port 514
      hostname fluentd-server

    3. 必要に応じて他の syslog 変数を設定します。

      remove_tag_prefix 1
      tag_key <key> 2
      facility <value>  3
      severity <value>  4
      use_record <value> 5
      payload_key message 6
      1
      このパラメーターを追加して、tag フィールドを syslog 接頭辞から削除します。
      2
      syslog キーを設定するためのフィールドを指定します。
      3
      syslog ログファシリティーまたはソースを指定します。値については、RTF 3164 を参照してください。
      4
      syslog ログの重大度を指定します。値については、RTF 3164 リンクを参照してください。
      5
      true を指定して、レコードの重大度およびファシリティーを使用します (ある場合)。true の場合、container_namenamespace_name、および pod_name は、出力の内容に組み込まれます。
      6
      syslog メッセージのペイロードを設定するためにキーを指定します。デフォルトは message に設定されます。

      出力例

      facility local0
      severity info

      設定ファイルは以下のように表示されます。

      <store>
      @type syslog_buffered
      remote_syslog syslogserver.openshift-logging.svc.cluster.local
      port 514
      hostname ${hostname}
      tag_key ident,systemd.u.SYSLOG_IDENTIFIER
      facility local0
      severity info
      use_record false
      </store>
  2. 設定ファイルから openshift-logging namespace に syslog という名前の ConfigMap を作成します。

    $ oc create configmap syslog --from-file=syslog.conf -n openshift-logging

    Cluster Logging Operator は Fluentd Pod を再デプロイします。Pod が再デプロイされない場合、強制的に再デプロイするために Fluentd Pod を削除できます。

    $ oc delete pod --selector logging-infra=fluentd
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.