微服务框架(二十三)Prometheus + Grafana 安装、配置及使用

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。本文为Prometheus + Grafana 安装、配置及使用本系列文章中所使用的框架版本为Spring ...

  此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。

  本文为Prometheus + Grafana 安装、配置及使用

本系列文章中所使用的框架版本为Spring Boot 2.0.3-RELEASE,Spring 5.0.7-RELEASE,Dubbo 2.6.2。

Prometheus

prometheus.yml

先创建prometheus.yml文件,初始化配置

global:
  scrape_interval: 15s
  evaluation_interval: 15s

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

docker容器启动

采集数据持久化在磁盘中,docker启动时挂载的data目录需授权

prometheus 运行过程中使用的用户是nobodydata目录权限需设置为757

  • prometheus.yml为promethus的配置文件,修改后需重启生效
  • /prometheus/data为promethus的磁盘持久化数据
  • --config.file=/etc/prometheus/prometheus.yml为启动容器时加载的配置文件
docker run -d \
--name prometheus \
--net monitor \
--hostname prom \
-p 9090:9090 \
-v /media/raid10/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
-v /media/raid10/prometheus/data:/prometheus/data \
prom/prometheus \
--config.file=/etc/prometheus/prometheus.yml

增加promtheus拉取数据的项目,需在挂载的配置文件prometheus.yml中增加对应的Endpoint设置并重启服务

增加数据采集点

修改prometheus.yml配置文件

scrape_configs:
  - job_name: 'controller'
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ['localhost:9700']
        labels: 
          application: dubbo

重启Prometheus

docker restart prometheus

最佳做法

  1. --storage.tsdb.retention.time定义旧数据的删除策略,默认为15d
  2. Prometheus RE2语法正则表达式

Grafana

docker容器启动

  • auth.anonymous为匿名登录选项,设置为enabled=true即可免登录(Viewer)
  • grafana.ini为配置文件
  • 挂载/etc/timezone/etc/localtime文件,使grafana-reporter生成报表时使用服务器时区
docker run -d \
--name grafana \
--net monitor \
-p 3000:3000 \
-v /media/raid10/grafana/grafana.ini:/etc/grafana/grafana.ini \
-v grafana:/var/lib/grafana \
-v /etc/timezone:/etc/timezone \
-v /etc/localtime:/etc/localtime \
grafana/grafana

监控报警

  1. 添加监控通知渠道Alerting->Notifications channels
  2. 为图表设置报警配置Alert Config
  3. 为图表设置添加报警渠道及信息

常用的报警渠道有EmailDingDingWebhook

模板变量

报警中不能使用带模板变量的查询语句

issue-查询语句的模板变量支持

dashboard

常用模板

plugins

1.进入容器

docker exec -it grafana /bin/bash

2.安装对应插件

grafana-cli plugins install grafana-piechart-panel

查找对应的图表ID,安装完成后退出容器

3.重启grafana

docker restart grafana
相关文章
|
2月前
|
存储 消息中间件 缓存
微服务配置中心功能实现
【2月更文挑战第9天】配置中心的思路就是把服务的各种配置,如代码里配置的各种参数、服务降级的开关甚至依赖的资源等都在一个地方统一进行管理。
|
1天前
|
Prometheus 监控 Cloud Native
Prometheus+Grafana+NodeExporter 打造一款出色的监控系统,帅呆了!
Prometheus+Grafana+NodeExporter 打造一款出色的监控系统,帅呆了!
9 2
|
9天前
|
Prometheus 监控 Cloud Native
Prometheus 安装与配置
Prometheus 安装与配置
|
19天前
|
SpringCloudAlibaba Java Nacos
SpringCloud Alibaba微服务 -- Nacos使用以及注册中心和配置中心的应用(保姆级)
SpringCloud Alibaba微服务 -- Nacos使用以及注册中心和配置中心的应用(保姆级)
|
1月前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
785 0
|
1月前
|
微服务
SpringCloud-Config服务端微服务从自己的Gitee上获取配置内容配置读取规则
SpringCloud-Config服务端微服务从自己的Gitee上获取配置内容配置读取规则
17 0
|
1月前
阿里云Grafana服务支持一键安装Grafana插件
【2月更文挑战第12天】阿里云Grafana服务支持一键安装Grafana插件
29 4
|
2月前
|
存储 Prometheus Cloud Native
Grafana 系列 - 统一展示 -2-Prometheus 数据源
Grafana 系列 - 统一展示 -2-Prometheus 数据源
|
2月前
|
JSON Prometheus Cloud Native
Grafana 系列 - 统一展示 -3-Prometheus 仪表板
Grafana 系列 - 统一展示 -3-Prometheus 仪表板
|
6天前
|
敏捷开发 监控 数据管理
构建高效微服务架构的五大关键策略
【4月更文挑战第20天】在当今软件开发领域,微服务架构已经成为一种流行的设计模式,它允许开发团队以灵活、可扩展的方式构建应用程序。本文将探讨构建高效微服务架构的五大关键策略,包括服务划分、通信机制、数据管理、安全性考虑以及监控与日志。这些策略对于确保系统的可靠性、可维护性和性能至关重要。

热门文章

最新文章