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

此系列文章将会描述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
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端低代码和微服务结合使用可以提高开发效率和系统性能,具体思路如下: 1. 前端低代码平台选择:选择一个适合团队的前端低代码平台,例如国内的 DCloud(HBuilder X)、Baidu Hi(EasyDL)、淘宝 FIBER 等等。这些平台都提供了丰富的 UI 组件、可视化拖拽界面、代码生成器等功能,可以快速构建出前端页面和业务逻辑。 2. 微服务架构设计:根据业务需求和系统性能要求,设计出合理的微服务架构,将系统拆分成多个独立的服务,每个服务负责特定的业务功能,实现松耦合和高内聚。同时,为每个服务定义清晰的 API 接口,方便前端调用。 3. 前端集成微服务:在前端低代码平台中,通过 API 调用方式,集成微服务。可以使用 AJAX、Fetch、Axios 等前端框架或库,调用后端的 API 接口,获取数据或执行后端业务逻辑。这样,前端可以直接调用与自己相关的微服务,加快了前后端交互的速度。 4. 代码生成器生成微服务接口:有些前端低代码平台提供了代码生成器功能,可以根据数据库表结构或 API 文档,自动生成微服务接口代码。这样,后端开发人员只需要专注于业务逻辑的实现,减少了重复的接口代码编写工作。 5. 微服务容器化管理:将每个微服务使用 Docker 容器化,使用 Kubernetes 进行统一管理和部署。这样,每个微服务都可以独立部署和扩容,提高了系统的可靠性和可扩展性。 6. 系统监控和日志管理:使用 ELK、PrometheusGrafana 等现代化监控和日志管理工具,对系统进行实时监控和分析,及时发现和解决问题。 以上是前端低代码和微服务结合使用的详细思路,需要根据具体业务需求和技术栈进行具体实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值