Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

 

目录

开始

Exporter 采集数据,Prometheus 拉取并监控

Linux

MySQL

Redis

RabbitMQ

Docker

SpringBoot 3.x


开始


Exporter 采集数据,Prometheus 拉取并监控

Note:Prometheus 和 Grafana 的部署已经在前面的章节中讲过了,不知道的胖友可以在这个专栏里找找~

Linux

 a)拉取镜像

docker pull prom/node-exporter

 b)运行

node_exporter 挂载的都是系统文件.

docker run -d -p 9100:9100 \
--name=node_exporter \
--restart=always \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
--net="host" \
prom/node-exporter

c)浏览器中输入 env-base:9100 ,如下表示访问成功

点击 “Metrics” 就是采集到的数据,由 Prometheus 负责拉取,监控.

d)在  prometheus.yml 文件中添加配置如下:

  - job_name: node_exporterstatic_configs:- targets: ['env-base:9100']

docker restart 重启 Prometheus,接着在 Prometheus 的 Targets 就可以观察到

e)在 Grafana 中监控.

打开 env-base:3000 Grafana 仪表盘.

在社区中找到喜欢的仪表盘(一定要是关于 node_exporter 的) 

Grafana dashboards | Grafana LabsBrowse a library of official and community-built dashboards.icon-default.png?t=N7T8https://grafana.com/grafana/dashboards/

MySQL

a)拉取镜像

docker pull prom/mysqld-exporter

b)运行容器

docker run -d --name=mysql-exporter \--restart=always \-p 9104:9104 \-e DATA_SOURCE_NAME="user:password@(mysql-server-ip:3306)/" \prom/mysqld-exporter
  • user 和 password 替换为连接 MySQL 时所需的用户名和密码.
  • mysql-server-ip 替换为 MySQL 服务器的 IP 地址.

我的配置如下:

docker run -d --name=mysql-exporter \--restart=always \-p 9104:9104 \-e DATA_SOURCE_NAME="root:1111@(env-base:3306)/" \prom/mysqld-exporter

c)浏览器中输入 env-base:9104,如下表示访问成功:

d)在  prometheus.yml 文件中添加配置如下:

  - job_name: mysql_exporterstatic_configs:- targets: ['env-base:9104']

docker restart 重启 Prometheus,接着在 Prometheus 的 Targets 就可以观察到

e)在 Grafana 中监控.

打开 env-base:3000 Grafana 仪表盘.

在社区中找到喜欢的仪表盘(一定要是关于 mysql 的) 

Grafana dashboards | Grafana LabsBrowse a library of official and community-built dashboards.icon-default.png?t=N7T8https://grafana.com/grafana/dashboards/

Redis

a)拉取镜像

docker pull oliver006/redis_exporter

b)运行容器

docker run -d --name redis_exporter \--restart=always \-p 9121:9121 \--env REDIS_ADDR=redis:6379 \oliver006/redis_exporter

 redis_addr 指定redis 的地址,以下是我的配置

docker run -d --name redis_exporter \--restart=always \-p 9121:9121 \--env REDIS_ADDR=env-base:6379 \oliver006/redis_exporter

 

c)浏览器中输入 env-base:9121 ,如下表示访问成功:

d)在  prometheus.yml 文件中添加配置如下:

  - job_name: redis_exporterstatic_configs:- targets: ['env-base:9121']

 docker restart 重启 Prometheus,接着在 Prometheus 的 Targets 就可以观察到

e)在 Grafana 中监控.

打开 env-base:3000 Grafana 仪表盘.

在社区中找到喜欢的仪表盘(一定要是关于 redis 的) 

Grafana dashboards | Grafana LabsBrowse a library of official and community-built dashboards.icon-default.png?t=N7T8https://grafana.com/grafana/dashboards/

 

RabbitMQ

a)拉取镜像

docker pull kbudde/rabbitmq-exporter

b)运行容器

docker run -d --name rabbitmq_exporter \--restart=always \-p 9419:9419 \-e RABBIT_URL=http://100.105.180.32:15672 \-e RABBIT_USER=root \-e RABBIT_PASSWORD=1111 \-e UTPUT_FORMAT=JSON \kbudde/rabbitmq-exporter

Ps:RABBIT_URL 必须要以 http:// 开头 

c)浏览器中输入 env-base:9419 ,如下表示访问成功:

d)在  prometheus.yml 文件中添加配置如下:

  - job_name: rabbitmq_exporterstatic_configs:- targets: ['env-base:9419']

 docker restart 重启 Prometheus,接着在 Prometheus 的 Targets 就可以观察到

 

e)在 Grafana 中监控.

打开 env-base:3000 Grafana 仪表盘.

在社区中找到喜欢的仪表盘(一定要是关于 rabbitmq 的) 

Grafana dashboards | Grafana LabsBrowse a library of official and community-built dashboards.icon-default.png?t=N7T8https://grafana.com/grafana/dashboards/

Ps:这里有点问题。。。 TODO 版本兼容性问题(mq 和 exporter)

Docker

a)拉取镜像

docker pull google/cadvisor

b)运行容器

docker run -d --name cadvisor \-p 8080:8080 \--volume=/:/rootfs:ro \--volume=/var/run:/var/run:rw \--volume=/sys:/sys:ro \--volume=/var/lib/docker/:/var/lib/docker:ro \google/cadvisor:latest

c)浏览器中输入 env-base:8080,如下表示访问成功:

d)在  prometheus.yml 文件中添加配置如下:

  - job_name: docker_exporterstatic_configs:- targets: ['env-base:8080']

docker restart 重启 Prometheus,接着在 Prometheus 的 Targets 就可以观察到

e)在 Grafana 中监控.

打开 env-base:3000 Grafana 仪表盘.

在社区中找到喜欢的仪表盘(一定要是关于 docker 的) 

Grafana dashboards | Grafana LabsBrowse a library of official and community-built dashboards.icon-default.png?t=N7T8https://grafana.com/grafana/dashboards/

SpringBoot 3.x

a)在 SpringBoot 中引入相关依赖如下:

        <dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency>

b)配置文件配置如下:

server:port: 9000 # 服务端口一般 0 结尾,便于 actuator 端口配置spring:application:name: prometheus# actuator
management:server:port: 9001 # actuator 监听端口(一般是 服务端口 + 1)endpoints:web:exposure:include: health,info,prometheusbase-path: /console # 将来通过 /console/prometheus 就可以拿到数据endpoint:prometheus:enabled: true

c)修改 prometheus.yml 配置文件,如下:

  - job_name: spring-boot3 metrics_path: /console/prometheusstatic_configs:- targets: ['100.94.135.96:9001']

docker restart 重启后如下:

 

 

d)配置 Grafana

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/46264.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Solana Blink和SEND的崛起:技术与市场效应的结合

随着Solana生态系统的不断发展&#xff0c;新的项目和技术不断涌现&#xff0c;吸引了大量的关注和投资。最近&#xff0c;Solana的Blink项目及其相关的SEND代币成为了市场的焦点&#xff0c;引发了广泛的讨论和投资热潮。本文将探讨Blink和SEND的技术创新、市场表现以及未来的…

C++中的自定义数据类型:类和结构体

目录 自定义数据类型(1)类A.面向对象的四大特征B.What&#xff08;什么是类&#xff09;C.Why&#xff08;类的作用&#xff09;D.How&#xff08;如何定义和使用类&#xff09; (2)结构体 自定义数据类型 (1)类 A.面向对象的四大特征 谈到类&#xff0c;就必须讲一下面向对…

基于MATHCAD的傅里叶级数模拟和方波图像绘制

一、MATHCAD软件简介 MATHCAD是一款功能强大的数学计算软件&#xff0c;它允许用户以类似手写公式的方式输入数学表达式&#xff0c;并即时显示计算结果和图形。在工程研究和学术写作的世界里&#xff0c;MathCAD以其强大的符号运算能力和直观的数学书写体验脱颖而出。MATHCAD…

三相PWM整流器PI双闭环控制Simulink

1.模型简介 本仿真模型基于MATLAB/Simulink&#xff08;版本MATLAB 2017Rb&#xff09;软件。建议采用matlab2017 Rb及以上版本打开。&#xff08;若需要其他版本可联系代为转换&#xff09; 2.拓扑结构&#xff1a; 3.模型算法架构&#xff1a; 4.仿真算法&#xff1a; &am…

Lua协程(同步的多线程)

1.coroutine.create( func ) 创建一个协程&#xff0c;返回co&#xff08;coroutine&#xff09;&#xff0c;参数是一个函数&#xff0c;当调用resume时就唤醒co并调用函数 2.coroutine.resume(co, 函数参数们) 启动协程co并传入协程调用函数的参数&#xff0c;可以带回协程…

前端XMLHttpRequest、Fetch API、Axios实现文件上传、下载方法及后端Spring文件服务器处理方法

前言 本文总结Web应用开发中文件上传、下载的方法&#xff0c;即从前端表单输入文件并封装表单数据&#xff0c;然后请求后端服务器的处理过程&#xff1b;从基础的JavaScript中XmlHttpRequest对象、Fetch API实现上传、下载进行说明&#xff0c;并给出了前端常用的axios库的请…

[AHK] WinHttpRequest.5.1报错 0x80092004 找不到对象或属性

目录 背景描述 用浏览器访问&#xff0c;正常返回 ​编辑 AHK v2官方示例源代码 AHK v2运行结果报错(0x80092004) 找不到对象或属性 用thqby大佬的WinHttpRequest.ahk库测试报错 0x80092004 找不到对象或属性 附&#xff1a; 用Apifox访问&#xff0c;也正常返回 AHK v1 …

克洛托光电再度合作福晶科技,高精度光学镜头装调仪正式交付

近日&#xff0c;苏州东方克洛托光电技术有限公司&#xff08;下称“克洛托光电”&#xff09;高精度光学镜头装调仪正式交付于福建福晶科技股份有限公司&#xff0c;研发人员在现场完成设备安装调试并介绍使用方法。据悉&#xff0c;这已是双方第二次展开合作。 前沿产品力助推…

django之 annotate,aggrate

annotate&#xff1a;annotate() 不是一个终止子句。 annotate() 子句的输出是一个 QuerySet&#xff1b;这个 QuerySet 可以使用任何其他 QuerySet 操作进行修改&#xff0c;包括 filter()、order_by()&#xff0c;甚至对 annotate() 的额外调用。"增加一列属性" ag…

k8s中kubesphere开启devops总是报错解决

自己搭建过k8s集群遇到各种形式的报错&#xff0c;手动去解决&#xff0c;其实这都是由程序自动去解决的问题&#xff0c;由于自己的的失误导致问题不得不去亲自解决是虽然管用但费时费力&#xff0c;在kubersphere开启devops本身没什么问题&#xff0c;但由于虚拟机配置低导致…

SpringBoot+Vue实现简单的文件上传(策略模式)

SpringBootVue实现简单的文件上传 1 环境 SpringBoot 3.2.1&#xff0c;Vue 2&#xff0c;ElementUI 2 问题 前两篇文章&#xff0c;我们上传了txt、Excel文件&#xff0c;其实文件类型有很多种&#xff0c;如果我们的upload组件没有上传文件类型的限制&#xff0c;那么同一个…

MongoDB Shard 集群 Docker 部署

MongoDB Shard Docker 部署 部署环境 主机地址主机配置主机系统Mongodb1/192.168.31.1352CPU 4GBDebian12Mongodb2/192.168.31.1092CPU 4GBDebian12Mongodb3/192.168.31.1652CPU 4GBDebian12 镜像版本 mongodb/mongodb-community-server:5.0.27-ubuntu2004 部署集群 部署…

【tomcat】Tomcat如何扩展Java线程池原理

池化技术 在后端中&#xff0c;对于经常使用池化就是来提升系统性能&#xff0c;比如数据库连接池、线程池连接池等&#xff0c;本质都是利用空间换时间的来提升性能&#xff0c;用来避免资源的频繁创建和销毁&#xff0c;以此提高资源的复用率&#xff0c;所以合理设置系统所…

大语言模型诞生过程剖析

过程图如下 &#x1f4da; 第一步&#xff1a;海量文本的无监督学习 得到基座大模型&#x1f389; &#x1f50d; 原料&#xff1a;首先&#xff0c;我们需要海量的文本数据&#xff0c;这些数据可以来自互联网上的各种语料库&#xff0c;包括书籍、新闻、科学论文、社交媒体帖…

Object.assign方法有什么用?超详细测试用例、实例、可以在浏览器的控制台打印结果

Object.assign 是一个 JavaScript 方法&#xff0c;用于将一个或多个源对象的所有可枚举属性复制到目标对象中。它返回目标对象。这个方法常用于合并对象或浅复制对象。 语法 Object.assign(target, ...sources)target: 目标对象。sources: 一个或多个源对象。 示例 1. 合并…

【2024最新】C++扫描线算法介绍+实战例题

扫描线介绍&#xff1a;OI-Wiki 【简单】一维扫描线&#xff08;差分优化&#xff09; 网上一维扫描线很少有人讲&#xff0c;可能认为它太简单了吧&#xff0c;也可能认为这应该算在差分里&#xff08;事实上讲差分的文章里也几乎没有扫描线的影子&#xff09;。但我认为&am…

简单搭建卷积神经网络实现手写数字10分类

搭建卷积神经网络实现手写数字10分类 1.思路流程 1.导入minest数据集 2.对数据进行预处理 3.构建卷积神经网络模型 4.训练模型&#xff0c;评估模型 5.用模型进行训练预测 一.导入minest数据集 MNIST--->raw--->test-->(0,1,2...) 10个文件夹 MNIST--->raw-…

VRRP虚拟路由冗余技术

VRRP虚拟路由冗余技术&#xff1a;是一种路由容错协议&#xff0c;用于在网络中提供路由器的冗余备份。它通过将多个路由器虚拟成一个虚拟路由器并且多个路由器之间共享一个虚拟IP地址来实现冗余和高可用性。当承担转发业务的主路由器出现故障时&#xff0c;其他备份路由器可以…

git的下载流程,及使用方法,官网地址怎么找?

要下载git以及了解使用方法&#xff0c;可以按照以下步骤进行操作&#xff1a; 打开浏览器&#xff0c;输入git的官方网站地址&#xff1a;https://git-scm.com/&#xff08;官网地址可能会有变动&#xff0c;请根据最新情况进行搜索&#xff09;。 在官网上找到下载按钮或链接…

安全防御:防火墙概述

目录 一、信息安全 1.1 恶意程序一般会具备一下多个或全部特点 1.2 信息安全五要素&#xff1a; 二、了解防火墙 2.1 防火墙的核心任务 2.2 防火墙的分类 2.3 防火墙的发展历程 2.3.1 包过滤防火墙 2.3.2 应用代理防火墙 2.3.3 状态检测防火墙 补充防御设备 三、防…