mysql-exporter监控部署(k8s内)tensuns专用

发布时间:2023年12月28日

一、前言

? ? ?在k8s内部署mysql-exporter监控需要用到deployment、service服务

二、部署

? ? 在被监控的mysql中创建监控用户

? ? mysql -u root -p

? ??GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'monitor@'%' identified by '12345678';

? ? flush privileges;

? ? ?创建mysql-exporter服务的yaml文件存放目录

? ? ?mkdir?/opt/mysql-exporter && cd?/opt/mysql-exporter

? ? 编辑deployment的yaml文件

? ? vi deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysqld-exporter
  namespace: monitor
  labels:
    app: mysqld-exporter
spec:
  selector:
    matchLabels:
      app: mysqld-exporter
  template:
    metadata:
      labels:
        app: mysqld-exporter
    spec:
      containers:
      - name: mysqld-exporter
        image: swr.cn-south-1.myhuaweicloud.com/starsl.cn/mysqld_exporter:latest
        command:
        - /bin/mysqld_exporter
        - --collect.info_schema.innodb_metrics
        - --collect.info_schema.tables
        - --collect.info_schema.processlist
        - --collect.info_schema.tables.databases=*
        - --mysqld.username=monitor   #监控用户名称
        env:
        - name: MYSQLD_EXPORTER_PASSWORD
          value: 12345678      #监控用户密码
        ports:
        - containerPort: 9104
          name: http
        volumeMounts:
            - mountPath: /etc/localtime   
              name: tz-config
      volumes:
        - name: tz-config   #挂载时间配置,与宿主机配置时间同步
          hostPath:
            path: /usr/share/zoneinfo/Asia/Shanghai

?编辑service的yaml文件

?vi service.yaml

apiVersion: v1
kind: Service
metadata:
  labels:
    app: mysqld-exporter
  name: mysqld-exporter
  namespace: monitor
spec:
  type: NodePort
  ports:
  - name: http
    port: 9104
    targetPort: 9104
    nodePort: 30010
  selector:
    app: mysqld-exporter

?执行创建yaml文件对应的服务

? kubectl apply -f deployment.yaml

kubectl apply -f service.yaml

查看部署是否正常

kubectl get pod -n monitor

文章来源:https://blog.csdn.net/ApexPredator/article/details/135228572
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。