搭建Prometheus+Grafana监控系统,实现项目监控、中间件监控和自动发现等功能

Prometheus各类中间件的监控接入 prometheus监控生态中,各类中间件的部署 阅读详情

搭建Prometheus+Grafana监控系统主要包括以下几个步骤:

1. **安装Prometheus**
2. **安装Grafana**
3. **配置Prometheus监控目标**
4. **导入Grafana中的Dashboard**
5. **设置Prometheus服务发现**

6. **实现服务监控**

步骤1: 安装Prometheus

**以下安装步骤假设使用的是Linux系统。**

1.1 下载最新版的Prometheus:

wget https://github.com/prometheus/prometheus/releases/download/v<version>/prometheus-<version>.linux-amd64.tar.gz

请将`<version>`替换为实际的版本号。

1.2 解压下载的文件:

tar xfz prometheus-<version>.linux-amd64.tar.gz
cd prometheus-<version>.linux-amd64

1.3 配置Prometheus。

编辑`prometheus.yml`文件,添加你的监控目标。最初的配置可能看起来像这样:

global:
  scrape_interval: 15s
  external_labels:
    monitor: 'codelab-monitor'

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

1.4 启动Prometheus:

./prometheus --config.file=prometheus.yml

Prometheus服务器现在应该已经在`http://localhost:9090`运行。

步骤2: 安装Grafana

2.1 添加Grafana的仓库:

sudo apt-get install -y software-properties-common
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"

2.2 添加GPG密钥:

wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -

2.3 更新apt并安装Grafana:

sudo apt-get update
sudo apt-get install grafana

2.4 启动Grafana服务:

sudo systemctl start grafana-server
sudo systemctl enable grafana-server

Grafana现在应该在`http://localhost:3000`运行(默认用户名和密码都是`admin`)。

步骤3: 配置Prometheus监控目标

3.1 监控Linux服务器基础信息使用Prometheus Node Exporter:

# 查找最新版本并下载node exporter
wget https://github.com/prometheus/node_exporter/releases/download/v<version>/node_exporter-<version>.linux-amd64.tar.gz

# 解压并启动Node Exporter
tar xvfz node_exporter-*.*-amd64.tar.gz
cd node_exporter-*.*-amd64/
./node_exporter

3.2 更新`prometheus.yml`添加Node Exporter作为监控目标:

scrape_configs:
  - job_name: 'node_exporter'
    static_configs:
      - targets: ['<server-IP>:9100']

3.3 监控关键中间件例如Redis、MySQL等,

你需要使用例如`redis_exporter`、`mysqld_exporter`等Exporter,安装并配置与Node Exporter类似。

例:mysql监控(这里演示通过docker拉取exporter镜像并启动)

1、mysql用户赋权

mysql -u用户名 -p密码
create user 'exporter'@'%' identified by '123456' with MAX_USER_CONNECTIONS 3 ;
grant process,replication client,select on *.* to 'exporter'@'%';
flush privileges

2、拉取镜像

docker pull prom/mysqld-exporter

3、启动容器

docker run -d --name mysqld_exporter \
-p 9104:9104 \
-e DATA_SOURCE_NAME="用户名:密码@(127.0.0.1:3306)/" \
prom/mysqld-exporter

4、prometheus.yml中添加配置

- job_name: mysql-11.12
  static_configs:
  - targets: ['host:9104']
    labels:
      instance: mysql-11.12

注:host替换为安装mysql_exporter的服务主机地址

5、grafana中配置mysql大盘

步骤4: 导入Grafana中的Dashboard

4.1 登录Grafana,在左侧菜单中选择“+” -> “Import”。

4.2 你可以在[Grafana Dashboards](https://grafana.com/grafana/dashboards)上找到各种资源的仪表盘,输入相应的Dashboard ID即可导入。

步餘5: 设置Prometheus服务发现

Prometheus支持多种服务发现机制,例如Kubernetes、Consul等。如果你希望对接入网络的设备进行自动发现,你需要配置相应服务发现的方式。例如:

scrape_configs:
  - job_name: 'my-service-discovery'
    consul_sd_configs:
      - server: 'localhost:8500'
        services: ['web', 'db']

上面是使用Consul作为服务发现的例子,具体配置将取决于你正在使用的服务发现工具。

步骤6:实现服务监控

一、springboot 监控 Actuator

Actuator介绍

Actuator是Spring Boot提供的应用系统监控的开源框架,它是Spring Boot体系中非常重要的组件。它可以轻松实现应用程序的监控治理,支持通过众多REST接口、远程Shell和JMX收集应用的运行情况。 Actuator的核心是端点(Endpoint),它用来监视、提供应用程序的信息,Spring Boot提供的spring-boot-actuator组件中已经内置了非常多的Endpoint(health、info、beans、metrics、httptrace、shutdown等),每个端点都可以启用和禁用。 Actuator也允许我们扩展自己的端点。通过JMX或HTTP的形式暴露自定义端点,Actuator会将自定义端点的ID默认映射到一个带/actuator前缀的URL。比如,health端点默认映射到/actuator/health。这样就可以通过HTTP的形式获取自定义端点的数据

1、项目中添加依赖(根据需求选择版本)

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuator -->
<dependency>
     <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
   <version>2.1.3.RELEASE</version>
</dependency>

2、项目的配置文件中加入配置,暴露端点

# Actuator 管理端口
management:
  endpoints:
    web:
      exposure:
        include: "*"

注:此处可根据需求配置不同的暴露规则

# Actuator 管理端口
management.server.port=8000
#暴露 有端
management.endpoints.web.exposure.include =女
#默认情况下 有端点都不启用,此时需要按需启用端点
management.endpoints.enabled-by-default=false 
#启用端点 info
management.endpoint.info.enabled=true 
#启用端点 beans
management.endpoint.beans.enabled=true 
#启用端点 configprops 
management.endpoint.configprops.enabled=true 
#启用端点 env
management.endpont.env.enabled=true
#启用端点 health
management.endpoint.health.enabled=true 
#启用端点 mappings
management.endpont.mappings.enabed=true
#启用端点 shutdown
management.endpoint.shutdown.enabled=true 
# Actuator 端点前缀
management.endpoints.web.base -path=/manage 
#将原来的 mappings 端点的请求路径修改为 urlMappings
management.endpoints.web.path-mapping.mappings=request_mappings
# Spring MVC 视图解析器配置
spring.mvc.view.prefix=/WEB-INF/jsp/ 
spring.mvc.view.suffix=.Jsp

3、jenkins实现自动导入配置到prometheus.yml(借助jekins的流水线脚本实现)

略

完成以上步骤后,一个基本的Prometheus + Grafana监控系统已经完成了,可以监控服务器的基础信息和关键中间件,以及项目的运行情况,并且具有服务发现的功能。需要根据自己的需求调整配置脚本和参数,以及可能的安全设置(如防火墙和TLS设置)来确保其充分满足项目中的监控需要。

Linux下安装Prometheus+Grafana,并监控服务器 阅读详情

相关推荐

中间件实时监控,运维难题一站解决

方案已实现对中间件包括Web中间件、数据库中间件、消息中间件、安全中间件、事务中间件、应用程序服务器中间件、分布式计算中间件等常见中间件的监控管理,涵盖的品牌包括Tomcat、Jboss、WebLogic、Nginx、Apache、RabbitMQ、Kafka、Redis、东方通、中创、宝蓝德、普元、金蝶天燕等国内外中间件。通过智能算法对中间件的资源配置进行智能动态调整,当中间件出现性能瓶颈时,自动调优资源配置,优化中间件运行环境,当中间件发生故障时,自动启动自愈机制,快速恢复中间件的正常运行。

zhtelecom的博客 2113

监控利器:普罗米修斯监控中间件(Nginx、Redis、MySql 等)

我们的产品目前使用到的中间件有 Nginx、Redis、RabbitMQ、MySql 等,本文介绍怎样使用 Promtheus 来监控这些中间件。在《监控利器:普罗米修斯介绍和安装》中有一张图,表明了 Prometheus 的数据走向,如下:从图中可以看出,监控中间件的第一步就是安装中间件的 exporter,安装有两种方式:下载安装文件进行安装和使用 Docker 进行安装,下面示例中使用的是后...

zls365365的博客 1892

搭建Prometheus+Grafana的云平台监控系统

1.1 Prometheus和Grafana概述 1.1.1 Prometheus概述 Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。现在最常见的Docker、Mesos、Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。 Prometheus [prəˈmiθju:s] 普罗米修斯 Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供.

xueshenlaila的博客 8529

专栏:数据库、中间件的监控一网打尽

对于数据库、中间件的监控,目前社区里最为完善的就是 Prometheus 生态的各个 Exporter,不过这些 Exporter 比较分散,不好管理,如果有很多目标实例需要监控,就要部署很多个 Exporter,要是能有一个大一统的 Exporter,具备所有这些 Exporter 的能力就好了。还真有,而且还不止一个,一个是,一个是Cprobe。

n9ecommunity的博客 1689

Prometheus + Grafana 监控系统-Prometheus 的安装部署

PrometheusPrometheus是一个开源的系统监控和警报工具包。它具有多维数据模型和强大的查询语言,可帮助您有效地监控应用程序和基础设施。Prometheus 是由谷歌研发的一款开源的监控软件,它通过安装在远程机器上的 exporter,通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上GrafanaGrafana是一个开源的数据可视化和监控平台,它允许您通过图表和图形直观地展示和分析监控数据。重要概念Exporters。

大雪冬至的博客 1645

实战:micrometer+prometheus+grafana搭建Java程序的监控系统

    近期项目需要引入监控系统,一番折腾后搭建成功。这里总结一下搭建的过程。本文旨在引导整合并打通整个监控系统各个环节,适合新手及需求急切的开发者快速搭建监控系统的基础。 1、MicroMeter     官网:micrometer     micrometer号称监控界的SLF4J,主要用来以极低极低的消耗来给Java程序提供对指标的监控。     micrometer支持接入多种数据...

weixin_38569499的博客 1万+

Grafana监控系统之Prometheus+Grafana监控系统搭建

Grafana监控系统之Prometheus+Grafana监控系统搭建 本文章内容较长,可通过右上角点击目录快速定位想看的内容 => => 一. 概述 1.1 Grafana介绍 Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点: 展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式; 数据源:Graphite,I

暗余的博客 2万+

在Ubuntu上搭建Prometheus + Grafana监控系统

文章目录一、序言二、部署Prometheus三、部署Node Exporter四、配置Prometheus以刮取节点导出器五、添加节点进行主机管理六、使用Grafana创建可视化Dashboard 一、序言 Prometheus是一个功能强大的开源监控系统,可从您的服务中收集指标并将其存储在时间序列数据库中。它通过Grafana等工具提供多维数据模型,灵活的查询语言和多样化的可视化可能性。 默认情况下,Prometheus仅导出有关其自身的指标(例如,它收到的请求数,内存消耗等)。但是,您可以通过安装导出程

Magician0619的博客 4574

Centos7下搭建Prometheus+Grafana监控

它是一个轻量级的代理,定期收集主机的 CPU、内存、磁盘、网络等指标,并将其暴露为 Prometheus 可以拉取的格式。它与 Prometheus 集成,负责管理警报规则、接收来自 Prometheus 服务器的警报通知,并根据配置的策略进行处理,如抑制重复警报、分组、静默等,然后将警报发送到各种通知渠道(如电子邮件、Slack 等)。尽管 Grafana 不是 Prometheus 的一部分,但它经常与 Prometheus 一起使用,用于创建仪表盘、图表和报表,以实时展示和分析监控数据。

天涯的浪子 1310

基于Grafana+Prometheus搭建可视化监控系统实践

基于prometheus+grafana构造可视化监控系统过程,以及grafana面板制作。

诺诺的包包 2127

搭建 Prometheus+Grafana 的云平台监控系统

1.1.1 Prometheus 概述 Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由 SoundCloud 公司开发的。现在最常见的 Docker、Mesos、Kubernetes 容器管理系统中,通常会搭配 Prometheus 进行监控。 Prometheus 基本原理是通过 HTTP 协议周期性抓取被监控组件的状态,这样做的好处是任...

weixin_44194491的博客 3727

从零开始搭建Prometheus与Grafana监控系统:实战演练

通过本篇文章的实战演练,你已经成功搭建了一个基本的 Prometheus 与 Grafana 监控系统。这个系统能够收集服务器的各项指标数据,并通过 Grafana 实时展示,同时支持设置报警规则以在系统异常时通知相关人员。后续扩展:Prometheus 社区提供了多种 Exporter,可用于监控数据库(如 MySQL、PostgreSQL)、消息队列(如 Kafka、RabbitMQ)等。根据实际需求优化报警规则,避免过多无效的报警。

weixin_41859354的博客 1676

Linux运维-Prometheus监控系统搭建

Prometheus(普罗米修斯)是一个应用十分广泛的一个性能监控平台监控的原理······废话不说,直接开始安装。

秣宇的博客 1957

Prometheus+Grafana 搭建应用监控系统

1.1 什么是监控系统?监控系统顾名思义就是监控服务器、应用系统以及其他第三方组件运行状态的系统。对于平台系统而言,监控系统就是我们第三只眼,监控系统会实时跟踪应用平台的运行状态,如果有应用系统出现问题或是服务器内存爆满,我们通过监控系统就可以快速定位问题所在,甚至可以设置预警,对一些将要出现的问题进行提前预防处理,及时避免问题的发生。1.2 监控系统的作用监控是运维系统的基础,我们衡量一个公司/部门的运维水平,看他们的监控系统就可以了。

m0_38068812的博客 4005

Grafana+Zabbix+Prometheus 监控系统

环境说明 软件 版本 操作系统 IP地址 Grafana 5.4.3-1 Centos7.5 192.168.18.231 Prometheus 2.6.1 Centos7.5 192.168.18.232 Zabbix ...

weixin_30751947的博客 3740

从零到一:QT for OpenHarmony 开发环境实战搭建与踩坑指南

本文是一份详尽的QT for OpenHarmony开发环境搭建实战指南。文章手把手教你如何在Windows和macOS系统上,从环境准备、核心工具(DevEco Studio与社区版QT SDK)安装配置,到创建首个QT Quick项目、解决构建部署中的常见问题,最终实现应用在OpenHarmony设备上运行。内容涵盖关键配置修改、资源管理及深度踩坑经验,旨在帮助开发者高效开启跨平台开发之旅。

weixin_29190573的博客 326

快速搭建 Prometheus+Grafana 的云平台监控系统

1.1 Prometheus 和 Grafana 概 述 1.2 安装配置 Prometheus 监控服务 1.3 启劢用于采集 linux 系统和mysql 服务状态的 exporter 服务 1.4 使用 Grafana 可规化工具美化监控数据显示效果 1.1 Prometheus 和 Grafana 概 述 1.1.1 Prometheus 概述 Prometheus(普罗米修斯)是一套开...

TheFlsah的博客 2857

Open3D:Win10 + VS2017配置Open3D(C++、python)

一、下载源码 地址:https://github.com/intel-isl/Open3D 1.1 克隆源码【笔者的源码路径为D:\Open3D\Open3D】 1.2 切换版本【笔者的版本为0.8.0】 1.3 更新子模块【用于获取第三方库!很重要!】 二、CMake编译 2.1 设置路径 【source code: D:\Open3D\Open3D;build binaries: D:\Open3D】 【笔者设置CMAKE/CMAKE_INSTALL_PREFIX的路径为D:/Open.

累了就要打游戏 1万+

Windows环境下搭建Prometheus + Grafana监控Java服务

使用Prometheus与Grafana 搭建服务监控系统。目前公司有使用到该技术,现在需要我添加一些业务的监控,所以要做一些了解,就在本地环境搭建了一套简单的监控demo。搭建环境为windows。 安装配置Prometheus https://prometheus.io/download/ 根据自身环境选择安装包,我本地是64位系统,所以选择了prometheus-2.10.0....

guoyx的博客 1万+

GSview5.0安装步骤及问题

GSview5.0安装步骤及问题安装步骤遇到的问题 尝试过很多对图片去白边的方法,感觉最好用最有效的还是用GSview比较好操作。本文针对gsview安装及安装过程中踩过的坑记录下来。 安装步骤 在官网下载gsv50w64.exe(或32位的),直接双击安装即可。 安装Ghostscript;注意:GSview5.0不支持最新版的Ghostscript9.54,这里用到是9.27的版本可以在Github中找到,下载gs927w64.exe,一定要安装在GSview的安装目录Ghostgum下 Gho

LilianLYN的博客 1万+

使用DDR4控制器实现多通道数据读写

这种高带宽对于大量的数据的应用非常重要。对于Controller/PHY Mode 的选择,我们使用Controller + PHY模式,Xilinx UltraScale/UltraScale+等高端FPGA通常包含硬核PHY,选择Controller + PHY模式可直接利用硬核,降低功耗和延迟,并且此模式的开发更易上手。在Basic页面下,首先勾选上AXI4 Interface选项,我们选用的内存接口速度为2133MHz的ddr4芯片,由于双沿触发,频率为1066MHz,那么周期应为938ps。

weixin_38828382的博客 1364

Grafana+Prometheus监控系统之核心功能集锦

配置监控系统 请移步:https://blog.youkuaiyun.com/qq_19674905/article/details/92009295 邮件报警

暗余的博客 3664

计算机视觉论文复现指南:从理论到可运行代码的保姆级教程

计算机视觉论文复现指南:从理论到可运行代码的保姆级教程​ ,人工智能,计算机视觉,大模型,AI,本文围绕计算机视觉论文复现展开,介绍从理论到可运行代码的全流程。先强调复现的重要性,再讲解复现前的准备,包括明确目标、构建工具链;接着说明代码获取分析、环境配置调优、调试运行技巧及结果验证优化方法,还推荐了高效工具,提及复现中的伦理规范。旨在助读者掌握复现方法论,实现从经典模型到前沿论文的复现,推动学术成果落地。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 12万+
上一篇: linux自带定时任务-cron的使用方法
下一篇: mac安装jdk并配置环境变量
aLearnerForJAVA
博客等级 码龄4年 41粉丝 7原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

aLearnerForJAVA

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

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

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

打赏作者

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

抵扣说明:

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

余额充值