下載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