diff --git a/README.md b/README.md
index ef745d9..e31a698 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ Magento Backend.
Install the Module via composer by running:
-```
+```shell
composer require run-as-root/magento2-prometheus-exporter
php bin/magento setup:upgrade
```
@@ -26,9 +26,9 @@ can enable or disable specific metrics by using the multiselect.
## Prometheus Configuration
After installing the Magento Module, your Prometheus needs to get pointed to your Magento Metrics endpoint. To do so,
-add the following lines to your prometheus.yml under scrape_configs:
+add the following lines to your `prometheus.yml` under `scrape_configs`:
-``` yaml
+```yaml
- job_name: 'Magento 2 Exporter'
scrape_interval: 5m
scrape_timeout: 60s
@@ -38,6 +38,21 @@ add the following lines to your prometheus.yml under scrape_configs:
- your-magento-url
```
+### Authorization
+
+Your metrics endpoint should not be available to everyone, so the use of authorization is recommended.
+The module provides support for authorization tokens via Magento Backend.
+
+For Basic or Bearer authorization, the scrape job should be extended like this:
+
+```yaml
+- job_name: 'Magento 2 Exporter'
+ [..]
+ authorization:
+ type: 'Bearer'
+ credentials: "{{ magento2_metrics_password }}"
+```
+
## Module functionality
The module registers a cron job that runs every minute. The cronjob is responsible for aggregating the metric data. The
@@ -48,24 +63,24 @@ in the table and renders the correct response for prometheus.
The following metrics will be collected:
-| Metric | Labels | TYPE | Help |
-|:-------------------------------------|:--------------------------------|:--------|:--------------------------------------------------------------------------------|
-| magento_orders_count_total | status, store_code | gauge | All Magento Orders |
-| magento_orders_amount_total | status, store_code | gauge | Total amount of all Magento Orders |
-| magento_order_items_count_total | status, store_code | gauge | Total count of orderitems |
-| magento_cms_block_count_total | store_code | gauge | Total count of available cms blocks |
-| magento_cms_page_count_total | store_code | gauge | Total count of available cms pages |
-| magento_customer_count_total | store_code | gauge | Total count of available customer |
-| magento_cronjob_broken_count_total | | gauge | Broken CronJobs occur when when status is pending but execution_time is set. |
-| magento_cronjob_count_total | status, job_code | gauge | Total count of available CronJob Count. |
-| magento_indexer_backlog_count_total | title | gauge | Total count of backlog item in indexer (the data from `indexer:status` command) |
-| magento_shipments_count_total | source, store_code | counter | Count of Shipments created by store and source. |
-| magento_catalog_category_count_total | status, menu_status, store_code | gauge | Count of Categories by store, status and menu status. |
-| magento_store_count_total | status | gauge | Total count of Stores by status. |
-| magento_website_count_total | | gauge | Total count websites. |
-| magento_products_by_type_count_total | project_type | gauge | Total count of products by type. |
-
-## Add you own Metric
+| Metric | Labels | TYPE | Help |
+|:-------------------------------------|:--------------------------------|:--------|:---------------------------------------------------------------------------------|
+| magento_orders_count_total | status, store_code | gauge | Total count of Magento Orders. |
+| magento_orders_amount_total | status, store_code | gauge | Total amount of all Magento Orders. |
+| magento_order_items_count_total | status, store_code | gauge | Total count of orderitems. |
+| magento_cms_block_count_total | store_code | gauge | Total count of available cms blocks. |
+| magento_cms_page_count_total | store_code | gauge | Total count of available cms pages. |
+| magento_customer_count_total | store_code | gauge | Total count of available customers. |
+| magento_cronjob_broken_count_total | | gauge | Broken CronJobs occur when when status is pending but execution_time is set. |
+| magento_cronjob_count_total | status, job_code | gauge | Total count of available CronJob Count. |
+| magento_indexer_backlog_count_total | title | gauge | Total count of backlog item in indexer (the data from `indexer:status` command). |
+| magento_shipments_count_total | source, store_code | counter | Count of Shipments created by store and source. |
+| magento_catalog_category_count_total | status, menu_status, store_code | gauge | Count of Categories by store, status and menu status. |
+| magento_store_count_total | status | gauge | Total count of Stores by status. |
+| magento_website_count_total | | gauge | Total count of websites. |
+| magento_products_by_type_count_total | project_type | gauge | Total count of products by type. |
+
+## Add your own Metric
To add a new metric, you need to implement the `\RunAsRoot\PrometheusExporter\Api\MetricAggregatorInterface`. The metric
aggregator object is responsible for collecting the necessary information for the specific metric from magento and then
@@ -75,17 +90,17 @@ add a new metric record. New records can be easily added via
In addition to the implementation of the MetricAggregatorInterface, you have to add your specific Aggregator to the
`MetricAggregatorPool` defined in the `di.xml`. For example:
-``` xml
+```xml
-
-
- - RunAsRoot\PrometheusExporter\Aggregator\Order\OrderAmountAggregator
- - RunAsRoot\PrometheusExporter\Aggregator\Order\OrderCountAggregator
- - RunAsRoot\PrometheusExporter\Aggregator\Order\OrderItemAmountAggregator
- - RunAsRoot\PrometheusExporter\Aggregator\Order\OrderItemCountAggregator
-
-
-
+
+
+ - RunAsRoot\PrometheusExporter\Aggregator\Order\OrderAmountAggregator
+ - RunAsRoot\PrometheusExporter\Aggregator\Order\OrderCountAggregator
+ - RunAsRoot\PrometheusExporter\Aggregator\Order\OrderItemAmountAggregator
+ - RunAsRoot\PrometheusExporter\Aggregator\Order\OrderItemCountAggregator
+
+
+
```
## Contribution