acseo / sylius-prometheus-metrics-plugin
Sylius Prometheus Metrics 插件
v1.0
2023-06-14 07:58 UTC
Requires
- php: ^8.0
- artprima/prometheus-metrics-bundle: ~1.16.0 || ~1.17.0
- sylius/sylius: ~1.11.0 || ~1.12.0
Requires (Dev)
- phpunit/phpunit: ^10.2
README
Sylius Prometheus Metrics
功能
可观测性
我们使用 artprima/prometheus-metrics-bundle (https://github.com/artprima/prometheus-metrics-bundle) 包来收集 Prometheus 格式的指标,这些指标可以用于与 Grafana 建立仪表板。这些指标在网站的 /metrics/prometheus URL 上可见。
默认指标会生成。可以创建自定义指标来跟踪“业务”数据,例如创建的订单数量或订单金额。
安装
-
运行
$ composer require acseo/sylius-prometheus-metrics-plugin
。 -
将这些几行代码添加到
config/state_machine/sylius_payment.yaml
winzou_state_machine: sylius_payment: callbacks: after: sylius_order_items_complete_collector: on: 'complete' do: ['@metrics.order_collector', 'incrementPrometheusCounters'] args: ["object.getOrder()"]
无 Symfony Flex 的安装
-
运行
$ composer require acseo/sylius-prometheus-metrics-plugin
。 -
在 bundles.php 中启用插件
<?php // config/bundles.php return [ // ... Artprima\PrometheusMetricsBundle\ArtprimaPrometheusMetricsBundle::class => ['all' => true], Acseo\SyliusPrometheusMetricsPlugin\SyliusPrometheusMetricsPlugin::class => ['all' => true], ];
- 添加此文件
config/packages/prometheus_metrics.yaml
artprima_prometheus_metrics: namespace: myapp storage: '%env(PROM_METRICS_DSN)%' ignored_routes: - prometheus_bundle_prometheus - _wdt # used to disable default application metrics #disable_default_metrics: false # Recommended to disable default metrics from promphp/prometheus_client_php # see https://github.com/PromPHP/prometheus_client_php/issues/62 disable_default_promphp_metrics: true # used to enable console metrics #enable_console_metrics: false when@test: artprima_prometheus_metrics: storage: in_memory
- 添加指标路由
config/routes/metrics.yaml
app_metrics: resource: '@ArtprimaPrometheusMetricsBundle/Resources/config/routing.xml'
- 添加环境变量
###> artprima/prometheus-metrics-bundle ###
PROM_METRICS_DSN=apcu
###< artprima/prometheus-metrics-bundle ###