当前位置: 首页 > news >正文

猎聘网网站建设目标建设企业银行怎么转账

猎聘网网站建设目标,建设企业银行怎么转账,简述电子商务网站开发的基本流程,深圳口碑最好的装修公司排名Jaeger是收集全链路跟踪的信息#xff0c;在Jaeger收集的信息中#xff0c;有请求的url信息#xff0c;有每个请求的时间间隔#xff0c;借助这些信息可以进行报警#xff0c;比如一次较长的请求#xff0c;或者是某些请求的次数和先后等。不管报警的业务规则是什么… Jaeger是收集全链路跟踪的信息在Jaeger收集的信息中有请求的url信息有每个请求的时间间隔借助这些信息可以进行报警比如一次较长的请求或者是某些请求的次数和先后等。不管报警的业务规则是什么首先得收集Jaeger中的信息。Jaeger有api可以提供这些信息比如/api/services获取所有服务/api/traces?service{servicename}获取该服务下的所有跟踪/api/traces/{traceid}获取某个跟踪的信息等/api/traces?end{endtime}limit{20}lookback{1h}service{servicename}start{starttime}按条件查询跟踪信息等api下面代码定义Jaeger中的实体类类中的属性可以根据自己的型业务规则收集这里定义不完整using System.Collections.Generic;namespace JaegerAlert {/// summary/// 服务报警/// /summarypublic class AlertList{public string ServiceName { get; set; }public ListAlertItem Alerts { get; set; }}/// summary/// 报警条目/// /summarypublic class AlertItem{public string TraceID { get; set; }public long StartTime { get; set; }public long Duration { get; set; }public string Method { get; set; }public string Operation { get; set; }}/// summary/// 服务数据/// /summarypublic class ServicesData{public string[] Data { get; set; }public int Total { get; set; }public int Limit { get; set; }public int Offset { get; set; }}/// summary/// 跟踪数据/// /summarypublic class TracesData{public TracesItem[] Data { get; set; }public int Total { get; set; }public int Limit { get; set; }public int Offset { get; set; }}/// summary/// 跟踪条目/// /summarypublic class TracesItem{public string TraceID { get; set; }public Span[] Spans { get; set; }}/// summary/// Span/// /summarypublic class Span{public string TraceID { get; set; }public string SpanID { get; set; }public bool IsAlertMark TraceID SpanID;public int Flags { get; set; }public string OperationName { get; set; }public long StartTime { get; set; }public long Duration { get; set; }public Tag[] Tags { get; set; }}/// summary/// Tag/// /summarypublic class Tag{public string Key { get; set; }public string Type { get; set; }public string Value { get; set; }} } 这里简单进行了收集转换成了自己的数据集合方便对接自己的报警平台using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Threading.Tasks;namespace JaegerAlert.Controllers {[ApiController][Route([controller])]public class HomeController : ControllerBase{private readonly IHttpClientFactory _clientFactory;private readonly ILoggerHomeController _logger;public HomeController(ILoggerHomeController logger, IHttpClientFactory clientFactory){_clientFactory clientFactory;_logger logger;}[HttpGet]public async TaskIEnumerableAlertList Get(){_logger.LogInformation(获取警报列表);return await GetServices();}/// summary/// 获取所有服务/// /summary/// returns/returnsasync TaskIEnumerableAlertList GetServices(){var service await GetJaegerServices();var services new ListAlertList();foreach (var serviceName in service.Data){if (serviceName jaeger-query){continue;}var alerts new ListAlertItem();var tracesModels await GetJaegerTraces(serviceName);foreach (var traces in tracesModels.Data){foreach (var span in traces.Spans){if (span.IsAlertMark){var method span.Tags.SingleOrDefault(s s.Key http.method)?.Value;var operation span.Tags.SingleOrDefault(s s.Key http.url)?.Value;alerts.Add(new AlertItem { TraceID traces.TraceID, Duration span.Duration, Method method, Operation operation, StartTime span.StartTime });}}}services.Add(new AlertList() { ServiceName serviceName, Alerts alerts });}return services;}/// summary/// 获取服务下的跟踪条目/// /summary/// param nameserviceName/param/// returns/returnsasync TaskTracesData GetJaegerTraces(string serviceName){using var client _clientFactory.CreateClient(Jaeger);var request new HttpRequestMessage(HttpMethod.Get, $/api/traces?service{serviceName});using var response await client.SendAsync(request);if (response.IsSuccessStatusCode){var jsonString await response.Content.ReadAsStringAsync();var traces Newtonsoft.Json.JsonConvert.DeserializeObjectTracesData(jsonString);return traces;}else{return new TracesData();}}/// summary/// 获取服务/// /summary/// returns/returnsasync TaskServicesData GetJaegerServices(){using var client _clientFactory.CreateClient(Jaeger);var request new HttpRequestMessage(HttpMethod.Get, /api/services);using var response await client.SendAsync(request);if (response.IsSuccessStatusCode){var jsonString await response.Content.ReadAsStringAsync();var service Newtonsoft.Json.JsonConvert.DeserializeObjectServicesData(jsonString);return service;}else{return new ServicesData();}}} } 请求结果收集到数据后就可以应用到报警平台上如果报警平台有api可以进行调用处理还可以把这些数据推送到时序数据库中如InfluxDB再通过Grafana展示出来进行实时展时跟踪关于跟踪的细节和业务规则有关系如果以后工作中遇到这类处理到时再追加一篇博文进行细说。
http://www.zqtcl.cn/news/6271/

相关文章:

  • 网站后端用什么软件做微信投票网站制作
  • 彭水网站建设网站建设天津
  • 静态网站建设流程怎么写个人网站有哪些站
  • 商务局网站溪江农贸市场建设2023年国家免费技能培训
  • 网站建设招标赤峰网站建设培训
  • 如何挑选网站建设平台提升网站收录
  • 全国好的深圳网站设计淘宝优秀软文范例100字
  • 上海公司企业网站怎么做哪些网站可以做店淘客
  • 为什么学网站开发企业网站推广哪些效果比较好
  • 网站建设培训 店大理公司网站建设
  • 深圳专业建网站公司黄冈网站建设策划
  • 网站维护工单凡科怎么建设网站
  • 前端开发常用网站wordpress文章页面添加内容
  • 哪些网站微信支付平台东莞seo建站优化工具
  • 网上书店网站建设目标计算机学软件开发哪个学校好
  • 公司网站二维码怎么做wordpress安装微信聊天工具
  • 深圳商城网站设计多少钱企业为什么做网站系统
  • 武功网站建设产业园区运营公司
  • 0505网页制作与网站建设免费学校网站系统
  • 纳雍网站建设公司h5小程序开发多少钱一天
  • 如何快速推广一个网站网站模板 国外
  • 五道口网站建设公司营销和销售的区别在哪里
  • 网站建设报价明细单做网站帮外国人淘宝
  • 企业网站管理制度建设.net 网站模板下载地址
  • 如何做pdf电子书下载网站提升网站的访问速度
  • 网站优化工作hao123上网主页官网设置成主页
  • 网站动效是代码做的吗网站域名与网站首页网址
  • 微信用网站怎么做阿里企业邮箱注册申请免费
  • seo外贸仿牌网站换域名淘宝客做连接网站
  • 网站制作中文版seo 工具推荐