Dapr + .NET 实战(八)服务监测

服务监测

分布式服务性能指标,链路追踪,运行状况,日志记录都很重要,我们日常开发中为了实现这些功能需要集成很多功能,替换监控组件时成本也很高。

Dapr 可观测性模块将服务监测与应用程序分离。它自动捕获由 Dapr sidecar 和 Dapr 服务生成的流量。它还公开性能指标、资源利用率和系统的运行状况。遥测以开放标准格式发布,使信息能够馈入到选择的监视后端。当 Dapr 获取监控数据时,应用程序不知道如何实现可观测性。无需引用库或实现自定义检测代码。Dapr可以使开发人员专注于构建业务逻辑,而不是监测管道。

工作原理

d02a2802b062950e1c3c9ea79cf1445e.png

Dapr的Sidecar支持监测功能。当服务间通信时,Dapr sidecar 会截获流量并提取跟踪、指标和日志记录信息。监测以开放标准格式发布。默认情况下,Dapr 支持 OpenTelemetry 和 Zipkin。

Dapr收集器可以将遥测数据发布到不同的后端监视工具。这些工具可以查询分析 Dapr 遥测数据。

Zipkin服务跟踪

Zipkin 是一种开源分布式跟踪系统。它可以将遥测数据进行存储和可视化。Dapr 提供对 Zipkin 的默认支持。我们可以查看Dapr默认配置C:\Users\username\.dapr\config.yaml,指定了zipkin的配置信息

apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:name: daprConfig
spec:tracing:samplingRate: "1"zipkin:endpointAddress: http://localhost:9411/api/v2/spans

这个Zipkin服务是在初始化dapr的时候,启动的一个docker容器

c4c147eeafcb81aa31204539557acd51.png

我们可以访问一下 http://localhost:9411/zipkin/查看UI

62604fd80d20a5280fd0b8cc1c22d664.png

 现在运行backend和frontend

dapr run --dapr-http-port 3511 --app-port 5000 --app-id backend dotnet  .\BackEnd\bin\Debug\net5.0\BackEnd.dlldapr run --dapr-http-port 3501 --app-port 5001  --app-id frontend dotnet  .\FrontEnd\bin\Debug\net5.0\FrontEnd.dll

通过postman访问

86be226e9779bb0b4d25eb677806b812.png

 查看zipkin ui中的调用记录,点击SHOW可以查看调用详情

895304c5382672d01585587c35f8d3e6.png

  查看zipkin ui中的服务依赖关系

eea37b0d32f022211c8a63c1fb38c04c.png

性能指标收集

Dapr sidecar 会公开指标终结点默认是9090,可以通过--metrics-port 9090修改端口,可以查看控制台日志

time="2021-09-28T15:58:56.0700006+08:00" level=info msg="metrics server started on :22869/" app_id=backend instance=chesterchen-lap scope=dapr.metrics type=log ver=1.4.0

Dapr使用Prometheus作为标准,Prometheus会调用Sidecar终结点,收集指标

2ff11b36d5de3de4e61707080456b58f.png

 下面我们运行frontend指定其--metrics-port 9091,运行backend指定其端口9090

dapr run --dapr-http-port 3511 --app-port 5000 --app-id backend dotnet  .\BackEnd\bin\Debug\net5.0\BackEnd.dll --metrics-port 9090dapr run --dapr-http-port 3501 --app-port 5001  --app-id frontend dotnet  .\FrontEnd\bin\Debug\net5.0\FrontEnd.dll --metrics-port 9091

在dapr默认目录下创建prometheus配置文件prometheus.yml

global:scrape_interval:     15s # By default, scrape targets every 15 seconds.# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:- job_name: 'dapr'# Override the global default and scrape targets from this job every 5 seconds.scrape_interval: 5sstatic_configs:- targets: ['192.168.43.94:9090','192.168.43.94:9091'] # Replace with Dapr metrics port if not default

通过docker运行prometheus

C:\Users\chesterychen\.dapr>docker run   -p 8081:8081 --name prometheus  -v C:/Users/chesterychen/.dapr/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --config.file=/etc/prometheus/prometheus.yml  --web.listen-address=:8081

访问prometheus UI:http://localhost:8081/,并查询指标

8cd1ed0c4394ee25de0c5316713f0eed.png

Dapr仪表盘

Dapr 提供一个仪表板,用于显示有关 Dapr 应用程序、组件和配置的状态信息。使用 Dapr CLI 将仪表板在端口8080上启动:

dapr dashboard

a582470f78adc56533a0af23cf1cc649.png

相关文章:

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

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

相关文章

世界上第一位程序员是位美女——AdaLovelace【有图为证】

AdaLovelace画像 仙女一般吧....简介: 阿达奥古斯塔,19世纪诗人拜伦的女儿,数学家。穿孔机程序创始人,建立了循环和子程序概念。为计算程序拟定“算法”,写作的第一份“程序设计流程图”,被珍视为“第一个…

php mysql管理_MySQL 连接与管理

让 PHP 支持 MySQLPHP 有专有的 MySQL 函数库以使用操作 MYSQL 数据库。在 PHP 5 及以后版本中不再默认支持 MySQL ,所以在运行这些库之前,请确定 php.ini 加载了 MySQL 数据库支持:extension mysql.dllMySQL 连接mysql_connect() 函数用于开…

android开发我的新浪微博客户端-用户授权页面UI篇(3.1)

上一篇讲了讲OAuth授权认证的事情,大概的介绍了OAuth的原理,并且完成了一个OAuth.java的类库,提供了几个OAuth认证必要的方法,本篇开始具体讲本项目的用户授权功能,用户授权页面是当用户第一次使用本软件的时候自动从载入页面跳转…

还缺30万人!程序员2020年要过好日子了……

全世界只有3.14 % 的人关注了爆炸吧知识最近,程序员届有一个重大好消息,可能很多人还不知道,那就是:国内某些城市已经开始程序员人才补贴了!对于人工智能公司的项目开发、人才引进、科技研发,最高按照国拨经…

iNeuOS工业互联网操作系统部署在华为欧拉(openEuler)国产系统

目 录1. 概述... 32. 创建虚拟机&安装华为欧拉(openEuler)系统... 42.1 创建新的虚拟机... 42.2 默认选择Wowrkstation 16.x. 52.3 选择稍后安装操作系统... 62.4 选择其他Liunx 4.x 64位.…

datatables 一列显示两个字段的数据_【tableau入门教程16】计算字段

有时数据表中的原始维度和度量并不满足我们的需求,因此可通过计算字段功能,利用各种函数新建字段。创建字段步骤1、在侧栏 创建计算字段2、拖曳字段到输入框或是输入部分字段名称选择字段,当输入框下面显示“计算有效”时可点击 确定 完成计算…

gcc 安装包_LNMP安装的前期准备(LNMP一键安装包下载)

如果我们手工安装 LNMP 环境,那么同样需要安装大概 14 个源码包(根据版本和功能不同而不同)。不过,现在网上非常流行的 LNMP 环境的搭建过程是采用 LNMP 一键安装包直接安装。这个一键安装包实际上就是一个事先写好的安装脚本,按照这个安装脚…

Dapr + .NET 实战(七)Secrets

什么是Secrets应用程序通常会通过使用专用的存储来存储敏感信息,如连接字符串、密钥等。通常这需要建立一个密钥存储,如Azure Key Vault、Hashicorp等,并在那里存储应用程序级别的密钥。要访问这些密钥存储,应用程序需要导入密钥存…

只有成年人才懂的“爽”,一定要安利给每一个人

▲ 点击查看在日常生活中,诸位是不是经常遇到这些问题:打球扭伤、骑车摔伤、跑步拉伤、户外受伤。或者经常伏案工作,一天上班下来,感觉肩膀酸痛到僵硬,对什么事都提不起兴趣。回到家腰酸、背疼,随便做个伸展…

xml.query() 实例演示

xml.query()函数,XQuery表达式可以返回xml一个单一的元素或是所有元素。 我们继续使用上一篇所创建表[dbo].[tbDevLanguage] http://www.cnblogs.com/insus/archive/2012/02/25/2367668.html 首先我们演示Query所有元素,注意一下查询节点,返回…

图像处理前沿技术_深入浅出人工智能前沿技术—机器视觉检测,看清人类智慧工业...

早在50年前,工业机器人就已经横空出世,给人类带来更多的方便与可能。今天,工业机器人正以迅猛的发展速度替代人工,从事繁重及枯燥的工作,并且向着更智能的方向在发展,而服务机器人,将会是下一个…

最全高考分数线出炉!!查了分后,这届学生为了过线真是太拼了.......

全世界只有3.14 % 的人关注了爆炸吧知识2020年高考成绩今天可以查了!你还记得自己查分那天是什么心情吗?反正超模君当年是想看却又不敢看表面越是想要云淡风轻内心就越不受控制的心跳失控转眼过去了许多年又到了高考放榜的日子在这么欢乐的日子里怎么能缺…

学习笔记之web worker

当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此…

让人难以置信的HTML5和JavaScript实验

Google的 Chrome实验室收集了很多让人难以置信的基于 HTML5 Canvas 和 JavaScript 的实验项目,里面的例子都很独特,让人惊叹。我从未想过结合 HTML 和 JavaScript 能实现这么强大的效果。今天,本文与大家分享其中9个很棒的例子,为…

22468!Windows 11新预览版发布:旧版系统支持十月终止请速升

面向 Dev 频道的 Windows 预览体验成员,微软现已发布 Windows 11 预览版 Build 22468。Windows 11 Insider Preview Build 22468 主要变化如下:1.此前 Dev 频道推送的所有 Windows 11 预览版将于 2021 年 10 月 31 日到期,请立即更新到 Windo…

influxdb mysql对比_InfluxDB和MySQL的读写对比测试

今天进行了InfluxDB和MySQL的读写对比测试,这里记录下结果,也方便我以后查阅。操作系统: CentOS6.5_x64InfluxDB版本 : v1.1.0MySQL版本:v5.1.73CPU : Intel(R) Core(TM) i5-2320 CPU 3.00GHz内存 &#x…

Zabbix Maintenance 维护周期

为什么80%的码农都做不了架构师?>>> 概述 你可以定义维护周期在主机或主机组里。这里有2种维护状态,一种是停止对目标的监控数据的收集,一种是继续对目标的监控数据的收集。 当不想收到维护中的服务器的报警时候,需…

女生心中的理想男生!这些条件你符合几条?

1 女生心中的理想男生2 女人购物&男人购物3 好像有点混乱4 哥们和我女朋友整天打打闹闹,真无聊。5 分手吧6 妈妈专属头像-!你点的每个赞,我都认真当成了喜欢

mysql 定义XML字段_MyBatis之基于XML的属性与列名映射

上一博客主要是对单表的增删改查,比较简单,而且每个属性与table表的列都是一一对应名字也一样,今天主要学习属性与table表列名不一致的处理,主要有两种一是属性与列名不一致,二是枚举的情况,这里暂时考虑的…

Dapr闪电说 - Dapr落地云原生架构

你认识Dapr么?出自微软,面向社区,开源的云原生工具Dapr已经发布多时了,你了解Dapr的相关知识么?无论你是.NET程序员还是Python ,或者Java ,还有Go等都可以用Dapr来完成你的云原生场景。本次闪电…