标签: metrics

带标签的计数器 - 如何按维度/标签分组?

我试图了解 spring micromenter 的按维度/标签功能分组。我正在使用 StepMeterRegistry 并递增计数器,但没有看到所需的结果。

创建计数器为,

final MeterRegistry myRegistry = new StepMeterRegistry(config, Clock.SYSTEM) {...};

final Counter myCounter1 = myRegistry.counter("myTestCounter", "tag1", "value1");
final Counter myCounter2 = myRegistry.counter("myTestCounter", "tag2", "value2");
final Counter myCounter1n2 = myRegistry.counter("myTestCounter", "tag1", "value1", "tag2", "value2");
Run Code Online (Sandbox Code Playgroud)

计数器增量为,

myCounter1.increment();
myCounter2.increment();
myCounter1n2.increment();
Run Code Online (Sandbox Code Playgroud)

当我打印时(步骤持续时间之后),

myCounter1.measure(); => value=1.0
myCounter2.measure(); => value=1.0
myCounter1n2.measure(); => value=1.0
Run Code Online (Sandbox Code Playgroud)

而我期待的是(在步骤持续时间之后),

myCounter1.measure(); => value=2.0
myCounter2.measure(); => value=2.0
myCounter1n2.measure(); => value=1.0
Run Code Online (Sandbox Code Playgroud)

我的理解正确吗?或者我如何实现分组依据(或)选择功能?

java metrics spring-boot micrometer spring-micrometer

4
推荐指数
1
解决办法
2473
查看次数

如何通过命令行启用 jfr 的堆指标

我正在尝试使用位于 /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/jcmd (Mac OS X) 的 jcmd 二进制文件运行 Java Flight Recorder。是否有命令行选项来启用与开始飞行记录 UI 上的堆统计选项相对应的堆指标:

在此输入图像描述

java performance metrics jmc jfr

4
推荐指数
1
解决办法
2585
查看次数

匹配多个标签的路由

我没有让警报管理器根据多个标签发送警报。

一般来说,发送警报电子邮件是有效的。但前提是一个标签上存在简单匹配。例如 teamB 路线正在运行。teamA路线则不然。

route:
  receiver: default-receiver
  routes:
  - receiver: teamA
    match:
      environment: production
    match_re:
      job: ^(?:app2| app3)$
  - receiver: teamB
    match:
      application: app1
      environment: production
receivers:
- name: default-receiver 
- name: teamA
- name: teamB
Run Code Online (Sandbox Code Playgroud)

语法似乎正确,因为加载警报管理器时没有错误消息:

019-07-24T08:03:59.242791707Z level=info ts=2019-07-24T08:03:59.242607527Z caller=main.go:334 msg="Loading configuration file" file=/etc/alertmanager/config.yml
Run Code Online (Sandbox Code Playgroud)

teamA路线有什么问题吗?

我正在使用https://prometheus.io/webtools/alerting/routing-tree-editor/来分析问题。可以简单地将上面的代码复制到该编辑器以可视化给定标签集的结果。

metrics prometheus prometheus-alertmanager

4
推荐指数
1
解决办法
1万
查看次数

Prometheus metrics vs micrometer metrics (Spring 2)

我正在使用普罗米修斯来监视一些开箱即用和一些自定义应用程序指标。对于自定义指标,我没有使用 Prometheus 客户端库,而是使用io.micrometer自定义计数器和仪表的包。

我创建的自定义指标在普罗米修斯端点中仍然可见(http://localhost:9090/actuator/prometheus)。既然如此,为什么我们还需要 Prometheus 客户端库呢?我应该使用其中一种还是两者混合使用?他们似乎使用不同类型的注册表,这使得无法将它们组合起来。

metrics spring-boot prometheus

4
推荐指数
1
解决办法
3218
查看次数

普罗米修斯只刮掉一个豆荚

我正在使用 Prometheus 从我的 pod 中抓取指标。我感兴趣的应用程序通过一个提供访问的服务复制了几次。Prometheus 使用此服务来抓取指标。在我的应用程序中,指标设置如下:

import * as Prometheus from 'prom-client';

const httpRequestDurationMicroseconds = new Prometheus.Histogram({
    name: 'transaction_amounts',
    help: 'Amount',
    labelNames: ['amount'],
    buckets: [0, 5, 15, 50, 100, 200, 300, 400, 500, 10000],
});

const totalPayments = new Prometheus.Counter('transaction_totals', 'Total payments');
Run Code Online (Sandbox Code Playgroud)

我正在使用 helm 安装 Prometheus 并且刮取配置如下所示:

prometheus.yml:
  rule_files:
    - /etc/config/rules
    - /etc/config/alerts

  scrape_configs:
    - job_name: prometheus
      static_configs:
        - targets:
          - localhost:9090
    - job_name: transactions
      scrape_interval: 1s
      static_configs:
        - targets:
          - transaction-metrics-service:3001
Run Code Online (Sandbox Code Playgroud)

我可以看到 prometheus 内部的指标,但它似乎只来自一个 pod。例如,在 Prometheus 中,当我查询transaction_totals它时会给出: …

metrics kubernetes prometheus

4
推荐指数
1
解决办法
1765
查看次数

Traefik V2.0 指标与 Prometheus

如果我想使用 Prometheus 捕获 Traefik 的指标,则只有在激活 insecure= true 时才有效。如果我设置 insecure=false 我会得到 404。也许有人有一个正确配置的示例。那么Traefik(V2.0 CLI)和prometheus.yml的配置。

traefik.yml 命令部分:

      command:
        - "--metrics=true"
        - "--metrics.prometheus=true"
        - "--metrics.prometheus.buckets=0.100000, 0.300000, 1.200000, 5.000000"
        - "--metrics.prometheus.entrypoint='metrics'"
        - "--metrics.prometheus.addEntryPointsLabels=true"
        - "--metrics.prometheus.addServicesLabels=true"

        - "--api=true"
        - "--api.dashboard=true"

        - "--log.level=INFO"

        - "--providers.docker=true"
        - "--providers.docker.swarmmode=true"
        - "--providers.docker.exposedbydefault=false"

        - "--entrypoints.web.address=:80"
        - "--entrypoints.websecure.address=:443"
        - "--certificatesResolvers.sec.acme.email=foo@bar.com"
        - "--certificatesResolvers.sec.acme.storage=/letsencrypt/acme.json"
        - "--certificatesResolvers.sec.acme.httpChallenge.entryPoint=web"
      deploy:
        labels:
            - "traefik.enable=true"

            - "traefik.http.routers.api.rule=PathPrefix(`/api`) || PathPrefix(`/dashboard`)"
            - "traefik.http.routers.api.rule=Host(`foo.bar`)"

            - "traefik.http.routers.api.service=api@internal"
            - "traefik.http.routers.api.middlewares=myauth"
            - "traefik.http.services.api.loadbalancer.server.port=8080"
            - "traefik.http.routers.api.tls.certresolver=sec"
            - "traefik.http.middlewares.myauth.basicauth.users=xxx"
Run Code Online (Sandbox Code Playgroud)

普罗米修斯.yml:

global:
    scrape_interval: 10s
    scrape_timeout: 10s
scrape_configs:
    - …
Run Code Online (Sandbox Code Playgroud)

metrics prometheus traefik

4
推荐指数
1
解决办法
1万
查看次数

按部署名称排列的container_memory_usage_bytes

给定一个 kubernetes 集群:

  1. 普罗米修斯
  2. 节点导出器
  3. kube 状态指标

我喜欢使用度量container_memory_usage_bytes,但选择 bydeployment_name而不是pod

只要没有部署,像container_memory_usage_bytes{pod_name=~"foo-.+"}if 这样的选择器就很棒。deployment_name=foodeployment_name=foo-bar

我想用 metric 实现同样的目标kube_pod_container_resource_limits_memory_bytes

有办法实现这一点吗?

metrics kubernetes prometheus

4
推荐指数
1
解决办法
2万
查看次数

Azure 指标中的百分位数 - Web 应用程序缓慢是什么?

我需要知道 Azure 指标中的百分位数 - Web 应用程序缓慢。我正在尝试在诊断下分析 Azure 中的 Web 应用程序缓慢功能。有 3 个图例 - 第 50 个百分位、第 90 个百分位、第 95 个百分位。

在此输入图像描述

c# metrics azure percentile azure-web-app-service

4
推荐指数
1
解决办法
4576
查看次数

Prometheus:如何在查询中获取label_value()

所以我有 2 个指标,我需要从第一个指标获取标签值,然后查询第二个指标,其中 {param="label_values_from_1st_metric"}。例如:

metric_1{instance="abc"}- 返回 3 个时间序列:

metric_1{name="my-service", env="production", host="example-0.org"}

metric_1{name="my-service", env="production", host="example-1.org"}

metric_1{name="my-service", env="production", host="example-2.org"}

接下来,我需要使用第一个查询中的主机值对第二个指标进行查询。

metric_2{domain="exmple-0,1,2.org"}

所以问题是,如何将 label_values 传递给第二个查询?据我了解,我只能对 grafana 面板中的变量使用 label_values() ,所以我无法编写一个查询来为我做到这一点。

metrics grafana prometheus promql

4
推荐指数
1
解决办法
2万
查看次数

NDepend代码质量指标 - 自定义CQL - Brownfield开发

我正在开发一个最初为.NET 1.1开发的棕色项目,后来改编为.NET 2.0,只有一小部分.NET 3.5

我很好奇用什么样的指标来开始寻找优化和现代化拐点.

有没有人发现有用的清理和重构"遗留".NET代码的CQL查询?

.net c# metrics ndepend cql

3
推荐指数
1
解决办法
510
查看次数