下載Metricbeat的docker版本
官網介紹: https://www.elastic.co/beats/metricbeat
其中給普羅米修斯使用的模組為: https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-module-prometheus.html
官方映像檔: https://hub.docker.com/r/elastic/metricbeat
下載映像檔
docker pull docker.elastic.co/beats/metricbeat:8.5.3
新建一個Metricbeat的Pod
設定metrucbeat的deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: metricbeat
namespace: default
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
workload.user.cattle.io/workloadselector: apps.deployment-srs3-metricbeat
template:
spec:
affinity: {}
containers:
- image: dev-registry.xycloud.org/ldr/streaming/metricbeat
imagePullPolicy: Always
name: metricbeat
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /usr/share/metricbeat/metricbeat.yml
name: vol0
subPath: metricbeat.yml
- mountPath: /usr/share/metricbeat/prometheus.yml
name: vol0
subPath: prometheus.yml
dnsPolicy: ClusterFirst
imagePullSecrets:
- name: regsecret
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- configMap:
defaultMode: 420
name: filebeat-config
name: vol0
設定兩個config
metricbeat.yml
metricbeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
metricbeat.max_start_delay: 10s
output.logstash:
enabled: true
hosts: ["logstash-logstash.tool-elk.svc.cluster.local:5043"]
index: 'metricbeat'
logging.level: info
logging.metrics.enabled: false
logging.metrics.period: 30s
prometheus.yml
- module: prometheus
metricsets: ["query"]
hosts: ["http://rancher-monitoring-prometheus.cattle-monitoring-system.svc.cluster.local:9090"]
period: 10s
queries:
- name: "stream_total_clients_by_pod"
path: "/api/v1/query"
params:
query: "stream_total_clients_by_pod"
把這兩個config mount進pod的在/usr/share/metricbeat