Bootstrap

kubernetes Prometheus Mysql exporter 的部署文件

参考地址
https://github.com/prometheus/mysqld_exporter

创建账号

CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'mysqlexporter' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';

vi mysql-exporter.yaml


apiVersion: v1
kind: Service
metadata:
  name: mysql-exporter
  namespace: hjmos
  labels:
    k8s-app: mysql-exporter
spec:
  selector:
    k8s-app: mysql-exporter
  ports:
  - name: mysql-exporter
    port: 9104
    protocol: TCP
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql-exporter
  namespace: hjmos
  labels:
    k8s-app: mysql-exporter
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: mysql-exporter
  template:
    metadata:
      labels:
        k8s-app: mysql-exporter
    spec:
      containers:
      - name: mysql-exporter
        image: prom/mysqld-exporter
        imagePullPolicy: IfNotPresent
        args: ["--collect.info_schema.processlist",
              "--collect.info_schema.innodb_metrics",
              "--collect.info_schema.tablestats",
              "--collect.info_schema.userstats",
              "--collect.engine_innodb_status",
              "--collect.slave_hosts"
              ]
        env:
        - name: DATA_SOURCE_NAME
          value: 'exporter:mysqlexporter@(mysql:3306)/mysql' # user:password@(hostname:3306)/
        resources:
          limits:
            cpu: 500m
            memory: 1Gi
          requests:
            cpu: 100m
            memory: 512Mi

kubectl apply -f mysql-exporter.yaml

注意:需要暴露到Prometheus的采集器中

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;