c语言sscanf函数的用法是什么
264
2022-10-21
使用Prometheus监控自建Mysql
说明
四个主要步骤:
(1)数据库授权 (2)部署prometheus-mysql-exporter (3)对接Grafana数据看板 (4)对接Prometheus监控报警
架构图
说明:如上图,通过mysql_exporter获取MySQL的监控数据,通过node_exporter获得Linux服务器的监控数据。将获得的监控数据传到Prometheus中,最终通过Grafana展示出来。
部署 mysql 服务
本教程是用于测试演练,使用docker快速部署mysql服务:
# 部署mysql docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Test#123 mysql:5.7 # 进入mysql docker exec -it mysql-test /bin/bash # 登陆mysql mysql -uroot -pTest#123
创建监控账号并授权
CREATE USER 'exporter'@'%' IDENTIFIED BY 'Test#123'; GRANT SELECT, PROCESS, SUPER, REPLICATION CLIENT, RELOAD ON *.* TO 'exporter'@'%'; flush privileges;
登陆测试:
mysql -h 192.168.1.1 -uexporter -pTest#123
即可正常登陆~
helm部署mysql-exporter
# 添加库 helm repo add prometheus-community https://prometheus-community.github.io/helm-charts # 更新库 helm repo update # 查询包 helm search repo prometheus-mysql-exporter NAME CHART VERSION APP VERSION DESCRIPTION prometheus-community/prometheus-mysql-exporter 1.7.0 v0.12.1 A Helm chart for prometheus mysql exporter with...
更多 helm 操作详见prometheus-mysql-exporter
# 下载prometheus-mysql-exporter helm pull prometheus-community/prometheus-mysql-exporter # 解压 tar zxvf prometheus-mysql-exporter-1.7.0.tgz
修改values.yaml
修改values.yaml中的datasource为安装在kubernetes/docker/主机中 mysql 的地址:
# mysql connection params which build the DATA_SOURCE_NAME env var of the docker container mysql: db: "" host: "192.168.1.1" param: "" pass: "Test#123" port: 3306 protocol: "" user: "exporter" # secret with full DATA_SOURCE_NAME env var as stringdata existingSecret: false
重新打包
tar -zcvf prometheus-mysql-exporter-v1.0.tgz prometheus-mysql-exporter
helm install
# 创建中间件空间 kubectl create ns middle # 部署 helm install mysql-devops prometheus-mysql-exporter-v1.0.tgz -n middle # 查看资源 kubectl get all -n middle
对接Prometheus
这里我直接使用 Prometheus 自动发现,更新svc配置添加如下参数:
kubectl edit svc mysql-devops-prometheus-mysql-exporter -n middle # 在 annotations 里添加 annotations: meta.helm.sh/release-name: mysql-devops meta.helm.sh/release-namespace: middle # 下面两项 prometheus.io/port: "9104" prometheus.io/scrape: "true"
登陆prometheus-->target,查看:
对接Grafana
这里我分享两个看板模型,根据需要大家自选挑选~
这个更新的不及时,要体验最新的我们直接去项目地址下载安装mysql监控的dashboard,可参考grafana-dashboards
Mysql报警规则
kubectl apply -f Alert/prometheus-alert-rules-mysql-devops.yaml
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~