Graylog: 使用 TLS 加密將 rsyslog 日誌發送至 Graylog

此文件屬於入門指南指南的一部分。請在此處查看完整指南:如何開始使用 Graylog

👋 歡迎來到 Stackhero 文件!

Stackhero 提供即用型的 Graylog cloud 解決方案,帶來多項好處,包括:

  • 包含無限和專用的 SMTP 電郵伺服器
  • 只需一鍵即可輕鬆更新
  • 使用 HTTPS 保護的可自訂域名(例如,https://logs.your-company.com)。
  • 專用私有 VM提供的最佳性能和強大安全性

節省時間簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Graylog cloud hosting 解決方案!

如果您有 rsyslog client 並希望安全地將日誌傳送到 Graylog,請依照以下步驟操作:

請勿在 Graylog 的 Input 上啟用任何 TLS 選項。TLS 會由您實例上的 Reverse Proxy 直接管理,因此 Graylog 不會處理 TLS。

  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"
    )
    
    # 將所有日誌發送到遠端伺服器
    # 這個動作會建立一個 on-disk queue。如果遠端主機
    # 無法連線,訊息會暫存於磁碟,待主機恢復後再傳送
    # 參考 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"  # spool 檔案的唯一名稱前綴
      queue.type="LinkedList"
      queue.maxDiskSpace="256m"
      queue.saveOnShutdown="on"
      action.resumeRetryCount="-1"
      action.resumeInterval="30"
    )
    
  3. 重新啟動您的 rsyslog 服務,並使用以下指令發送一條日誌以驗證設定:

    logger This is a test
    

設定完成。您現在已經可以透過 TLS 加密安全地將日誌發送到 Graylog!