我正在嘗試在啟用資料流的情況下實作索引模板,然后在攝取節點管道中設定包含。這樣我就可以獲得具有以下索引格式的指標:
.ds-metrics-kubernetes 命名空間
我曾經嘗試過這個,我做了上面提到的這些事情,它以這種格式提供指標,但現在當我實作它時,它不會改變我的索引中的任何內容。我在 openshift 集群中看不到任何日志,所以攝取似乎作業正常(當我添加一個檔案并測驗它作業正常時)
PUT _ingest/pipeline/metrics-index
{
"processors": [
{
"set": {
"field": "_index",
"value": "metrics-{{kubernetes.namespace}}",
"if": "ctx.kubernetes?.namespace==\"dev\""
}
}
]
}
這是我用于索引的攝取節點條件。
metricbeatConfig:
metricbeat.yml: |
metricbeat.modules:
- module: kubernetes
enabled: true
metricsets:
- state_node
- state_daemonset
- state_deployment
- state_replicaset
- state_statefulset
- state_pod
- state_container
- state_job
- state_cronjob
- state_resourcequota
- state_service
- state_persistentvolume
- state_persistentvolumeclaim
- state_storageclass
- event
uj5u.com熱心網友回復:
由于您使用的是 Metricbeat,因此您有另一種更好的方法來執行此操作。
只需elasticsearch像這樣配置您的輸出:
output.elasticsearch:
hosts: ["http://<host>:<port>"]
indices:
- index: "%{[kubernetes.namespace]}"
mappings:
dev: "metrics-dev"
default: "metrics-default"
或者像這樣:
output.elasticsearch:
hosts: ["http://<host>:<port>"]
indices:
- index: "metrics-%{[kubernetes.namespace]}"
when.equals:
kubernetes.namespace: "dev"
default: "metrics-default"
或者如果你有很多不同的命名空間并且你不想管理不同的映射,那么這樣也可以作業:
output.elasticsearch:
hosts: ["http://<host>:<port>"]
index: "metrics-%{[kubernetes.namespace]}"
uj5u.com熱心網友回復:
在彈性堆疊中創建資料流的步驟:
- 創建 ILM 策略
- 創建一個索引模板,該模板的索引模式與指標/日志的索引模式匹配。(在索引模板中設定主分片/副本分片的數量和映射)
- 在攝取管道中設定條件。(確保不存在此類索引)
如果滿足這些條件,它將創建一個資料流,并且日志/指標將具有以 .ds- 開頭的索引,并且它將隱藏在索引管理中。
就我而言,問題是我沒有足夠的權限來創建自定義索引。當我檢查我的 OpenShift 日志時,我發現 metricbeat 抱怨特權。所以我給了超級用戶權限,然后使用攝取節點來設定條件索引
PUT _ingest/pipeline/metrics-index
{
"processors": [
{
"set": {
"field": "_index",
"value": "metrics-{{kubernetes.namespace}}",
"if": "ctx.kubernetes?.namespace==\"dev\""
}
}
]
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/398878.html
上一篇:谷歌云部署容器虛擬機“命令”選項
下一篇:springjson序列化問題
