2017-04-07 125 views
2

有沒有辦法使用CloudWatch控制檯過濾帶有模式的日誌流?在aws cloudwatch中過濾日誌流

例如,我有一個日誌組以下日誌流 - 日誌組:

'的/ var/PROD /日誌'。

日誌流:

/PROD/[node_instance_id]/nginx_access
/PROD/[node_instance_id]/nginx_error

我有自動縮放等多節點環境所以日誌流可能非常混亂 - 這是我在日誌流中看到的一個例子。

/PROD/1a2b3c4d5e/nginx_access
/PROD/1a2b3c4d5e/nginx_error
/PROD/1b2b3c4d5e/nginx_access
/PROD/1b2b3c4d5e/nginx_error
/PROD/1c2b3c4d5e/nginx_access
/PROD/1c2b3c4d5e/nginx_error

我想過濾日誌流只是'nginx_access'。但是從控制檯,它看起來像我只能指定前綴。無論如何,我可以使用類似'* nginx_access'的過濾器來過濾日誌流?

回答

3

DescribeLogStreams API只支持按前綴過濾,控制檯使用該API列出日誌流。不可能通過除前綴以外的內容進行過濾。

在你的情況下,最好的做法是使用2個日誌組,每種類型:

  • 的/ var /生產/ nginx_access
  • 的/ var /生產/ nginx_error

這樣,您可以先導航到日誌,方法是首先選擇適當的日誌組,然後使用前綴過濾器搜索實例標識。

+0

感謝您的信息丹尼爾!知道控制檯實際上正在使用此API調用很有用。出於好奇,這[FilterLogEvents API](http://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_FilterLogEvents.html)似乎是我正在尋找的。你知道控制檯是否在使用這個API嗎? –

+0

丹尼爾,請在此處修復您的答案:http://stackoverflow.com/a/2243835/2441655 這是可驗證的不正確。 – Venryx

+1

@RayT - 列出日誌流時不用。控制檯使用DescribeLogStreams。 FilterLogEvents用於在日誌流或日誌組中進行搜索。 –

相關問題