通過服務(wù)日志監(jiān)測日志服務(wù)
如果您需要對日志服務(wù)進(jìn)行監(jiān)控運(yùn)維(監(jiān)測Logtail狀態(tài)和異常、查看消費(fèi)組延遲、資源的操作記錄等),可以對服務(wù)日志進(jìn)行查詢分析。
背景信息
開啟服務(wù)日志功能時(shí),您可以選擇服務(wù)日志的類型,包括詳細(xì)日志、重要日志、任務(wù)運(yùn)行日志,不同日志類型的詳細(xì)說明和字段說明請參見服務(wù)日志類型。
詳細(xì)日志:詳細(xì)日志會(huì)在您選擇的Project創(chuàng)建名稱為internal-operation_log的LogStore,在當(dāng)前Project創(chuàng)建儀表盤。
重要日志:重要日志會(huì)在您選擇的Project創(chuàng)建名稱為internal-diagnostic_log的LogStore,記錄消費(fèi)組延遲和LogTail心跳日志等。
任務(wù)運(yùn)行日志:任務(wù)運(yùn)行日志會(huì)在您選擇的Project創(chuàng)建名稱為internal-diagnostic_log的LogStore,記錄數(shù)據(jù)導(dǎo)入、定時(shí)SQL、投遞任務(wù)的運(yùn)行日志。
前提條件
已開通服務(wù)日志。更多信息,請參見開通服務(wù)日志。
監(jiān)測Logtail心跳
查詢Logtail狀態(tài)日志
在名稱為internal-diagnostic_log的Logstore的查詢分析頁面,執(zhí)行如下查詢語句。
__topic__: logtail_status
Logtail狀態(tài)日志示例如下,字段說明請參見Logtail狀態(tài)日志。
{ "os_detail": "Windows Server 2012 R2", "__time__": 1645164875, "__topic__": "logtail_status", "memory": "25", "os": "Windows", "__source__": "log_service", "ip": "203.**.**.110", "cpu": "0.010405", "project": "aliyun-test-project", "version": "1.0.0.22", "uuid": "bf00****688b0", "hostname": "iZ1****Z", "instance_id": "5897****4735", "__pack_meta__": "0|MTYzNjM1Mzk5NDExMTcxOTQzNw==|1|0", "user_defined_id": "", "user": "SYSTEM", "detail_metric": "{\n\t\"config_count\" : \"1\",\n\t\"config_get_last_time\" : \"2022-02-18 14:14:23\",\n\t\"config_prefer_real_ip\" : \"false\"... "status": "ok" }
監(jiān)測Logtail心跳
統(tǒng)計(jì)Logtail心跳正常個(gè)數(shù):在名稱為internal-diagnostic_log的Logstore查詢分析頁面,參考下圖步驟,統(tǒng)計(jì)Logtail心跳正常個(gè)數(shù),并配置告警。
查詢分析語句:
__topic__: logtail_status | SELECT COUNT(DISTINCT ip) as ip_count
配置告警規(guī)則:如果查詢分析結(jié)果低于Logtail所綁定的機(jī)器組中的總機(jī)器數(shù)(此處假設(shè)總機(jī)器數(shù)為100)則觸發(fā)告警。告警規(guī)則詳細(xì)參數(shù)配置,請參見快速設(shè)置日志告警。
排查心跳異常的機(jī)器:如果產(chǎn)生告警,代表機(jī)器組中部分服務(wù)器沒有心跳。您可以在日志服務(wù)控制臺(tái)上查看機(jī)器組狀態(tài),排查思路請參見Logtail機(jī)器組問題排查思路(主機(jī)場景)。
監(jiān)控Logtail異常情況
在名稱為internal-diagnostic_log的Logstore的查詢分析頁面,執(zhí)行__topic__: logtail_alarm
查詢語句,即可查詢Logtail告警日志,幫您及時(shí)發(fā)現(xiàn)Logtail異常狀況,調(diào)整Logtail配置,確保日志不丟失。例如執(zhí)行如下語句,查詢分析15分鐘內(nèi)各種異常類型發(fā)生的次數(shù)。
__topic__: logtail_alarm | select sum(alarm_count)as errorCount, alarm_type GROUP BY alarm_type
查詢消費(fèi)組延時(shí)日志
日志示例
通過消費(fèi)組消費(fèi)數(shù)據(jù)時(shí),您可以通過消費(fèi)組延時(shí)日志了解當(dāng)前的消費(fèi)進(jìn)度,當(dāng)延時(shí)較大時(shí),可以及時(shí)調(diào)整消費(fèi)者個(gè)數(shù)等方式來改進(jìn)消費(fèi)速度。消費(fèi)組延時(shí)日志示例如下,字段說明請參見消費(fèi)組延遲日志。
{
"__time__": 1645166007,
"consumer_group": "consumerGroupX",
"__topic__": "consumergroup_log",
"__pack_meta__": "1|MTYzNjM1Mzk5NDExMTg5NjU2Mg==|3|0",
"__source__": "log_service",
"project": "aliyun-test-project",
"fallbehind": "9518678",
"shard": "1",
"logstore": "nginx-moni"
}
查詢消費(fèi)組延時(shí)日志
在名稱為internal-diagnostic_log的Logstore的查詢分析頁面,執(zhí)行查詢語句__topic__: consumergroup_log
,即可查詢消費(fèi)組延時(shí)日志。例如執(zhí)行如下語句,查詢消費(fèi)組名稱為consumerGroupX
的消費(fèi)組的消費(fèi)延時(shí)情況。
__topic__: consumergroup_log and consumer_group: consumerGroupX | SELECT max_by(fallbehind, __time__) as fallbehind
查詢Project下所有資源的操作日志
日志示例
Project內(nèi)所有資源的創(chuàng)建、修改、更新、刪除操作日志和數(shù)據(jù)讀寫日志,保存在名稱為internal-operation_log的Logstore中,包括控制臺(tái)、消費(fèi)組、SDK等所有客戶端發(fā)送的請求日志。 操作日志的示例如下,字段說明請參見詳細(xì)日志。
{
"NetOutFlow": "1",
"InvokerUid": "1418****2562",
"CallerType": "Sts",
"InFlow": "0",
"SourceIP": "203.**.**.220",
"__pack_meta__": "0|MTYzNjM1Mzk5MzY1NDYwODQzMg==|2|1",
"RoleSessionName": "STS-ETL-WORKER",
"APIVersion": "0.6.0",
"UserAgent": "log-python-sdk-v-0.6.46, sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0), linux-consumergroup-etl-2bd3fdfdd63595d56b1ac24393bf5991",
"InputLines": "0",
"Status": "200",
"__time__": 1645167812,
"__topic__": "operation_log",
"NetInflow": "0",
"RequestId": "620F44C456458F67F72160A0",
"LogStore": "nginx-moni",
"__source__": "log_service",
"Method": "PullData",
"ClientIP": "203.**.**.330",
"Latency": "2191",
"Role": "aliyunlogetlrole",
"NetworkOut": "0",
"Project": "aliyun-test-project",
"AccessKeyId": "STS.NUE****1hm",
"Shard": "0"
}
用戶信息分類如下表所示:
類型 | 字段 |
阿里云賬號 |
|
RAM用戶 |
|
Sts |
|
查詢操作失敗的請求數(shù)量
在internal-operation_log的Logstore查詢分析頁面,執(zhí)行如下查詢語句,查詢操作失敗(Status大于200)的請求數(shù)量。
Status > 200 | select count(*) as pv