背景
在通過skywalking將日志收集到es后,由于skywalking收集的日志(skywalking_log索引)沒有date類型的字段導(dǎo)致在es上再索引模式中沒有時間范圍的查詢。
解決思路
skywalking收集的日志有時間戳字段timestamp,只是默認為long類型
于是我們可以通過提前定義字段類型為data來解決這個問題
以下解決方案均在Kibana中進行操作
注意將 下面所有的skywalking_log換成skywalking linux安裝部署中oap配置的storage.elasticsearch7.nameSpace值例如skyw_log文章來源:http://www.zghlxwxcb.cn/news/detail-556583.html
- oap配置
vim config/application.yml
storage:
selector: ${SW_STORAGE:elasticsearch7} # 我使用的是es將 h2 改為:elasticsearch7
...
elasticsearch7:
nameSpace: ${SW_NAMESPACE:"skyw"} # 存儲在es中索引的前綴
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200} # 改為對應(yīng)es的ip端口
- 設(shè)置日志刪除策略
PUT _ilm/policy/skywalking_log_policy
{
"policy": {
"phases": {
"hot": {
"actions": {
"rollover": {
"max_size": "20GB",
"max_age": "30d"
},
"set_priority": {
"priority": 100
}
}
},
"delete": {
"min_age": "31d",
"actions": {
"delete": {}
}
}
}
}
}
- 創(chuàng)建索引模版 別名skywalking_log的創(chuàng)建是為了在skywalking后臺日志上能直接查看
PUT _template/skywalking_log
{
"index_patterns": [
"skywalking_log*"
],
"aliases": {
"skywalking_log": {}
},
"settings": {
"index": {
"lifecycle": {
"name": "skywalking_log_policy",
"rollover_alias": "skywalking_log"
}
}
},
"mappings": {
"properties": {
"content": {
"type": "keyword",
"copy_to": [
"content_match"
]
},
"content_match": {
"type": "text"
},
"content_type": {
"type": "integer",
"index": false
},
"endpoint_id": {
"type": "keyword"
},
"endpoint_name": {
"type": "keyword",
"copy_to": [
"endpoint_name_match"
]
},
"endpoint_name_match": {
"type": "text"
},
"service_id": {
"type": "keyword"
},
"service_instance_id": {
"type": "keyword"
},
"span_id": {
"type": "integer"
},
"tags": {
"type": "keyword"
},
"tags_raw_data": {
"type": "binary"
},
"time_bucket": {
"type": "date",
"format": "yyyyMMddHHmmss"
},
"timestamp": {
"type": "date"
},
"trace_id": {
"type": "keyword"
},
"trace_segment_id": {
"type": "keyword"
},
"unique_id": {
"type": "keyword"
}
}
}
}
- 刪除之前的skywalking_log_xxx(請保證該索引可以換唄刪除,否則請自行備份)索引
這樣在每天自動生成的索引skywalking_log_xxx就會使用上述模版來生成,timestamp會被設(shè)置成date類型。然后此時在–>索引管理–>kibana–>索引模式添加skywalking_log*索引時就會有時間字段了。文章來源地址http://www.zghlxwxcb.cn/news/detail-556583.html
到了這里,關(guān)于skywalking日志落到es字段timestamp不為date問題解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!