diff --git a/components/prometheus.rst b/components/prometheus.rst new file mode 100644 index 000000000..e49480ac9 --- /dev/null +++ b/components/prometheus.rst @@ -0,0 +1,46 @@ +Prometheus Component +==================== + +.. seo:: + :description: Instructions for setting up a prometheus exporter with ESPHome. + :image: prometheus.png + +The ``prometheus`` component enables an HTTP endpoint for the +:doc:`web_server` in order to integrate a `Prometheus `__ 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 +``/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. + +.. note:: + + Example integration into the configuration of your prometheus: + + .. code-block:: yaml + + scrape_configs: + - job_name: esphome + static_configs: + - targets: [] + +See Also +-------- + +- :apiref:`prometheus/prometheus_handler.h` +- :ghedit:`Edit` diff --git a/components/web_server.rst b/components/web_server.rst index 25d1e53fe..2355b0935 100644 --- a/components/web_server.rst +++ b/components/web_server.rst @@ -50,7 +50,6 @@ Configuration variables: - **username** (**Required**, string): The username to use for authentication. - **password** (**Required**, string): The password to check for authentication. -- **prometheus** (*Optional*, boolean): Enable the prometheus-endpoint. See :ref:`prometheus-exporter`. - **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation. .. note:: @@ -65,7 +64,6 @@ Configuration variables: auth: username: admin password: !secret web_server_password - prometheus: true Example web_server configuration with CSS and JS included from esphome-docs. CSS and JS URL's are set to empty value, so no internet access is needed for this device to show it's web interface. @@ -80,36 +78,9 @@ Configuration variables: js_include: "../../../esphome-docs/_static/webserver-v1.min.js" js_url: "" - -.. _prometheus-exporter: - -Prometheus Exporter: --------------------- - -The webserver can provide an `Prometheus `__-Exporter under ``/metrics``. - -This can be used to scrape data directly into your Prometheus-based monitoring and alerting-system, -without the need of any other software. - -The prometheus-endpoint is activated by setting ``prometheus: true`` in the ``web_server``-area of -the configuration. - -The list of available metrics can be found by directly browsing your node under -``/metrics``, and may be increased in the future. - -.. note:: - - Example integration into the configuration of your prometheus: - - .. code-block:: yaml - - scrape_configs: - - job_name: esphome - static_configs: - - targets: [] - See Also -------- - :apiref:`web_server/web_server.h` +- :doc:`prometheus` - :ghedit:`Edit` diff --git a/images/prometheus.svg b/images/prometheus.svg new file mode 100644 index 000000000..ed33f03a5 --- /dev/null +++ b/images/prometheus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/index.rst b/index.rst index 345c67e64..f46f3e51c 100644 --- a/index.rst +++ b/index.rst @@ -353,6 +353,7 @@ Misc Components Tuya MCU, components/tuya, tuya.png Exposure Notifications, components/exposure_notifications, exposure_notifications.png RTTTL Buzzer, components/rtttl, buzzer.jpg + Prometheus, components/prometheus, prometheus.svg Additional Custom Components ---------------------------- diff --git a/svg2png/prometheus.png b/svg2png/prometheus.png new file mode 100644 index 000000000..82cf5b30b Binary files /dev/null and b/svg2png/prometheus.png differ