run-as-root/magento2-prometheus-exporter

Magento2 Prometheus Exporter

安装数: 259,606

依赖项: 0

建议者: 0

安全: 0

星标: 61

关注者: 12

分支: 19

开放问题: 7

类型:magento2-module

3.1.6 2023-11-22 08:04 UTC

This package is auto-updated.

Last update: 2024-09-20 08:13:48 UTC


README

Branch stable codecov pipeline status

此 Magento 2 模块在 /metrics 路径下暴露新的路由,其中包含特定于 Magento 2 的以 Prometheus 格式(prometheus)表示的度量。不同的度量被分组到模块中,并且可以通过 Magento 后端启用/禁用。

安装

通过运行以下命令使用 composer 安装模块:

composer require run-as-root/magento2-prometheus-exporter
php bin/magento setup:upgrade

模块配置

模块系统配置位于 商店 -> 配置 -> Prometheus -> 度量配置。您可以通过多选框启用或禁用特定度量。

Prometheus 配置

安装 Magento 模块后,您的 Prometheus 需要指向您的 Magento 度量端点。为此,请在 scrape_configs 下添加以下行到您的 prometheus.yml:

- job_name: 'Magento 2 Exporter'
  scrape_interval: 5m
  scrape_timeout: 60s
  metrics_path: /metrics
  # The bearer token can be generated in the Magento Admin. Using the auth is optional.
  # bearer_token: YOUR_BEARER_TOKEN
  static_configs:
  - targets: 
    - your-magento-url

模块功能

该模块注册了一个每分钟运行一次的定时任务。定时任务是负责聚合度量数据。聚合后的数据存储在 run_as_root_prometheus_metrics 表中。添加的控制器收集表中的数据并为 Prometheus 返回正确的响应。

度量

以下度量将被收集

添加您自己的度量

要添加新的度量,您需要实现 \RunAsRoot\PrometheusExporter\Api\MetricAggregatorInterface。度量聚合对象负责从 Magento 收集特定度量的必要信息,然后添加新的度量记录。新记录可以通过 \RunAsRoot\PrometheusExporter\Service\UpdateMetricService 容易地添加。

除了实现 MetricAggregatorInterface 之外,您还需要将您的特定聚合器添加到在 di.xml 中定义的 MetricAggregatorPool。例如:

<type name="RunAsRoot\PrometheusExporter\Metric\MetricAggregatorPool">
        <arguments>
            <argument name="items" xsi:type="array">
                <item name="OrderAmountAggregator" xsi:type="object">RunAsRoot\PrometheusExporter\Aggregator\Order\OrderAmountAggregator</item>
                <item name="OrderCountAggregator" xsi:type="object">RunAsRoot\PrometheusExporter\Aggregator\Order\OrderCountAggregator</item>
                <item name="OrderItemAmountAggregator" xsi:type="object">RunAsRoot\PrometheusExporter\Aggregator\Order\OrderItemAmountAggregator</item>
                <item name="OrderItemCountAggregator" xsi:type="object">RunAsRoot\PrometheusExporter\Aggregator\Order\OrderItemCountAggregator</item>
            </argument>
        </arguments>
    </type>

贡献

如果您想贡献,无论是功能、功能请求、问题还是其他内容,请随时。没有贡献指南。