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

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

👋 歡迎瀏覽 Stackhero 文件

Stackhero 提供全託管的 Graylog cloud 方案,專為高效與簡易而設。您可以:

  • 依賴隨服務附送的無限量、專屬 SMTP 電郵伺服器
  • 只需一鍵即可輕鬆更新,無需手動操作。
  • 使用受 HTTPS 保護的自訂網域名稱(例如 https://logs.your-company.com),讓您的團隊安全直接存取。
  • 專屬私人基礎設施上享有卓越效能安全性,無需與他人共用資源,亦無「嘈吵鄰居」問題。

專注於您的數據,而非工具管理:只需數分鐘,即可開始使用 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!