Graylog: TLS暗号化を利用してrsyslogログをGraylogに送信する

このドキュメントはクイックスタートガイドの一部です。完全なガイドはこちらからご覧いただけます:Graylogの使い始め方

👋 Stackhero ドキュメントへようこそ

Stackhero は、スピードとシンプルさを追求したフルマネージドの Graylog cloud ソリューションを提供しています。主な特長は以下の通りです:

  • サービスに含まれる、無制限かつ専用の SMTP メールサーバーをご利用いただけます。
  • アップデートはワンクリックで簡単に適用でき、手動での作業は不要です。
  • HTTPS で保護された カスタムドメイン名(例:https://logs.your-company.com)を利用でき、チームに安全かつ直接的なアクセスを提供します。
  • プライベートかつ専用インフラストラクチャ上で、高いパフォーマンスセキュリティを実現。他のユーザーとのリソース共有やノイズの心配はありません。

ツールではなくデータに集中できます:Stackhero の Graylog cloud hosting ソリューションは、数分でご利用を開始いただけます。

rsyslogクライアントからGraylogへ安全にログを送信したい場合は、以下の手順に従ってください:

GraylogのInput側でTLSオプションは有効化しないでください。TLSはインスタンス上のリバースプロキシで直接管理されるため、Graylog自体では処理しません。

  1. StackheroダッシュボードのGraylogサービス設定画面で、「Syslog TCPポート514」の「TLS暗号化」を有効にしてください。

  2. 下記のようにrsyslogの設定を更新します。<XXXXXX>.stackhero-network.comはご自身のインスタンスのホスト名に置き換えてください:

    # TLS CA証明書を定義
    global(
      DefaultNetstreamDriver="gtls"
      DefaultNetstreamDriverCAFile="/etc/ssl/certs/ca-certificates.crt"
    )
    
    # すべてのログをリモートサーバーへ送信
    # このアクションにはオンディスクキューが作成されます。リモートホストが
    # ダウンしている場合、メッセージはディスクにスプールされ、再接続時に送信されます
    # 詳細は https://www.rsyslog.com/doc/v8-stable/configuration/actions.html
    # および https://www.rsyslog.com/doc/v8-stable/configuration/modules/omfwd.html を参照
    *.* action(
      type="omfwd"
      target="<XXXXXX>.stackhero-network.com"
      port="514"
      protocol="tcp"
      KeepAlive="on"
      KeepAlive.Interval="30"
      StreamDriver="gtls"
      StreamDriverMode="1"
      StreamDriverAuthMode="x509/name"
      ResendLastMSGOnReconnect="on"
      queue.filename="fwdRule1"  # スプールファイル用の一意な名前プレフィックス
      queue.type="LinkedList"
      queue.maxDiskSpace="256m"
      queue.saveOnShutdown="on"
      action.resumeRetryCount="-1"
      action.resumeInterval="30"
    )
    
  3. rsyslogサービスを再起動し、以下のコマンドでログ送信をテストして設定を確認してください:

    logger This is a test
    

これで設定は完了です。TLS暗号化を利用してGraylogへ安全にログを送信できるようになりました!