將伺服器或稽核日誌發佈到外部服務
MinIO 將所有 minio server
操作發佈到系統主控台。讀取這些日誌取決於伺服器程序的管理方式。例如,如果伺服器是通過 systemd
腳本管理的,您可以使用 journalctl -u SERVICENAME.service
讀取日誌。將 SERVICENAME
替換為 MinIO 服務的名稱。
MinIO 還支援將伺服器日誌和稽核日誌發佈到 HTTP Webhook。
伺服器日誌 包含與記錄到系統主控台相同的
minio server
操作。伺服器日誌支援操作的一般監控和疑難排解。稽核日誌 是對 MinIO 部署中每個操作更詳細的描述。稽核日誌支援需要詳細追蹤操作的安全標準和法規。
MinIO 以 JSON 文件格式將日誌作為 PUT
請求發佈到每個已設定的端點。端點伺服器負責處理每個 JSON 文件。MinIO 需要顯式設定每個 Webhook 端點,且預設情況下 *不會* 將日誌發佈到 Webhook。
將伺服器日誌發佈到 HTTP Webhook
您可以設定新的 HTTP Webhook 端點,MinIO 會使用環境變數 *或* 透過設定執行階段設定將 minio server
日誌發佈到該端點。
MinIO 支援使用 環境變數 指定 minio server
日誌 HTTP Webhook 端點和相關的設定。
以下範例程式碼設定所有與設定日誌 HTTP Webhook 端點相關的環境變數。必要的最低變數為
set MINIO_LOGGER_WEBHOOK_ENABLE_<IDENTIFIER>="on"
set MINIO_LOGGER_WEBHOOK_ENDPOINT_<IDENTIFIER>="https://webhook-1.example.net"
set MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_<IDENTIFIER>="TOKEN"
將
<IDENTIFIER>
替換為 HTTP Webhook 端點的唯一描述性字串。對於與新的日誌 HTTP Webhook 相關的所有環境變數,請使用相同的<IDENTIFIER>
。如果指定的
<IDENTIFIER>
與現有的日誌端點相符,則新的設定會覆寫該端點的任何現有設定。使用mc admin config get logger_webhook
來檢閱目前設定的日誌 HTTP Webhook 端點。將
https://webhook-1.example.net
替換為 HTTP Webhook 端點的 URL。將
TOKEN
替換為端點適用的驗證權杖。對於不需要驗證的端點,請省略此項。為了容納各種權杖類型,MinIO 使用完全依照指定的值建立請求驗證標頭。根據端點的不同,您可能需要包含額外的資訊。
例如:對於 Bearer 權杖,請在前面加上
Bearer
set MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_myendpoint="Bearer 1a2b3c4f5e"
根據端點要求修改值。自訂的驗證格式可能類似如下
set MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_xyz="ServiceXYZ 1a2b3c4f5e"
請參閱所需服務的文件以了解更多詳細資訊。
重新啟動 MinIO 伺服器以套用新的設定配置。您必須在部署中的所有 MinIO 伺服器上指定相同的環境變數和設定。
MinIO 支援使用 mc admin config set
命令和 logger_webhook
設定金鑰,在 MinIO 部署中新增或更新日誌 HTTP Webhook 端點。您必須重新啟動 MinIO 部署才能套用任何新的或更新的設定配置。
以下範例程式碼設定與設定日誌 HTTP Webhook 端點相關的所有設定。必要的最低設定是 logger_webhook endpoint
mc admin config set ALIAS/ logger_webhook:IDENTIFIER \
endpoint="https://webhook-1.example.net" \
auth_token="TOKEN"
將
<IDENTIFIER>
替換為 HTTP Webhook 端點的唯一描述性字串。對於與新的日誌 HTTP Webhook 相關的所有環境變數,請使用相同的<IDENTIFIER>
。如果指定的
<IDENTIFIER>
與現有的日誌端點相符,則新的設定會覆寫該端點的任何現有設定。使用mc admin config get logger_webhook
來檢閱目前設定的日誌 HTTP Webhook 端點。將
https://webhook-1.example.net
替換為 HTTP Webhook 端點的 URL。將
TOKEN
替換為端點適用的驗證權杖。對於不需要驗證的端點,請省略此項。為了容納各種權杖類型,MinIO 使用完全依照指定的值建立請求驗證標頭。根據端點的不同,您可能需要包含額外的資訊。
例如:對於 Bearer 權杖,請在前面加上
Bearer
mc admin config set ALIAS/ logger_webhook \ endpoint="https://webhook-1.example.net" \ auth_token="Bearer 1a2b3c4f5e"
根據端點要求修改值。自訂的驗證格式可能類似如下
mc admin config set ALIAS/ logger_webhook \ endpoint="https://webhook-1.example.net" \ auth_token="ServiceXYZ 1a2b3c4f5e"
請參閱所需服務的文件以了解更多詳細資訊。
將稽核日誌發佈到 HTTP Webhook
您可以使用環境變數或設定執行階段設定配置,來設定新的 HTTP Webhook 端點,MinIO 會將稽核日誌發佈到該端點。
MinIO 支援使用 環境變數,指定稽核日誌 HTTP Webhook 端點和相關的設定配置。
以下範例程式碼設定與設定稽核日誌 HTTP Webhook 端點相關的所有環境變數。必要的最低變數為
set MINIO_AUDIT_WEBHOOK_ENABLE_<IDENTIFIER>="on"
set MINIO_AUDIT_WEBHOOK_ENDPOINT_<IDENTIFIER>="https://webhook-1.example.net"
set MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_<IDENTIFIER>="TOKEN"
set MINIO_AUDIT_WEBHOOK_CLIENT_CERT_<IDENTIFIER>="cert.pem"
set MINIO_AUDIT_WEBHOOK_CLIENT_KEY_<IDENTIFIER>="cert.key"
將
<IDENTIFIER>
替換為 HTTP Webhook 端點的唯一描述性字串。對於與新的稽核日誌 HTTP Webhook 相關的所有環境變數,請使用相同的<IDENTIFIER>
。如果指定的
<IDENTIFIER>
與現有的日誌端點相符,則新的設定會覆寫該端點的任何現有設定。使用mc admin config get audit_webhook
來檢閱目前設定的稽核日誌 HTTP Webhook 端點。將
https://webhook-1.example.net
替換為 HTTP Webhook 端點的 URL。將
TOKEN
替換為端點適用的驗證權杖。對於不需要驗證的端點,請省略此項。為了容納各種權杖類型,MinIO 使用完全依照指定的值建立請求驗證標頭。根據端點的不同,您可能需要包含額外的資訊。
例如:對於 Bearer 權杖,請在前面加上
Bearer
set MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_myendpoint="Bearer 1a2b3c4f5e"
根據端點要求修改值。自訂的驗證格式可能類似如下
set MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_xyz="ServiceXYZ 1a2b3c4f5e"
請參閱所需服務的文件以了解更多詳細資訊。
將
cert.pem
和cert.key
替換為要呈現給 HTTP Webhook 伺服器的 x.509 TLS 憑證的公鑰和私鑰。對於不需要用戶端呈現 TLS 憑證的端點,請省略此項。
重新啟動 MinIO 伺服器以套用新的設定配置。您必須在部署中的所有 MinIO 伺服器上指定相同的環境變數和設定。
MinIO 支援使用 mc admin config set
命令和 audit_webhook
設定金鑰,在 MinIO 部署中新增或更新稽核日誌 HTTP Webhook 端點。您必須重新啟動 MinIO 部署才能套用任何新的或更新的設定配置。
以下範例程式碼設定與設定稽核日誌 HTTP Webhook 端點相關的所有設定。必要的最低設定是 audit_webhook endpoint
mc admin config set ALIAS/ audit_webhook:IDENTIFIER \
endpoint="https://webhook-1.example.net" \
auth_token="TOKEN" \
client_cert="cert.pem" \
client_key="cert.key"
將
<IDENTIFIER>
替換為 HTTP Webhook 端點的唯一描述性字串。對於與新的稽核日誌 HTTP Webhook 相關的所有環境變數,請使用相同的<IDENTIFIER>
。如果指定的
<IDENTIFIER>
與現有的日誌端點相符,則新的設定會覆寫該端點的任何現有設定。使用mc admin config get audit_webhook
來檢閱目前設定的稽核日誌 HTTP Webhook 端點。將
https://webhook-1.example.net
替換為 HTTP Webhook 端點的 URL。將
TOKEN
替換為端點適用的驗證權杖。對於不需要驗證的端點,請省略此項。為了容納各種權杖類型,MinIO 使用完全依照指定的值建立請求驗證標頭。根據端點的不同,您可能需要包含額外的資訊。
例如:對於 Bearer 權杖,請在前面加上
Bearer
mc admin config set ALIAS/ audit_webhook \ endpoint="https://webhook-1.example.net" \ auth_token="Bearer 1a2b3c4f5e"
根據端點要求修改值。自訂的驗證格式可能類似如下
mc admin config set ALIAS/ audit_webhook \ endpoint="https://webhook-1.example.net" \ auth_token="ServiceXYZ 1a2b3c4f5e"
請參閱所需服務的文件以了解更多詳細資訊。
將
cert.pem
和cert.key
替換為要呈現給 HTTP Webhook 伺服器的 x.509 TLS 憑證的公鑰和私鑰。對於不需要用戶端呈現 TLS 憑證的端點,請省略此項。
稽核日誌結構
MinIO 稽核日誌類似於下列 JSON 文件
api.timeToFirstByte
和api.timeToResponse
欄位以奈秒表示。對於糾刪碼設定,
tags.objectErasureMap
提供有關下列每個物件的詳細資訊
{
"version": "1",
"deploymentid": "8ca2b7ad-20cf-4d07-9efb-28b2f519f4a5",
"time": "2024-02-29T19:39:25.744431903Z",
"event": "",
"trigger": "incoming",
"api": {
"name": "CompleteMultipartUpload",
"bucket": "data",
"object": "test-data.csv",
"status": "OK",
"statusCode": 200,
"rx": 267,
"tx": 358,
"txHeaders": 387,
"timeToFirstByte": "2096989ns",
"timeToFirstByteInNS": "2096989",
"timeToResponse": "2111986ns",
"timeToResponseInNS": "2111986"
},
"remotehost": "127.0.0.1",
"requestID": "17B86CB0ED88EBE9",
"userAgent": "MinIO (linux; amd64) minio-go/v7.0.67 mc/RELEASE.2024-02-24T01-33-20Z",
"requestPath": "/data/test-data.csv",
"requestHost": "minio.example.net:9000",
"requestQuery": {
"uploadId": "OGNhMmI3YWQtMjBjZi00ZDA3LTllZmItMjhiMmY1MTlmNGE1LmU3MjNlNWI4LTNiYWYtNDYyNy1hNzI3LWMyNDE3NTVjMmMzNw"
},
"requestHeader": {
"Accept-Encoding": "zstd,gzip",
"Authorization": "AWS4-HMAC-SHA256 Credential=minioadmin/20240229/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=ccb3acdc1763509a88a7e4a3d7fe431ef0ee5ca3f66ccb430d5a09326e87e893",
"Content-Length": "267",
"Content-Type": "application/octet-stream",
"User-Agent": "MinIO (linux; amd64) minio-go/v7.0.67 mc/RELEASE.2024-02-24T01-33-20Z",
"X-Amz-Content-Sha256": "d61969719ee94f43c4e87044229b7a13b54cab320131e9a77259ad0c9344f6d3",
"X-Amz-Date": "20240229T193925Z"
},
"responseHeader": {
"Accept-Ranges": "bytes",
"Content-Length": "358",
"Content-Type": "application/xml",
"ETag": "1d9fdc88af5e74f5eac0a3dd750ce58e-2",
"Server": "MinIO",
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"Vary": "Origin,Accept-Encoding",
"X-Amz-Id-2": "dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8",
"X-Amz-Request-Id": "17B86CB0ED88EBE9",
"X-Content-Type-Options": "nosniff",
"X-Xss-Protection": "1; mode=block"
},
"tags": {
"objectLocation": {
"name": "Mousepad Template-v03final.jpg",
"poolId": 1,
"setId": 1,
"disks": [
"/mnt/drive-1",
"/mnt/drive-2",
"/mnt/drive-3",
"/mnt/drive-4"
]
}
},
"accessKey": "minioadmin"
}