> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Конечная точка метрик Prometheus в ClickHouse: публикация метрик сервера на выделенном порту для сбора (scraping).

# Конечная точка метрик Prometheus

ClickHouse публикует собственные метрики на выделенном порту в текстовом формате Prometheus, чтобы сервер Prometheus мог их собирать.

Если же вам нужно хранить метрики Prometheus в ClickHouse и выполнять к ним запросы на PromQL, см. [Prometheus HTTP API и PromQL](/docs/ru/interfaces/prometheus).

<Note>
  Если вы используете ClickHouse Cloud, передавать метрики в Prometheus можно с помощью [интеграции с Prometheus](/docs/ru/products/cloud/features/monitoring/prometheus).
</Note>

<h2 id="configure-the-metrics-port">
  Настройка порта метрик
</h2>

Настройте выделенный порт, если серверу Prometheus требуется собирать собственные метрики ClickHouse:

```xml theme={null}
<prometheus>
    <port>9363</port>
    <endpoint>/metrics</endpoint>
    <metrics>true</metrics>
    <asynchronous_metrics>true</asynchronous_metrics>
    <events>true</events>
    <errors>true</errors>
    <histograms>true</histograms>
    <dimensional_metrics>true</dimensional_metrics>
</prometheus>
```

<h2 id="configure-extended-handlers">
  Настройка расширенных handlers
</h2>

Секцию `<prometheus.handlers>` можно использовать для создания более расширенных handlers на том же порту.
Эта секция аналогична [`<http_handlers>`](/docs/ru/concepts/features/interfaces/http), но работает с Prometheus protocols:

```xml theme={null}
<prometheus>
    <port>9363</port>
    <handlers>
        <my_rule_1>
            <url>/metrics</url>
            <handler>
                <type>expose_metrics</type>
                <metrics>true</metrics>
                <asynchronous_metrics>true</asynchronous_metrics>
                <events>true</events>
                <errors>true</errors>
                <histograms>true</histograms>
                <dimensional_metrics>true</dimensional_metrics>
                <labels>
                    <environment>production</environment>
                    <shard from_env="SHARD_NAME"></shard>
                </labels>
            </handler>
        </my_rule_1>
    </handlers>
</prometheus>
```

<h2 id="settings">
  Settings
</h2>

Полное описание поведения этих настроек приведено в [разделе Prometheus](/docs/ru/reference/settings/server-settings/settings/other#prometheus) справочника по настройкам сервера.

| Имя | По умолчанию | Описание |
| - | - | - |
| `port` | нет | Порт, на котором отдаются метрики ClickHouse. |
| `endpoint` | `/metrics` | HTTP-конечная точка для сбора метрик. Начинается с `/`. Не должна использоваться вместе с разделом `<handlers>`. |
| `url` / `headers` / `method` | нет | Фильтры, по которым подбирается подходящий handler для запроса. Аналогичны одноимённым полям в разделе [`<http_handlers>`](/docs/ru/concepts/features/interfaces/http). |
| `info` | true | Отдаёт gauge `ClickHouse_Info` с labels, идентифицирующими сервер (`name`, `version`, `version_describe`, `version_major`, `version_minor`, `version_patch`). |
| `metrics` | true | Отдаёт метрики из [`system.metrics`](/docs/ru/reference/system-tables/metrics). |
| `asynchronous_metrics` | true | Отдаёт метрики из [`system.asynchronous_metrics`](/docs/ru/reference/system-tables/asynchronous_metrics). |
| `events` | true | Отдаёт метрики из [`system.events`](/docs/ru/reference/system-tables/events). |
| `errors` | true | Отдаёт счётчики ошибок из [`system.errors`](/docs/ru/reference/system-tables/errors). |
| `histograms` | true | Отдаёт метрики из [`system.histogram_metrics`](/docs/ru/reference/system-tables/histogram_metrics). |
| `dimensional_metrics` | true | Отдаёт метрики из [`system.dimensional_metrics`](/docs/ru/reference/system-tables/dimensional_metrics). |
| `labels` | нет | Постоянные labels, добавляемые к каждой отдаваемой метрике. Каждый дочерний элемент задаёт один label: имя элемента становится именем label (оно должно соответствовать `[a-zA-Z_][a-zA-Z0-9_]*`), а значение элемента — значением label. Значения labels поддерживают стандартные подстановки конфигурации, например атрибут `from_env`. Имя label отклоняется, если оно начинается с `__` (зарезервировано Prometheus) либо если оно конфликтует с label, который эта конечная точка уже записывает для одного из своих включённых разделов. Таким образом, зарезервированный набор определяется тем, что конечная точка экспортирует в данный момент: `le` — если включён `histograms`; labels `ClickHouse_Info` (`name`, `version`, `version_describe`, `version_major`, `version_minor`, `version_patch`) — если включён `info`; а также любой label, используемый отдаваемой histogram или семейством размерностных метрик (например, `group`, `direction` или `operation_type`) — если включён `histograms` или `dimensional_metrics`. Поскольку это зависит от того, что конечная точка отдаёт фактически, одно и то же имя может быть допустимым на одной конечной точке и отклонённым на другой. |

<h2 id="check-the-endpoint">
  Проверьте конечную точку
</h2>

```bash theme={null}
curl http://127.0.0.1:9363/metrics
```
