java技术圈 为您找到相关结果 24

istio 可视化工具 kiali 部署体验

Kiali 为网格管理和可观察性提供了良好的用户体验的可视化工具;Kiali 为我们提供了查看相关服务与配置提供了统一化的可视化界面,并且能在其中展示他们的关联;同时他还提供了界面让我们可以很方便的验证 istio 配置与错误提示;官方功能介绍大致如下:目前官方没有提供能够方便用户一键部署的 yaml 配置文件,需要 clone 项目代码并运行 make k8s-deploy进行部署,为了部署方便我整理了一份部署 yaml 如下;将该配置复制保存为文件然后运行 kubectl apply -f deploy-kiali.yaml -n istio-system即可;(注意,一定修改配置里 Secret 里面的用户名密码配置,不然就只是简单的 admin,admin); 注:目前(18-08-...阅读全文

博文 2019-04-04 16:24:16 知乎

使用Prometheus监控服务器性能

最近一直在思考如何对线上服务做深度监控。基础的服务可用性监控很简单,定期Ping即可。但是怎样才能监控服务器的一些更加关键的数据呢?比如,每一个API Point的请求次数(QPS),最大响应时间,平均响应时间等。最终我希望实现的效果是有一个Dashboard,我可以清楚地看到各种参数曲线,对服务器的运行情况了然于胸。 绘制Dashboard不难,目前提供数据可视化的工具很多,随便选一个都能满足需要。关键问题是,怎样将整个流程打通? 服务器该以怎样的形式暴露出数据? 数据怎样被收集和存储起来? 存储起来的数据怎样提供给数据可视化工具? 怎样做到足够灵活,可以可视化自己感兴趣的任意数据? Prometheus 像QPS和响应时间这些数据,外部工具是没办法直接拿到的,必须要服务器以某种方式将数据...阅读全文

博文 2019-06-14 07:52:29 CJ Ting's Blog

关于时序数据库的一些思考

前言其实我之前是不太了解时序数据库以及它相关的机制的,只是大概知晓它的用途。但因为公司的业务需求,我意外参与并主导了公司内部开源时序数据库influxdb的引擎改造,所以我也就顺理成章的成为时序数据库“从业者”。造飞机的人需要时刻理解开飞机的人的需求。我不算时序数据库的使用者,但我想站在用户的角度去思考,他们需要一款怎样的“时序数据库”,我司的influxdb的第一阶段改造已经完成,所以我写下这篇文章,总结一下自己在开发中的一些思考与想法。也许有些地方还不够成熟,但胜在人会慢慢进步。正文一、几款优秀的时序数据库Prometheus、Influxdb和opentsdb是三款业内比较知名且实际生产使用的时序数据库了,总的来说三款各有优缺点,这里不谈它们的性能,主要谈谈使用和生态。Influxdb...阅读全文

博文 2020-11-03 08:12:52 知乎

Prometheus核心概念:一图了解Counter和Gauge两种数据指标类型的区别_Hugo Lei的博客

目录 1 背景 2 何为Counter类型? 2.1 Counter定义 3 何为Gauge类型? 3.1 Gauge定义 4 Counter和Gauge的对比 1 背景 Prometheus整体架构分为Server端和Exporter端,而Exporter通常是基于官方的SDK开发(例如Go SDK)。 这里要明确一个概念:数据指标类型只是Client端的一个概念,用于维护Metric的生产,以方便在业务上有所区分。 而Server端是不区分数据类型的,因为所有的数据都是一种格式,也即时间序列 Metric value, timestamp. 2 何为Counter类型? Counter是一个累计类型的数据指标,它代表单调递增的计数器。 其值只能在重新启动...阅读全文

博文 2023-01-03 02:55:22 CSDN博客_prometheus gauge

Prometheus Histogram + Grafana 绘制接口响应热点图 – 兰陵美酒郁金香的个人博客

一、前言 第一版的接口响应时长分布统计图表是根据 Prometheus Counter 数据类型制作的折线图,它大概长下面这个样子。 原理其实也非常简单,我就是将请求分组进行统计。大致的代码就是下面这个样子 // UploadAPIRequestDurationCounter 上报接口请求时长 func (s *apiMetrics) UploadAPIRequestDurationCounter(method, endpoint string, duration time.Duration) { getDurationLabel := func(duration time.Duration) string { d := duration.Milliseconds() switch { ca...阅读全文

博文 2023-09-22 15:00:10 www.xhyonline.com

Prometheus 服务的自动发现使用-腾讯云开发者社区

前面我们了解了 Prometheus 中 Relabeling 重新标记的使用,本文我们将学习 Prometheus 中是如何使用服务发现来查找和抓取目标的。我们知道在 Prometheus 配置文件中可以通过一个 static_configs 来配置静态的抓取任务,但是在云环境下,特别是容器环境下,抓取目标地址是经常变动的,所以用静态的方式就不能满足这些场景了。所以我们需要监控系统能够动态感知这个变化,不可能每次变动都去手动重新配置的,为了应对复杂的动态环境,Prometheus 也提供了与基础设施中的服务发现集成的功能。Prometheus 已经支持多种内置的服务发现机制:发现云服务商的 VM 虚拟机Kubernetes 上的自动发现通用的服务查找,例如 DNS、Consul、Zooke...阅读全文

博文 2023-09-20 11:38:32 腾讯云

【精选】Prometheus源码分析-increase()函数踩坑记_prometheus increase 小数_FrankenFunc `的博客

Counter采集过来的整数数据increase后出现小数点的数据 情况如下图所示: increase(jvm_gc_pause_seconds_count[5m])在Grafana Explore中查询出来的数据存在小数点,什么鬼,increase难道不是两个数据的差值吗,两个整数相减为什么会有小数点呢???这你让我怎么跟leader交代。。。 查询SQL: increase(jvm_gc_pause_seconds_count{instance="$instance", application="$application"}[5m]) increase()函数实现的源代码分析: 在源码里就找到了一个extrapolatedRate()的函数 源码中的注释 extrapolatedRate...阅读全文

博文 2023-10-28 17:24:19 CSDN博客

Prometheus基础相关--PromQL 基础(4)

见字如面,我是小斐,上文介绍了关于运算、阈值、集合操作等相关操作和说明,本文将继续说明PromQL的基础,上文链接如下:排序本节我们将学习如何对查询结果进行排序,或者只选择一组序列中最大或最小的值。我们可以使用 sort()(升序) 或者 sort_desc()(降序)函数来实现对输出结果进行排序,例如,要显示按值排序的每个路径请求率,从最高到最低,我们可以用下面的语句进行查询:sort_desc(sum by(path) (rate(demo_api_request_duration_seconds_count{job="demo"}[5m])))有的时候我们并不是对所有的时间序列感兴趣,只对最大或最小的几个序列感兴趣,我们可以使用 topk() 和 bottomk() 这两个运算符来操作...阅读全文

博文 2023-10-08 14:36:42 知乎

Prometheus核心概念:你是如何在项目中使用Summary类型的Metric的?-腾讯云开发者社区

1 背景在微服务项目中,我们通常需要监测客户请求的耗时,进而掌握系统整体的性能情况。若发现某些请求耗时非常高,那肯定会对客户体验造成影响。并且高耗时的服务非常容易成为整个服务的瓶颈,在高并发下很可能引发微服务雪崩效应,进而导致整个服务不可用。2 微服务项目中如何监测请求耗时呢?例如常见的监测手段是:某个请求的最大耗时。(木桶效应里的最短的那块板)某个请求的耗时百分位。(请求耗时的整体分布情况)例如:请求:http://127.0.0.1/hello最大耗时:300ms [需要重点关注,什么情况下产生这么大的耗时,必须被优化掉]耗时百分位:50分位,50%:100ms(有50%的请求,耗时低于100ms)[性能很好,耗时较低]90分位,90%:230ms(有90%的请求,耗时低于230ms)[...阅读全文

博文 2023-09-13 14:52:23 腾讯云

Prometheus 数据存储那些事儿

本篇文章使用的是 Prometheus v2.40 源码 转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/725 本篇文章主要是整理一下 Prometheus 的时序数据库是怎么存储以及管理数据的,希望这篇文章能给大家带来一定的启发。 概述 我们先来看看 Prometheus 的整个架构图: 对于 Prometheus Server 来说,整个数据处理流程分为三部分:Exporter 指标的收集、Scraper 数据的抓取、TSDB 数据的存储及查询;Exporter 其实不同的服务有不同的收集实现,类似 Mysqld-exporter、node exporter 等我们这里不做过多的解读,大家基本只需要知道它...阅读全文

博文 2023-11-02 18:29:42 luozhiyun`s Blog

Prometheus入门与进阶实践(2024最新)|Prometheus教程

![1.png](http://static.itsharecircle.com/240222/58b101a66e5bd7067ba5d632da55363f.png) 今天给大家讲讲关于Prometheus的知识,我们先来看看Prometheus的基本概念。 一、那么什么是Prometheus呢? Prometheus 是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件Prometheus server会定期从静态配置的监控目标或者基于服务发现自动配置的自标中进行拉取数据,当新拉取到的数据大于配置的内存缓存区时,数据就会持久化到存储设备当中。 1.每个被监控的主机都可以通过专用的exporter 程序提供输出监控数据的接口,它会在目标...阅读全文

博文 2024-02-22 14:42:56 gugededeoe

prometheus的summary和histogram指标的简单理解_prometheus histogram_wtan825的博客

prometheus的客户端与服务端 客户端是提供监控指标数据的一端(如写的exporter)。prometheus提供了各种语言的客户端库,需要通过Prometheus客户端库把监控的代码放在被监控的服务代码中。当Prometheus获取客户端的HTTP端点时,客户端库发送所有跟踪的度量指标数据到服务器上。详情见客户库服务端是指prometheus server,拉取、存储和查询各种各种指标数据。 histogram histogram是柱状图,在Prometheus系统中的查询语言中,有三种作用: 对每个采样点进行统计(并不是一段时间的统计),打到各个桶(bucket)中对每个采样点值累计和(sum)对采样点的次数累计和(count) 度量指标名称: [basename]的柱状图, 上面...阅读全文

博文 2023-09-11 03:21:56 CSDN博客

OpenTelemetry-可观察性的新时代

有幸在2019KubeCon上海站听到Steve Flanders关于OpenTelemetry的演讲,之前Ops领域两个网红项目OpenTracing和OpenCensus终于走到了一起,可观察性统一的标准化已经扬帆起航。这篇文章旨在抛砖引玉,希望能够和更多的同学一起交流可观察性相关的内容。前世OpenTracingOpenTracing制定了一套平台无关、厂商无关的Trace协议,使得开发人员能够方便的添加或更换分布式追踪系统的实现。在2016年11月的时候CNCF技术委员会投票接受OpenTracing作为Hosted项目,这是CNCF的第三个项目,第一个是Kubernetes,第二个是Prometheus,可见CNCF对OpenTracing背后可观察性的重视。比如大名鼎鼎的Zipk...阅读全文

博文 2023-09-13 14:46:13 知乎

详解Prometheus四种指标类型,谁还不是个监控老司机了_格式_标准_系统

详解Prometheus四种指标类型,谁还不是个监控老司机了 2023-02-17 14:12 来源: dbaplus社群 原标题:详解Prometheus四种指标类型,谁还不是个监控老司机了 指标是用来衡量性能、消耗、效率和许多其他软件属性随时间的变化趋势。它们允许工程师通过警报和仪表盘来监控一系列测量值的演变(如CPU或内存使用量、请求持续时间、延迟等)。指标在IT监控领域有着悠久的历史,并被工程师广泛使用,与日志和链路追踪一起被用来检测系统是否有不符合预期的表现。 在其最基本的形式中,一个指标数据点是由以下三个部分构成: 一个指标名称 收集该数据点的时间戳 一个由数字表示的测量值 在过去的十年里,随着系统变得越来越复杂,出现了维度度量的概念,也就是说,度量还包括一组标签或标识(即维度)...阅读全文

博文 2023-09-08 03:51:30 www.sohu.com

基于Consul的服务发现 - prometheus

Consul是由HashiCorp开发的一个支持多数据中心的分布式服务发现和键值对存储服务的开源软件,被大量应用于基于微服务的软件架构当中。Consul初体验用户可以通过Consul官网https://www.consul.io/downloads.html下载对应操作系统版本的软件包。Consul与Prometheus同样使用Go语言进行开发,因此安装和部署的方式也极为简单,解压并将命令行工具放到系统PATH路径下即可。在本地可以使用开发者模式在本地快速启动一个单节点的Consul环境:$ consul agent -dev==> Starting Consul agent...==> Consul agent running! Version: 'v1.0.7' Node ID: 'd7...阅读全文

【博客555】prometheus的step,durations,rate interval,scrape interval对数据查询结果的影响_promql.lookbackdelta_lulu的云原生笔记的博客

prometheus的step,durations,rate interval,scrape interval对数据查询结果的影响 1、场景:在查询prometheus数据时出现很多诡异的现象 1、为什么同样的查询语句在不同的时间点查询,对过去某一时刻的数据展示却不一样 2、为什么有时候峰值在使用不同step,不同duration查询时,会不一样,甚至消失 3、为什么scrape interval变化了,会使某些规则的结果不准确 等等疑问 2、原理剖析:rate与irate,step,datapoint,scape_internal,instant vector selector,range vector selector 2-1、rate与irate的查询原理见之前博文:【博客486】pr...阅读全文

博文 2023-09-13 16:22:27 CSDN博客

QQA: 为什么 Prometheus increase 不返回整数?

用 Prometheus 作业务监控,需要统计“今日请求量”,很自然想到用 increase 函数。实际效果是它不返回整数,甚至在突然的压力下“请求量”还会减少。为什么会发生这些现象呢? 原因是 increase/rate 函数对区间的统计信息做了“线性外插”,是一个估算值。 Prometheus 怎么做线性外插 如下图:我们每隔 5s 采样一次,问在 [3s, 23s] 的区间内增长了多少?这里的问题在于查询区间的时间与采样时间不重合,因此并没法得到准确的数值。 Prometheus 的策略是拿到样本的端点 {5s: 10} 与 {20s: 30},并计算它们的区间为20 - 5 = 15s,期间请求量增长了 30 - 10 = 10 次。因此推算每秒增长了 20/15次,按增长率估算在[...阅读全文

博文 2023-10-28 17:22:05 三点水

图文轻松说透 K8S Pod 各种驱逐场景

图文轻松说透 K8S Pod 各种驱逐场景 Kubernetes Pod 被驱逐是什么意思? 它们被终止,通常是没有足够资源的结果。但是为什么会这样呢? 驱逐是指派给节点的Pod 被终止的过程。Kubernetes 中最常见的情况之一是Preemption,为了在资源有限的节点中调度新的 Pod,需要终止另一个 Pod 以释放资源。 此外,Kubernetes 会不断检查资源并在需要时驱逐 Pod,这个过程称为节点压力驱逐。 在本文中,您将发现: Pod 被驱逐的原因:抢占和节点压力抢占式驱逐Pod 调度Pod 优先级优先级示例节点压力驱逐服务质量等级其他类型的驱逐API 发起的驱逐基于污点的驱逐node 级别排空(drain)Prometheus 中的 Pod 驱逐监控结论说明 Pod 被...阅读全文

博文 2023-09-21 10:35:37 知乎

Prometheus range query中的step参数

详细解释Prometheus range query中的step参数的作用。 Prometheus有两种query:instant query、range query。本文要讲的就是range query中的step参数。 range query是非常常见的一种query,看看它有哪些参数: query=: PromQL表达式。 start=: 时间范围的开始。 end=: 时间范围的结束。 step=: 查询解析度(query resolution)。 timeout=: 执行超时。这个参数是可选的。 在Promet...阅读全文

博文 2023-09-13 15:57:31 颇忒脱的技术博客

prometheus中step或resolution的含义_iceman1952的博客

prometheus官方文档对resolution的解释真是语焉不详,只有下面寥寥几句话 https://prometheus.io/docs/prometheus/latest/querying/examples/ Subquery Return the 5-minute rate of the http_requests_total metric for the past 30 minutes, with a resolution of 1 minute. rate(http_requests_total[5m])[30m:1m] 由于官方文档的缺失,想了解也无从看起。网上有两篇文章解释的比较清楚: https://blog.csdn.net/weixin_33778778/articl...阅读全文

博文 2023-07-12 11:35:24 CSDN博客

保姆级别的 PromQL 教程-腾讯云开发者社区

这篇文章介绍如何使用 PromQL 查询 Prometheus 里面的数据。包括如何使用函数,理解这些函数,Metrics 的逻辑等等,因为看了很多教程试图学习 PromQL,发现这些教程都直说有哪些函数、语法是什么,看完之后还是很难理解。比如 [1m] 是什么意思?为什么有的函数需要有的函数不需要?它对 Grafana 上面展示的数据有什么影响?rate 和 irate 的区别是什么?sum 和 rate 要先用哪个后用哪个?经过照葫芦画瓢地写了很多 PromQL 来设置监控和告警规则,我渐渐对 PromQL 的逻辑有了一些理解。这篇文章从头开始,通过介绍 PromQL 里面的逻辑,来理解这些函数的作用。本文不会一一回答上面这些问题,但是我的这些问题都是由于之前对 PromQL 里面的逻辑...阅读全文

博文 2023-09-13 14:50:00 腾讯云

Prometheus入门与进阶实践教程2024

![1.png](http://static.itsharecircle.com/240222/367d7a4681ca99938b121de782eaaa42.png) 一、Prometheus的概念和发展史 Prometheus是一个开源的完整监控解决方案,本文将从指标抓取到查询及可视化展示,以及最后的监控告警,对Prometheus做一个基本的认识。 Prometheus发展速度很快,12年开发完成,16年加入CNCF,成为继K8s之后第二个CNCF托管的项目,目前Github 42k的 ,而且社区很活跃,维护频率很高,基本稳定在 1个月1个小版本的迭代速度。 二、Prometheus的特点 多维数据模型:由度量名称和键值对标识的时间序列数据 时序数据,是在一段时间内通过重复测量(me...阅读全文

博文 2024-02-22 17:17:32 feilipu2023nui

高效计算 TP99 的方法:从排序到优化

在高性能计算和大数据处理中,TP99(第99百分位响应时间)常被用来衡量系统的稳定性和性能表现。本文将介绍几种计算TP99的常用方法,并讨论如何对算法进行优化,以提高计算效率。1. 什么是 TP99?TP99 是第99百分位响应时间,表示排在前99%的请求时间。在实际应用中,它用于衡量系统在高负载下的稳定性。换句话说,TP99 计算的是一组数据中排在第99%的那个值。2. 使用排序算法计算 TP99最直接的方法是将数据集进行排序,然后选择位于第 99% 处的元素。示例代码import java.util.List; import java.util.stream.Collectors; public class PercentileCalculator { /** * 计算百分位 * * @...阅读全文

博文 2024-06-26 19:57:04 zhidiantech

Prometheus入门与进阶实践(2024最新)

Prometheus入门与进阶实践(2024最新) 分享一套课程——Prometheus入门与进阶实践(2024最新),附PDF课件+源码下载。 1、什么是Prometheus Prometheus 是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件Prometheus server会定期从静态配置的监控目标或者基于服务发现自动配置的自标中进行拉取数据,当新拉取到的数据大于配置的内存缓存区时,数据就会持久化到存储设备当中。 1.每个被监控的主机都可以通过专用的exporter 程序提供输出监控数据的接口,它会在目标处收集监控数据,并暴露出一个HTTP接口供Prometheus server查询,Prometheus通过基于HTTP的pul...阅读全文

博文 2024-02-26 18:23:33 haoighd6668