日誌管理功能能夠將雲訊息佇列 RabbitMQ 版執行個體的訊息作業日誌自動推送至您的Simple Log Service的LogStore。當訊息發送、消費或確認過程中出現異常時,您可以在Simple Log Service查詢並分析訊息的動作記錄,進行異常診斷。
前提條件
建立雲訊息佇列 RabbitMQ 版執行個體。具體操作,請參見執行個體管理。
開通Simple Log Service並建立Project和Logstore。具體操作,請參見資源管理概述。
根據控制台提示建立RabbitMQ服務關聯角色
AliyunServiceRoleForAmqpLogDelivery
並授權,用於將日誌推送到您的Simple Log Service中。
如果您刪除Project、Logstore,或者將授予雲訊息佇列 RabbitMQ 版的許可權取消,日誌將無法正常推送。
計費說明
雲訊息佇列 RabbitMQ 版
使用日誌管理功能時,雲訊息佇列 RabbitMQ 版不收取費用。
Simple Log Service
雲訊息佇列 RabbitMQ 版日誌被推送到Log Service後,Log Service會根據儲存空間、流量、請求數等進行收費。更多資訊,請參見按使用功能計費模式計費項目。
日誌格式
日誌格式說明
參數 | 描述 |
Action | 操作對應的要求方法。取值和描述請參見Action要求方法。 |
Code | 狀態代碼。 取值如下:
|
Info | 請求成功時不顯示,顯示時表示錯誤狀態代碼資訊。 |
InstanceId | 雲訊息佇列 RabbitMQ 版執行個體的ID。您可以在雲訊息佇列 RabbitMQ 版控制台的執行個體詳情頁面或概覽頁面查看。 |
Queue | 訂閱或者訊息對應的Queue。
|
Property | 訊息的屬性。取值和描述如下:
|
RemoteAddress | 發起該操作的用戶端地址。
說明 Action為SendDlqMessage時,不記錄該欄位。 |
ReqUid | 帳號ID。
說明 Action為SendDlqMessage時,不記錄該欄位。 |
ResourceName | 資源名稱。
說明 Action為ConnectionOpen、ConnectionClose、ChannelOpen或ChannelClose時,不記錄該欄位。 |
VHost | Vhost名稱。您可以在雲訊息佇列 RabbitMQ 版控制台的Vhost管理頁面查看。 |
ConnectionId | 服務端用於唯一標識Connection。 說明 Action為SendDlqMessage時,不記錄該欄位。 |
ChannelId | 用戶端產生的Channel ID,用於標識當前Connection下的唯一Channel。 說明 Action為ConnectionOpen和ConnectionClose時,為null。 |
microtime | 請求發生時間,單位:微秒。 |
_source_ | 該參數為Log ServiceSLS(Log Service)的保留欄位。如果您想瞭解該欄位的含義,請參見保留欄位。 |
__tag__:__receive_time__ | 該參數為Log ServiceSLS的保留欄位。如果您想瞭解該欄位的含義,請參見保留欄位。 |
__topic__ | 該參數為Log ServiceSLS的保留欄位。如果您想瞭解該欄位的含義,請參見保留欄位。 |
Action要求方法
要求方法 | 說明 |
ConnectionOpen | 開啟串連。 |
ConnectionClose | 關閉串連。 |
ChannelOpen | 開啟Channel。 |
ChannelClose | 關閉Channel。 |
QueueDeclare | 建立Queue。 |
QueueDelete | 刪除Queue。 |
ExchangeDeclare | 建立Exchange。 |
ExchangeDelete | 刪除Exchange。 |
ExchangeBind | 綁定路由到Exchange。 |
ExchangeUnBind | 解除源Exchange到目標Exchange的綁定。 |
QueueBind | 綁定路由到Queue。 |
QueueUnbind | 解除源Exchange到目標Queue的 |
SendMessage | 生產者生產訊息。 |
PushMessage | 服務端推送訊息。 |
BasicGet | 用戶端拉取訊息。 |
BasicAck | ACK訊息。 |
BasicConsume | 訂閱Queue。 |
BasicReject | Reject訊息。 |
BasicRecover | Recover訊息。 |
BasicNack | Nack訊息。 |
BasicQos | 設定Consumer的流控。 |
QueuePurge | 清空Queue中所有訊息。 |
DeleteMessage | 用戶端調用BasicAck,服務端確認訊息被成功刪除。 |
SendDlqMessage | 發送死信訊息。 |
操作步驟
為雲訊息佇列 RabbitMQ 版執行個體配置LoggingBucket,將日誌推送到Simple Log Service。
登入雲訊息佇列 RabbitMQ 版控制台,然後在左側導覽列選擇实例列表。
在实例列表頁面的頂部功能表列選擇地區,然後在執行個體列表中,單擊目標執行個體名稱。
在左側導覽列,單擊日志管理。
可選:在RabbitMQ服务关联角色頁面,單擊授权。
如果您已授予雲訊息佇列 RabbitMQ 版訪問Simple Log Service許可權,請跳過此步驟。
在日志管理頁面,從Project 名称列表,選擇已建立的Project,從Logstore 名称列表,選擇已建立的Logstore,然後單擊启用。
登入Log Service控制台,開啟日誌索引並配置日誌欄位索引。具體操作請參見建立索引。
在索引欄位中手動添加
__tag__:__receive_time__
欄位,並設定別名為timestamp,如下圖所示。