在 日志服務運作日志使用指南 一文中我們已經介紹了關于如何使用日志服務(SLS)的服務日志功能。本文将介紹新版的服務日志具體有哪些變化。
新功能介紹
1. 更豐富的日志類型
本次更新增加了Logtail狀态日志。Logtail每分鐘會上報一次程序和作業系統的狀态資訊,如記憶體,CPU,系統負載等資訊。可以根據該日志監控Logtail程序是否存活,運作狀态是否正常。
2. Logstore個數精簡,費用免費
在之前的版本中,服務日志需要使用5個Logstore用于分别存儲記錄檔,消費組日志,Logtail采集日志,Logtail錯誤日志和計量日志,且這5個Logstore采用與正常的Logstore一緻的
收費政策。
在新版中,僅需兩個Logstore:
- internal-diagnostic_log: 存儲狀态/監控日志的日志,各種日志根據topic進行區分。這個Logstore完全免費,而且不支援使用者删除或者寫入其他日志。各種日志對應的topic:
(1)計量日志:metering;
(2)Logtail狀态日志:logtail_status;
(3)Logtail采集日志:logtail_profile;
(4)Logtail錯誤日志:logtail_alarm;
(5)消費組日志:consumergroup_log。
- internal-operation_log: 存儲所有記錄檔(包含管控類,資料類所有API),由于資料量比較大,會按标準logstore模式計費。
3. 日志種類支援按需開通
新版的服務日志開通界面将服務日志分為記錄檔和其他日志,使用者可以根據需求選擇開通的日志類型。如圖-1所示。
圖-1 支援選擇開通的日志類型
4. 全新的預設儀表盤
結合日志服務服務儀表盤的新功能,本次更新對開通服務日志時建立的預設儀表盤進行了全面改版。參考
服務日志預設儀表盤5. 支援子賬戶開通
子賬戶開通服務日志需要具備如下RAM權限:
{
"Version": "1",
"Statement": [
{
"Action": [
"log:CreateDashboard",
"log:UpdateDashboard"
],
"Resource": "acs:log:*:*:project/{存儲日志的Project}/dashboard/*",
"Effect": "Allow"
},
{
"Action": [
"log:GetProject",
"log:CreateProject",
"log:ListProject"
],
"Resource": "acs:log:*:*:project/*",
"Effect": "Allow"
},
{
"Action": [
"log:List*",
"log:Create*"
"log:Get*",
"log:Update*",
],
"Resource": "acs:log:*:*:project/{存儲日志的Project}/logstore/*",
"Effect": "Allow"
},
{
"Action": [
"log:*"
],
"Resource": "acs:log:*:*:project/{開通日志的Project}/logging",
"Effect": "Allow"
}
]
}
如使用者有foo和bar兩個Project,為 foo 開通服務日志,并将服務日志儲存到 bar 中,則所需的RAM權限為:
{
"Version": "1",
"Statement": [
{
"Action": [
"log:CreateDashboard",
"log:UpdateDashboard"
],
"Resource": "acs:log:*:*:project/bar/dashboard/*",
"Effect": "Allow"
},
{
"Action": [
"log:GetProject",
"log:CreateProject",
"log:ListProject"
],
"Resource": "acs:log:*:*:project/*",
"Effect": "Allow"
},
{
"Action": [
"log:List*",
"log:Create*"
"log:Get*",
"log:Update*",
],
"Resource": "acs:log:*:*:project/bar/logstore/*",
"Effect": "Allow"
},
{
"Action": [
"log:*"
],
"Resource": "acs:log:*:*:project/foo/logging",
"Effect": "Allow"
}
]
}
子賬戶授權參考
RAM授權6. 支援預設的存儲project
日志存儲位置增加 自動建立 選項,如果選擇該選項,日志服務自動在Project所在地域建立一個Project名稱格式為 log-service-{aliuid}-{region} 的Project作為日志存儲位置,如使用者aliuid為1234567,地域為杭州,則該Project名稱為 log-service-1234567-cn-hangzhou。推薦使用者在為每個project開通服務日志時都選擇該選項,這樣就能将同一個地域的服務日志集中在一個Logstore和儀表盤中一起分析,同時也能減少收費的Logstore個數,降低成本。
開通方式
1. 全新開通
如果Project尚未開通服務日志,可通過如下步驟開通:
(1)進入日志服務控制台,找到需要開通的project,如圖-2所示:
圖-2 控制台Project清單
(2)找到想要開通的project,在操作欄點選服務日志,如圖-3所示:
圖-3 開通服務日志
選擇需要開通的日志類型和日志存儲位置,推薦使用預設的選項。
2. 已開通的Project如何更新
如果已經開通了服務日志,需要手動更新到新版,否則仍然會按照原來的方式進行存儲和計費。隻需通過如下步驟即可更新到新版:
(1)進入日志服務控制台,找到需要開通的project,如上圖2所示。
(2)選擇需要開通的日志類型,如果已經開通,此處會勾選全部類型。點選确定完成更新,如圖-4所示。
圖-4 更新已經開通的服務日志
(3)舊版中的internal-metering, internal-logtail_profile, internal-logtail_alarm, internal-consumergroup_log 這幾個Logstore如果不再需要可以手動删除。
服務日志應用舉例
1. Logtail異常監控
對于使用Logtail采集日志的使用者,logtail采集狀态是否健康關系到日志采集是否正常進行。開通服務日志後,Logtail的錯誤日志儲存在internal-diagnostic_log 這個Logstore中,對應的topic為logtail_alarm,我們通過監控logtail的錯誤日志條數來設定告警,如下圖-5所示:
圖-5
查詢語句:
__topic__: logtail_alarm | select sum(alarm_count) as errorCount
對錯誤次數設定告警,如圖-6所示:
圖-6
2. 訂閱儀表盤
開通服務日志時,将自動建立對應的儀表盤,使用者可以配置訂閱任務,日志服務将會定期将儀表盤以圖檔的形式發送到使用者的郵箱或者釘釘群裡。以計量統計儀表盤為例:
圖-7