Prometheus 监控 Mysql

1、安装mysql服务

kubectl create deploy mysql --image=registry.cn-beijing.aliyuncs.com/dotbalo/mysql:5.7.23

1.1、使用变量设置mysql密码

kubectl set env deploy/mysql MYSQL_ROOT_PASSWORD=mysql

1.2、暴露mysql端口

kubectl expose deploy mysql --port 3306

1.3、授权mysql账户

CREATE USER 'exporter'@'%' IDENTIFIED BY 'exporter' WITH MAX_USER_CONNECTIONS 3;
Query OK, 0 rows affected (0.01 sec)
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%';
Query OK, 0 rows affected (0.00 sec)

2、创建mysql-exporter服务

[root@master ~]# cat mysql-exporter.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql-exporter
  namespace: kuboard
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: mysql-exporter
  template:
    metadata:
      labels:
        k8s-app: mysql-exporter
    spec:
      containers:
      - name: mysql-exporter
        image: registry.cn-beijing.aliyuncs.com/dotbalo/mysqld-exporter
        env:
        - name: DATA_SOURCE_NAME
          value: "root:123456@(192.168.122.222:30295)/"    # 要监控的mysql账号信息
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 9104
---
apiVersion: v1
kind: Service
metadata:
  name: mysql-exporter
  namespace: kuboard
  labels:
    k8s-app: mysql-exporter
spec:
  type: ClusterIP
  selector:
    k8s-app: mysql-exporter
  ports:
  - name: api
    port: 9104
    protocol: TCP

2.1、部署mysql-exporter

kubectl apply -f mysql-exporter.yaml 

2.2、验证是否部署成功

[root@master ~]# kubectl get pod,svc  -n kuboard
mysql-exporter-7cff6b6759-q7djh          1/1     Running   0                 17h
mysql-exporter          ClusterIP   10.108.108.48    <none>        9104/TCP                                       17h

2.3、查看 ENDPOINTS

[root@master ~]# kubectl get ep -n kuboard
mysql-exporter          10.244.1.93:9104                                                 17h

2.4、部署servicemonitor

[root@master ~]# cat mysql-sm.yanl 
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  labels:
    k8s-app: mysql-exporter
  name: mysql-exporter
  namespace: kuboard
spec:
  endpoints:
  - interval: 15s
    port: api
    scheme: http
  selector:
    matchLabels:
      k8s-app: mysql-exporter
  namespaceSelector:
    matchNames:
    - kuboard

2.4.1、查看 servicemonitor是否部署成功

[root@master ~]# kubectl get servicemonitor -n kuboard
NAME                      AGE
mysql-exporter            17h

3、prometheus 界面查看
在这里插入图片描述
4、granfana 图形化展示(导入6239模板)
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维那些事~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值