80 lines
2.3 KiB
ReStructuredText
80 lines
2.3 KiB
ReStructuredText
Prometheus Component
|
|
====================
|
|
|
|
.. seo::
|
|
:description: Instructions for setting up a prometheus exporter with ESPHome.
|
|
:image: prometheus.svg
|
|
|
|
The ``prometheus`` component enables an HTTP endpoint for the
|
|
:doc:`web_server` in order to integrate a `Prometheus <https://prometheus.io/>`__ installation.
|
|
|
|
This can be used to scrape data directly into your Prometheus-based monitoring and alerting-system,
|
|
without the need of any other software.
|
|
|
|
The list of available metrics can be found by directly browsing your node under
|
|
``<ip or node_name.local>/metrics``, and may be increased in the future.
|
|
|
|
.. code-block:: yaml
|
|
|
|
# Example configuration entry
|
|
web_server:
|
|
|
|
# Activates prometheus /metrics endpoint
|
|
prometheus:
|
|
|
|
|
|
Configuration variables:
|
|
------------------------
|
|
|
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
|
- **include_internal** (*Optional*, boolean): Whether ``internal`` entities should be displayed on the
|
|
web interface. Defaults to ``false``.
|
|
- **relabel** (*Optional*): Override metric labels. See :ref:`prometheus-relabel`
|
|
|
|
.. note::
|
|
|
|
Example integration into the configuration of your prometheus:
|
|
|
|
.. code-block:: yaml
|
|
|
|
scrape_configs:
|
|
- job_name: esphome
|
|
static_configs:
|
|
- targets: [<ip or node_name.local>]
|
|
|
|
Metric Relabeling
|
|
-----------------
|
|
|
|
ESPHome allows you to do some basic relabeling of Prometheus metrics.
|
|
This is useful if you want to have different metric names or IDs than those shown in Home Assistant or the web interface.
|
|
|
|
You can relabel metric name or ID labels by adding a ``relabel`` block in the ``prometheus`` configuration,
|
|
and then adding a block with ``id`` and/or ``name`` fields for each sensor whose labels your want to override.
|
|
|
|
.. _prometheus-relabel:
|
|
|
|
``relabel``
|
|
***********
|
|
|
|
Set the ``id`` and ``name`` label values of the Prometheus metric for the sensor with the specified ID.
|
|
|
|
.. code-block:: yaml
|
|
|
|
# Example configuration entry
|
|
prometheus:
|
|
relabel:
|
|
my_voltage_sensor:
|
|
id: angry_pixies
|
|
name: "Angry Pixies"
|
|
|
|
|
|
See Also
|
|
--------
|
|
|
|
- :doc:`/components/web_server`
|
|
- :ref:`api-rest`
|
|
- :doc:`/components/http_request`
|
|
- :apiref:`prometheus/prometheus_handler.h`
|
|
- `Prometheus <https://prometheus.io/>`__
|
|
- :ghedit:`Edit`
|