把prometheus-operator部署起来的prometheus metrics远程存储到es。
prometheus官方推荐通过metricbeat写入Elasticsearch
https://github.com/elastic/beats
但是prometheus并没有实现remote write到elasticsearch的功能。见 https://github.com/prometheus/prometheus/issues/5528
通过prometheusbeat写入Elasticsearch
由于prometheus不能直接写入Elasticsearch, 因此官方给的方案是https://github.com/prometheus/docs/pull/1412:
https://github.com/infonova/prometheusbeat
prometheusbeat配置文件
prometheusbeat.yaml
prometheusbeat:
listen: "0.0.0.0:8080"
context: "/prometheus"
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["10.10.13.43:9200"]
# # Optional protocol and basic auth credentials.
# #protocol: "https"
# #username: "elastic"
# #password: "changeme
部署prometheusbeat
docker run -d --name prometheusbeat -p 8080:8080 -v /etc/prometheusbeat/prometheusbeat.yaml:/prometheusbeat.yml:ro infonova/prometheusbeat:7.3.1
prometheus 配置remote write
修改prometheus-prometheus.yaml,添加如下内容
remoteWrite:
- url: http://prometheusbeat ip:8080/prometheus
queueConfig:
capacity: 20000
maxSamplesPerSend: 10000
maxShards: 30
minShards: 30