PodMonitor
Scope: Namespaced
Version: v1
PodMonitor определяет мониторинг для набора подов.
- apiVersion
APIVersion определяет версионную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Более подробно: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- kind
Kind — это строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определять это из эндпойнта, к которому клиент отправляет запросы. Не может быть обновлено. Используется CamelCase. Более подробно: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- metadata
- spec
Обязательный параметр
Спецификация желаемого выбора подов для обнаружения целей Prometheus.
- spec.attachMetadata
Присоединяет метаданные узла к обнаруженным целям. Требуется Prometheus версии не ниже v2.35.0.
- spec.attachMetadata.node
Если установлено в true, Prometheus должен иметь разрешения на получение узлов.
- spec.jobLabel
Лейбл, используемый для получения имени задачи.
- spec.keepDroppedTargets
Предел на количество целей, отклоненных переименованием, которые будут оставаться в памяти. 0 означает отсутствие ограничения. Требуется Prometheus >= v2.47.0.
- spec.labelLimit
Предел на количество лейблов, которые будут приниматься за одно сканирование. Действительно только в версиях Prometheus 2.27.0 и выше.
- spec.labelNameLengthLimit
Предел на длину имён лейблов, которые будут приниматься за одно сканирование. Действительно только в версиях Prometheus 2.27.0 и выше.
- spec.labelValueLengthLimit
Предел на длину значений лейблов, которые будут приниматься за одно сканирование. Действительно только в версиях Prometheus 2.27.0 и выше.
- spec.namespaceSelector
Селектор для выбора, из каких пространств имён обнаруживать объекты Endpoints.
- spec.namespaceSelector.any
Логическое значение, описывающее, выбраны ли все пространства имён в отличие от списка, ограничивающего их.
- spec.namespaceSelector.matchNames
Список имён пространств имён для выбора.
- spec.podMetricsEndpoints
Обязательный параметр
Список эндпойнтов, разрешённых в рамках этого PodMonitor.
PodMetricsEndpoint определяет эндпойнт Kubernetes Pod, поддерживающий сканирование метрик Prometheus.
- объект
Раздел авторизации для этого эндпойнта.
- объект
Выбирает ключ Секрета в пространстве имён, который содержит учетные данные для аутентификации.
- строка
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- строка
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- булевый
Укажите, должен ли быть определён Secret или его ключ.
- строка
Определяет тип аутентификации. Значение нечувствительно к регистру. “Basic” не поддерживается. По умолчанию: “Bearer”
- spec.podMetricsEndpoints.basicAuth
BasicAuth позволяет эндпойнту аутентифицироваться с использованием базовой аутентификации. Подробнее: https://prometheus.io/docs/operating/configuration/#endpoint
- spec.podMetricsEndpoints.basicAuth.password
Секрет в пространстве имён мониторинга сервиса, который содержит пароль для аутентификации.
- spec.podMetricsEndpoints.basicAuth.password.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.podMetricsEndpoints.basicAuth.password.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.basicAuth.password.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.podMetricsEndpoints.basicAuth.username
Секрет в пространстве имён мониторинга сервиса, который содержит имя пользователя для аутентификации.
- spec.podMetricsEndpoints.basicAuth.username.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.podMetricsEndpoints.basicAuth.username.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.basicAuth.username.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.podMetricsEndpoints.bearerTokenSecret
Секрет для монтирования, чтобы считывать маркер доступа для целей сканирования. Секрет должен находиться в том же пространстве имён, что и мониторинг подов, и быть доступным для оператора Prometheus.
- spec.podMetricsEndpoints.bearerTokenSecret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.podMetricsEndpoints.bearerTokenSecret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.bearerTokenSecret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.podMetricsEndpoints.enableHttp2
Включить ли HTTP2.
- spec.podMetricsEndpoints.filterRunning
Исключать поды, которые не работают. (Неудавшиеся, Завершенные). Включено по умолчанию. Подробнее: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
- spec.podMetricsEndpoints.followRedirects
FollowRedirects настраивает, следуют ли запросы на сканирование перенаправлениям HTTP 3xx.
- spec.podMetricsEndpoints.honorLabels
HonorLabels выбирает лейблы метрик при столкновении с целевыми лейблами.
- spec.podMetricsEndpoints.honorTimestamps
HonorTimestamps управляет тем, соблюдает ли Prometheus временные лейблы, присутствующие в собранных данных.
- spec.podMetricsEndpoints.interval
Интервал, на котором должны собираться метрики. Если не указано, используется глобальный интервал сбора Prometheus.
Шаблон:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.podMetricsEndpoints.metricRelabelings
MetricRelabelConfigs для применения к выборкам до ввода данных.
RelabelConfig позволяет динамически переписывать набор лейблов для целей, оповещений, собранных выборок и выборок удаленной записи. Подробнее: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.podMetricsEndpoints.metricRelabelings.action
Действие на основе сопоставления с регулярным выражением. Действия
Uppercase
иLowercase
требуют Prometheus версии не ниже v2.36.0. ДействияDropEqual
иKeepEqual
требуют Prometheus версии не ниже v2.41.0. По умолчанию: “Replace”По умолчанию:
"replace"
Допустимые значения:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.podMetricsEndpoints.metricRelabelings.modulus
Модуль для вычисления хеша значений исходных лейблов. Применимо только в случае, когда действие —
HashMod
. - spec.podMetricsEndpoints.metricRelabelings.regex
Регулярное выражение, с которым сопоставляется извлеченное значение.
- spec.podMetricsEndpoints.metricRelabelings.replacement
Значение замены для действия Replace, если регулярное выражение совпадает. Доступны группы захвата из регулярного выражения.
- spec.podMetricsEndpoints.metricRelabelings.separator
Разделитель — это строка между объединенными исходными лейблами (SourceLabels).
- spec.podMetricsEndpoints.metricRelabelings.sourceLabels
Исходные лейблы выбирают значения из существующих лейблов. Их содержимое объединяется с использованием настроенного разделителя и сопоставляется с настроенным регулярным выражением.
- Элемент массива
LabelName — это допустимое имя лейбла Prometheus, которое может содержать только буквы ASCII, цифры, а также символы подчеркивания.
Шаблон:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.podMetricsEndpoints.metricRelabelings.targetLabel
Лейбл, в который записывается результирующая строка при замене. Она обязательна для действий
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
иDropEqual
. Доступны группы захвата из регулярного выражения.
- spec.podMetricsEndpoints.oauth2
OAuth2 для URL. Действительно только в версиях Prometheus 2.27.0 и выше.
- spec.podMetricsEndpoints.oauth2.clientId
Обязательный параметр
Секрет или ConfigMap, содержащие идентификатор клиента OAuth2.
- spec.podMetricsEndpoints.oauth2.clientId.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.podMetricsEndpoints.oauth2.clientId.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.podMetricsEndpoints.oauth2.clientId.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.oauth2.clientId.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.podMetricsEndpoints.oauth2.clientId.secret
Секрет, содержащий данные для использования в целях.
- spec.podMetricsEndpoints.oauth2.clientId.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.podMetricsEndpoints.oauth2.clientId.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.oauth2.clientId.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.podMetricsEndpoints.oauth2.clientSecret
Обязательный параметр
Секрет, содержащий секрет клиента OAuth2.
- spec.podMetricsEndpoints.oauth2.clientSecret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.podMetricsEndpoints.oauth2.clientSecret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.oauth2.clientSecret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.podMetricsEndpoints.oauth2.endpointParams
Параметры для добавления к URL токена.
- spec.podMetricsEndpoints.oauth2.scopes
Области OAuth2, используемые для запроса токена.
- spec.podMetricsEndpoints.oauth2.tokenUrl
Обязательный параметр
URL для получения токена.
- spec.podMetricsEndpoints.params
Необязательные параметры URL HTTP.
- spec.podMetricsEndpoints.path
HTTP-путь для сбора метрик. Если не указано, Prometheus использует значение по умолчанию (например,
/metrics
). - spec.podMetricsEndpoints.port
Имя порта пода, к которому относится этот эндпойнт. Взаимоисключается с targetPort.
- spec.podMetricsEndpoints.proxyUrl
ProxyURL, например http://proxyserver:2195. Направляет запросы на сканирование через прокси посредством этого эндпойнта.
- spec.podMetricsEndpoints.relabelings
RelabelConfigs для применения к выборкам перед сбором. Оператор Prometheus автоматически добавляет переименования для некоторых стандартных полей Kubernetes. Имя изначальной задачи сбора доступно через лейбл
__tmp_prometheus_job_name
. Подробнее: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_configRelabelConfig позволяет динамически переписывать набор лейблов для целей, оповещений, собранных выборок и выборок удаленной записи. Подробнее: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.podMetricsEndpoints.relabelings.action
Действие на основе сопоставления с регулярным выражением. Действия
Uppercase
иLowercase
требуют Prometheus версии не ниже v2.36.0. ДействияDropEqual
иKeepEqual
требуют Prometheus версии не ниже v2.41.0. По умолчанию: “Replace”По умолчанию:
"replace"
Допустимые значения:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.podMetricsEndpoints.relabelings.modulus
Модуль для вычисления хеша значений исходных лейблов. Применимо только в случае, когда действие —
HashMod
. - spec.podMetricsEndpoints.relabelings.regex
Регулярное выражение, с которым сопоставляется извлеченное значение.
- spec.podMetricsEndpoints.relabelings.replacement
Значение замены для действия Replace, если регулярное выражение совпадает. Доступны группы захвата из регулярного выражения.
- spec.podMetricsEndpoints.relabelings.separator
Разделитель — это строка между объединенными исходными лейблами (SourceLabels).
- spec.podMetricsEndpoints.relabelings.sourceLabels
Исходные лейблы выбирают значения из существующих лейблов. Их содержимое объединяется с использованием настроенного разделителя и сопоставляется с настроенным регулярным выражением.
- Элемент массива
LabelName — это допустимое имя лейбла Prometheus, которое может содержать только буквы ASCII, цифры, а также символы подчеркивания.
Шаблон:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.podMetricsEndpoints.relabelings.targetLabel
Лейбл, в который записывается результирующая строка при замене. Она обязательна для действий
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
иDropEqual
. Доступны группы захвата из регулярного выражения.
- spec.podMetricsEndpoints.scheme
HTTP-схема для использования при сканировании. Ожидаемые значения —
http
иhttps
, если вы не переписываете лейбл__scheme__
посредством переименования. Если не указано, Prometheus использует значение по умолчанию —http
.Допустимые значения:
http
,https
- spec.podMetricsEndpoints.scrapeTimeout
Таймаут, после которого сбор данных прекращается. Если не указано, используется глобальный интервал сбора Prometheus.
Шаблон:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.podMetricsEndpoints.targetPort
Устарело: используйте port вместо этого.
- spec.podMetricsEndpoints.tlsConfig
Конфигурация TLS для использования при сканировании с эндпойнта.
- spec.podMetricsEndpoints.tlsConfig.ca
Удостоверяющий центр, используемый при проверке сертификатов сервера.
- spec.podMetricsEndpoints.tlsConfig.ca.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.podMetricsEndpoints.tlsConfig.ca.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.podMetricsEndpoints.tlsConfig.ca.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.tlsConfig.ca.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.podMetricsEndpoints.tlsConfig.ca.secret
Секрет, содержащий данные для использования в целях.
- spec.podMetricsEndpoints.tlsConfig.ca.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.podMetricsEndpoints.tlsConfig.ca.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.tlsConfig.ca.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.podMetricsEndpoints.tlsConfig.cert
Клиентский сертификат, который предъявляется для аутентификации клиента.
- spec.podMetricsEndpoints.tlsConfig.cert.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.podMetricsEndpoints.tlsConfig.cert.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.podMetricsEndpoints.tlsConfig.cert.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.tlsConfig.cert.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.podMetricsEndpoints.tlsConfig.cert.secret
Секрет, содержащий данные для использования в целях.
- spec.podMetricsEndpoints.tlsConfig.cert.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.podMetricsEndpoints.tlsConfig.cert.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.tlsConfig.cert.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.podMetricsEndpoints.tlsConfig.insecureSkipVerify
Отключить проверку сертификата цели.
- spec.podMetricsEndpoints.tlsConfig.keySecret
Секрет, содержащий клиентский ключевой файл для целей.
- spec.podMetricsEndpoints.tlsConfig.keySecret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.podMetricsEndpoints.tlsConfig.keySecret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.tlsConfig.keySecret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.podMetricsEndpoints.tlsConfig.serverName
Используется для проверки имени хоста для целей.
- spec.podTargetLabels
PodTargetLabels переносят лейблы с Kubernetes Pod на цель.
- spec.sampleLimit
SampleLimit определяет предел на количество выборок, которое будет принято за одно сканирование.
- spec.selector
Обязательный параметр
Селектор для выбора объектов типа Pod.
- spec.selector.matchExpressions
matchExpressions — это список требований селектора лейблов. Требования объединены с помощью логического оператора И (AND).
Требование селектора лейблов — это селектор, который содержит значения, ключ и оператор, связывающий ключ и значения.
- spec.selector.matchExpressions.key
Обязательный параметр
key — это ключ лейбла, к которому применяется селектор.
- spec.selector.matchExpressions.operator
Обязательный параметр
operator представляет взаимоотношение ключа с набором значений. Допустимые операторы: In, NotIn, Exists и DoesNotExist.
- spec.selector.matchExpressions.values
values — это массив строковых значений. Если оператор In или NotIn, массив values должен быть непустым. Если оператор Exists или DoesNotExist, массив values должен быть пустым. Этот массив заменяется во время стратегического объединения патчей.
- spec.selector.matchLabels
matchLabels — это карта пар {ключ, значение}. Один {ключ, значение} в карте matchLabels эквивалентен элементу matchExpressions, у которого поле ключа — “key”, оператор — “In”, а массив values содержит только “value”. Требования объединены с помощью логического оператора И (AND).
- spec.targetLimit
TargetLimit определяет предел количества целей, которые будут приняты для сбора.
Probe
Scope: Namespaced
Version: v1
Probe определяет мониторинг для набора статических целей или ingress.
- apiVersion
APIVersion определяет версионную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Более подробно: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- kind
Kind — это строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определять это из эндпойнта, к которому клиент отправляет запросы. Не может быть обновлено. Используется CamelCase. Более подробно: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- metadata
- spec
Обязательный параметр
Спецификация желаемого выбора ingress для обнаружения целей Prometheus.
- объект
Раздел авторизации для этого эндпойнта.
- объект
Выбирает ключ Секрета в пространстве имён, который содержит учетные данные для аутентификации.
- строка
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- строка
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- булевый
Укажите, должен ли быть определён Secret или его ключ.
- строка
Определяет тип аутентификации. Значение нечувствительно к регистру. “Basic” не поддерживается. По умолчанию: “Bearer”
- spec.basicAuth
BasicAuth позволяет эндпойнту аутентифицироваться с использованием базовой аутентификации. Более подробно: https://prometheus.io/docs/operating/configuration/#endpoint
- spec.basicAuth.password
Секрет в пространстве имён мониторинга сервиса, который содержит пароль для аутентификации.
- spec.basicAuth.password.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.basicAuth.password.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.basicAuth.password.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.basicAuth.username
Секрет в пространстве имён мониторинга сервиса, который содержит имя пользователя для аутентификации.
- spec.basicAuth.username.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.basicAuth.username.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.basicAuth.username.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.bearerTokenSecret
Секрет для монтирования, чтобы считать токен владельца для целей сканирования. Секрет должен находиться в том же пространстве имён, что и probe, и быть доступным для Prometheus Operator.
- spec.bearerTokenSecret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.bearerTokenSecret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.bearerTokenSecret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.interval
Интервал, на котором цели сканируются с использованием настроенного prob. Если не указано, используется глобальный интервал сбора Prometheus.
Шаблон:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.jobName
Имя задания, присваиваемое собранным метрикам по умолчанию.
- spec.keepDroppedTargets
Предел на количество целей, отклоненных переименованием, которые будут оставаться в памяти. 0 означает отсутствие ограничения. Требуется Prometheus >= v2.47.0.
- spec.labelLimit
Предел на количество лейблов, которые будут приниматься за одно сканирование. Действительно только в версиях Prometheus 2.27.0 и выше.
- spec.labelNameLengthLimit
Предел на длину имени лейблов, которые будут приниматься за одно сканирование. Действительно только в версиях Prometheus 2.27.0 и выше.
- spec.labelValueLengthLimit
Предел на длину значений лейблов, которые будут приниматься за одно сканирование. Действительно только в версиях Prometheus 2.27.0 и выше.
- spec.metricRelabelings
MetricRelabelConfigs для применения к выборкам до ввода данных.
RelabelConfig позволяет динамически переписывать набор лейблов для целей, оповещений, собранных выборок и выборок удаленной записи. Более подробно: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.metricRelabelings.action
Действие на основе сопоставления с регулярным выражением. Действия
Uppercase
иLowercase
требуют Prometheus версии не ниже v2.36.0. ДействияDropEqual
иKeepEqual
требуют Prometheus версии не ниже v2.41.0. По умолчанию: “Replace”По умолчанию:
"replace"
Допустимые значения:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.metricRelabelings.modulus
Модуль для вычисления хеша значений исходных лейблов. Применимо только в случае, когда действие —
HashMod
. - spec.metricRelabelings.regex
Регулярное выражение, с которым сопоставляется извлеченное значение.
- spec.metricRelabelings.replacement
Значение замены для действия Replace, если регулярное выражение совпадает. Доступны группы захвата из регулярного выражения.
- spec.metricRelabelings.separator
Разделитель — это строка между объединенными исходными лейблами (SourceLabels).
- spec.metricRelabelings.sourceLabels
Исходные лейблы выбирают значения из существующих лейблов. Их содержимое объединяется с использованием настроенного разделителя и сопоставляется с настроенным регулярным выражением.
- Элемент массива
LabelName — это допустимое имя лейбла Prometheus, которое может содержать только буквы ASCII, цифры, а также символы подчеркивания.
Шаблон:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.metricRelabelings.targetLabel
Лейбл, в который записывается результирующая строка при замене. Она обязательна для действий
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
иDropEqual
. Доступны группы захвата из регулярного выражения.
- spec.module
Модуль для использования во время пробинга, указывающий, как осуществлять пробинг цели. Пример настройки модуля в экспортере Blackbox: https://github.com/prometheus/blackbox_exporter/blob/master/example.yml
- spec.oauth2
OAuth2 для URL. Действительно только в версиях Prometheus 2.27.0 и выше.
- spec.oauth2.clientId
Обязательный параметр
Секрет или ConfigMap, содержащие клиентский идентификатор OAuth2.
- spec.oauth2.clientId.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.oauth2.clientId.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.oauth2.clientId.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.oauth2.clientId.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.oauth2.clientId.secret
Секрет, содержащий данные для использования в целях.
- spec.oauth2.clientId.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.oauth2.clientId.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.oauth2.clientId.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.oauth2.clientSecret
Обязательный параметр
Секрет, содержащий клиентский секрет OAuth2.
- spec.oauth2.clientSecret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.oauth2.clientSecret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.oauth2.clientSecret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.oauth2.endpointParams
Параметры для добавления к URL токена.
- spec.oauth2.scopes
Области OAuth2, используемые для запроса токена.
- spec.oauth2.tokenUrl
Обязательный параметр
URL для получения токена.
- spec.prober
Спецификация для prob для использования пробиры целей. Параметр prober.URL обязателен. Цели не могут быть пробированы, если не указаны.
- spec.prober.path
Путь для сбора метрик. По умолчанию
/probe
.По умолчанию:
"/probe"
- spec.prober.proxyUrl
Необязательный ProxyURL.
- spec.prober.scheme
HTTP-схема для использования при сборе данных. Ожидаемые значения —
http
иhttps
, если вы не переписываете лейбл__scheme__
посредством переименования. Если не указано, Prometheus использует значение по умолчанию —http
.Допустимые значения:
http
,https
- spec.prober.url
Обязательный параметр
Обязательный URL для prob.
- spec.sampleLimit
Предел на количество выборок, которое будет принято за одно сканирование.
- spec.scrapeTimeout
Таймаут для сбора метрик с экспортера Prometheus. Если не указано, используется глобальный таймаут сбора Prometheus.
Шаблон:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.targetLimit
Предел количества целей, которые будут приняты для сбора.
- spec.targets
Targets определяет набор статических или динамически обнаруживаемых целей для пробинга.
- spec.targets.ingress
ingress определяет объекты Ingress для пробинга и конфигурацию переименования. Если также определен
staticConfig
, он имеет приоритет.- spec.targets.ingress.namespaceSelector
Из каких пространств имён выбирать объекты Ingress.
- spec.targets.ingress.namespaceSelector.any
Логическое значение, описывающее, выбраны ли все пространства имён в отличие от списка, ограничивающего их.
- spec.targets.ingress.namespaceSelector.matchNames
Список имён пространств имён для выбора.
- spec.targets.ingress.relabelingConfigs
RelabelConfigs для применения к набору лейблов цели до их сбора. Изначальный адрес ingress доступен через лейбл
__tmp_prometheus_ingress_address
. Он может быть использован для настройки пробируемого URL. Имя изначальной задачи сбора доступно через лейбл__tmp_prometheus_job_name
. Более подробно: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_configRelabelConfig позволяет динамически переписывать набор лейблов для целей, оповещений, собранных выборок и выборок удаленной записи. Более подробно: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.targets.ingress.relabelingConfigs.action
Действие на основе сопоставления с регулярным выражением. Действия
Uppercase
иLowercase
требуют Prometheus версии не ниже v2.36.0. ДействияDropEqual
иKeepEqual
требуют Prometheus версии не ниже v2.41.0. По умолчанию: “Replace”По умолчанию:
"replace"
Допустимые значения:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.targets.ingress.relabelingConfigs.modulus
Модуль для вычисления хеша значений исходных лейблов. Применимо только в случае, когда действие —
HashMod
. - spec.targets.ingress.relabelingConfigs.regex
Регулярное выражение, с которым сопоставляется извлеченное значение.
- spec.targets.ingress.relabelingConfigs.replacement
Значение замены для действия Replace, если регулярное выражение совпадает. Доступны группы захвата из регулярного выражения.
- spec.targets.ingress.relabelingConfigs.separator
Разделитель — это строка между объединенными исходными лейблами (SourceLabels).
- spec.targets.ingress.relabelingConfigs.sourceLabels
Исходные лейблы выбирают значения из существующих лейблов. Их содержимое объединяется с использованием настроенного разделителя и сопоставляется с настроенным регулярным выражением.
- Элемент массива
LabelName — это допустимое имя лейбла Prometheus, которое может содержать только буквы ASCII, цифры, а также символы подчеркивания.
Шаблон:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.targets.ingress.relabelingConfigs.targetLabel
Лейбл, в которую записывается результирующая строка при замене. Она обязательна для действий
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
иDropEqual
. Доступны группы захвата из регулярного выражения.
- spec.targets.ingress.selector
Селектор для выбора объектов Ingress.
- spec.targets.ingress.selector.matchExpressions
matchExpressions — это список требований для селектора лейблов. Эти требования объединяются с помощью логического оператора И (AND).
Требование селектора лейблов — это селектор, который содержит значения, ключ и оператор, связывающий ключ и значения.
- spec.targets.ingress.selector.matchExpressions.key
Обязательный параметр
key — это ключ лейбла, к которому применяется селектор.
- spec.targets.ingress.selector.matchExpressions.operator
Обязательный параметр
operator представляет взаимоотношение ключа с набором значений. Допустимые операторы: In, NotIn, Exists и DoesNotExist.
- spec.targets.ingress.selector.matchExpressions.values
values — это массив строковых значений. Если оператор In или NotIn, массив values должен быть непустым. Если оператор Exists или DoesNotExist, массив values должен быть пустым. Этот массив заменяется во время стратегического объединения патчей.
- spec.targets.ingress.selector.matchLabels
matchLabels — это отображение пар {ключ, значение}. Одиночная пара {ключ, значение} в matchLabels эквивалентна элементу matchExpressions, у которого поле ключа — “key”, оператор — “In”, а массив значений содержит только “value”. Эти требования объединяются с помощью логического оператора И (AND).
- spec.targets.staticConfig
staticConfig определяет статический список целей для пробинга и конфигурации переименования. Если также определен
ingress
,staticConfig
имеет приоритет. Более подробно: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config.- spec.targets.staticConfig.labels
Лейблы, присваиваемые всем метрикам, полученным с целей.
- spec.targets.staticConfig.relabelingConfigs
RelabelConfigs для применения к набору лейблов целей до их сбора. Более подробно: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
RelabelConfig позволяет динамически переписывать набор лейблов для целей, оповещений, собранных выборок и выборок удаленной записи. Более подробно: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.targets.staticConfig.relabelingConfigs.action
Действие на основе сопоставления с регулярным выражением. Действия
Uppercase
иLowercase
требуют Prometheus версии не ниже v2.36.0. ДействияDropEqual
иKeepEqual
требуют Prometheus версии не ниже v2.41.0. По умолчанию: “Replace”По умолчанию:
"replace"
Допустимые значения:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.targets.staticConfig.relabelingConfigs.modulus
Модуль для вычисления хеша значений исходных лейблов. Применимо только в случае, когда действие —
HashMod
. - spec.targets.staticConfig.relabelingConfigs.regex
Регулярное выражение, с которым сопоставляется извлеченное значение.
- spec.targets.staticConfig.relabelingConfigs.replacement
Значение замены для действия Replace, если регулярное выражение совпадает. Доступны группы захвата из регулярного выражения.
- spec.targets.staticConfig.relabelingConfigs.separator
Разделитель — это строка между объединенными исходными лейблами (SourceLabels).
- spec.targets.staticConfig.relabelingConfigs.sourceLabels
Исходные лейблы выбирают значения из существующих лейблов. Их содержимое объединяется с использованием настроенного разделителя и сопоставляется с настроенным регулярным выражением.
- Элемент массива
LabelName — это допустимое имя лейбла Prometheus, которое может содержать только буквы ASCII, цифры, а также символы подчеркивания.
Шаблон:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.targets.staticConfig.relabelingConfigs.targetLabel
Лейбл, в который записывается результирующая строка при замене. Она обязательна для действий
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
иDropEqual
. Доступны группы захвата из регулярного выражения.
- spec.targets.staticConfig.static
Список хостов для пробинга.
- spec.tlsConfig
Конфигурация TLS для использования при сборе данных с эндпойнта.
- spec.tlsConfig.ca
Удостоверяющий центр, используемый при проверке сертификатов сервера.
- spec.tlsConfig.ca.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.tlsConfig.ca.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.tlsConfig.ca.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.ca.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.tlsConfig.ca.secret
Секрет, содержащий данные для использования в целях.
- spec.tlsConfig.ca.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.tlsConfig.ca.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.ca.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.tlsConfig.cert
Клиентский сертификат, который предъявляется для аутентификации клиента.
- spec.tlsConfig.cert.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.tlsConfig.cert.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.tlsConfig.cert.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.cert.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.tlsConfig.cert.secret
Секрет, содержащий данные для использования в целях.
- spec.tlsConfig.cert.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.tlsConfig.cert.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.cert.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.tlsConfig.insecureSkipVerify
Отключить проверку сертификата цели.
- spec.tlsConfig.keySecret
Секрет, содержащий клиентский ключевой файл для целей.
- spec.tlsConfig.keySecret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.tlsConfig.keySecret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.keySecret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.tlsConfig.serverName
Используется для проверки имени хоста для целей.
ScrapeConfig
Scope: Namespaced
Version: v1alpha1
ScrapeConfig определяет пространственный Prometheus scrape_config, который агрегируется через несколько пространств имён в конфигурации Prometheus.
- apiVersion
APIVersion определяет версионную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Более подробно: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- kind
Kind — это строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определять это из эндпойнта, к которому клиент отправляет запросы. Не может быть обновлено. Используется CamelCase. Более подробно: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- metadata
- spec
Обязательный параметр
ScrapeConfigSpec — это спецификация желаемой конфигурации для конфигурации сбора.
- объект
Заголовок авторизации для использования в каждом запросе сбора.
- объект
Выбирает ключ Секрета в пространстве имён, который содержит учетные данные для аутентификации.
- строка
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- строка
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- булевый
Укажите, должен ли быть определён Secret или его ключ.
- строка
Определяет тип аутентификации. Значение нечувствительно к регистру. “Basic” не поддерживается. По умолчанию: “Bearer”
- spec.basicAuth
Информация BasicAuth для использования в каждом запросе сбора.
- spec.basicAuth.password
Секрет в пространстве имён мониторинга сервиса, который содержит пароль для аутентификации.
- spec.basicAuth.password.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.basicAuth.password.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.basicAuth.password.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.basicAuth.username
Секрет в пространстве имён мониторинга сервиса, который содержит имя пользователя для аутентификации.
- spec.basicAuth.username.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.basicAuth.username.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.basicAuth.username.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.consulSDConfigs
ConsulSDConfigs определяет список конфигураций обнаружения сервисов Consul.
ConsulSDConfig определяет конфигурацию обнаружения сервисов Consul. Смотри подробнее: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#consul_sd_config
- spec.consulSDConfigs.allow_stale
Разрешить устаревшие результаты Consul (смотри https://www.consul.io/api/features/consistency.html). Снизит нагрузку на Consul. Если не указано, Prometheus использует свое значение по умолчанию.
- объект
Конфигурация заголовка авторизации для аутентификации на сервере Consul.
- объект
Выбирает ключ Секрета в пространстве имён, который содержит учетные данные для аутентификации.
- строка
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- строка
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- булевый
Укажите, должен ли быть определён Secret или его ключ.
- строка
Определяет тип аутентификации. Значение нечувствительно к регистру. “Basic” не поддерживается. По умолчанию: “Bearer”
- spec.consulSDConfigs.basicAuth
Информация BasicAuth для аутентификации на сервере Consul. Подробнее: https://prometheus.io/docs/operating/configuration/#endpoints
- spec.consulSDConfigs.basicAuth.password
Секрет в пространстве имён мониторинга сервиса, который содержит пароль для аутентификации.
- spec.consulSDConfigs.basicAuth.password.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.consulSDConfigs.basicAuth.password.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.basicAuth.password.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.consulSDConfigs.basicAuth.username
Секрет в пространстве имён мониторинга сервиса, который содержит имя пользователя для аутентификации.
- spec.consulSDConfigs.basicAuth.username.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.consulSDConfigs.basicAuth.username.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.basicAuth.username.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.consulSDConfigs.datacenter
Имя центра обработки данных Consul, если не указано, будет использован локальный агент Consul.
- spec.consulSDConfigs.enable_http2
Включить ли HTTP2. Если не указано, Prometheus использует свое значение по умолчанию.
- spec.consulSDConfigs.follow_redirects
Настраивает следование HTTP-запросов за перенаправлениями HTTP 3xx. Если не указано, Prometheus использует свое значение по умолчанию.
- spec.consulSDConfigs.namespace
Пространства имён поддерживаются только в Consul Enterprise.
- spec.consulSDConfigs.no_proxy
Строка с разделением запятыми, содержащая IP, нотации CIDR, доменные имена, которые должны быть исключены из проксирования. IP и доменные имена могут содержать номера портов.
- spec.consulSDConfigs.node_meta
Ключ/значение метаданных узла для фильтрации узлов для данного сервиса.
- spec.consulSDConfigs.oauth2
Дополнительная конфигурация OAuth 2.0.
- spec.consulSDConfigs.oauth2.clientId
Обязательный параметр
Секрет или ConfigMap, содержащие идентификатор клиента OAuth2
- spec.consulSDConfigs.oauth2.clientId.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.consulSDConfigs.oauth2.clientId.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.consulSDConfigs.oauth2.clientId.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.oauth2.clientId.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.consulSDConfigs.oauth2.clientId.secret
Секрет, содержащий данные для использования в целях.
- spec.consulSDConfigs.oauth2.clientId.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.consulSDConfigs.oauth2.clientId.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.oauth2.clientId.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.consulSDConfigs.oauth2.clientSecret
Обязательный параметр
Секрет, содержащий секрет клиента OAuth2
- spec.consulSDConfigs.oauth2.clientSecret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.consulSDConfigs.oauth2.clientSecret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.oauth2.clientSecret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.consulSDConfigs.oauth2.endpointParams
Параметры для добавления к URL токена
- spec.consulSDConfigs.oauth2.scopes
Области OAuth2, используемые для запроса токена
- spec.consulSDConfigs.oauth2.tokenUrl
Обязательный параметр
URL для получения токена
- spec.consulSDConfigs.partition
Административные разделы поддерживаются только в Consul Enterprise.
- spec.consulSDConfigs.proxy_connect_header
Указывает заголовки для отправки прокси-серверам во время CONNECT-запросов.
- spec.consulSDConfigs.proxy_from_environment
Использовать URL прокси, указанный переменными окружения (HTTP_PROXY, https_proxy, HTTPs_PROXY, https_proxy и no_proxy). Если не указано, Prometheus использует свое значение по умолчанию.
- spec.consulSDConfigs.proxy_url
Необязательный URL прокси.
- spec.consulSDConfigs.refresh_interval
Время после которого предоставленные имена обновляются. В больших установках имеет смысл увеличить это значение, так как каталог постоянно обновляется. Если не указано, Prometheus использует свое значение по умолчанию.
Шаблон:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.consulSDConfigs.scheme
По умолчанию схема HTTP “http”
Допустимые значения:
HTTP
,HTTPS
- spec.consulSDConfigs.server
Обязательный параметр
Допустимая строка, состоящая из имени хоста или IP, за которым следует необязательный номер порта.
- spec.consulSDConfigs.services
Список сервисов, для которых извлекаются цели. Если пропущено, извлекаются все сервисы.
- spec.consulSDConfigs.tag_separator
Строка, которой соединяются теги Consul в лейбле тегов. Если не указано, Prometheus использует свое значение по умолчанию.
- массив строк
Необязательный список тегов, используемых для фильтрации узлов для данного сервиса. Услуги должны содержать все теги в списке.
- spec.consulSDConfigs.tlsConfig
Конфигурация TLS
- spec.consulSDConfigs.tlsConfig.ca
Удостоверяющий центр, используемый при проверке сертификатов сервера.
- spec.consulSDConfigs.tlsConfig.ca.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.consulSDConfigs.tlsConfig.ca.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.consulSDConfigs.tlsConfig.ca.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.tlsConfig.ca.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.consulSDConfigs.tlsConfig.ca.secret
Секрет, содержащий данные для использования в целях.
- spec.consulSDConfigs.tlsConfig.ca.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.consulSDConfigs.tlsConfig.ca.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.tlsConfig.ca.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.consulSDConfigs.tlsConfig.cert
Клиентский сертификат, который предъявляется для аутентификации клиента.
- spec.consulSDConfigs.tlsConfig.cert.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.consulSDConfigs.tlsConfig.cert.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.consulSDConfigs.tlsConfig.cert.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.tlsConfig.cert.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.consulSDConfigs.tlsConfig.cert.secret
Секрет, содержащий данные для использования в целях.
- spec.consulSDConfigs.tlsConfig.cert.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.consulSDConfigs.tlsConfig.cert.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.tlsConfig.cert.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.consulSDConfigs.tlsConfig.insecureSkipVerify
Отключить проверку сертификата цели.
- spec.consulSDConfigs.tlsConfig.keySecret
Секрет, содержащий клиентский ключевой файл для целей.
- spec.consulSDConfigs.tlsConfig.keySecret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.consulSDConfigs.tlsConfig.keySecret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.tlsConfig.keySecret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.consulSDConfigs.tlsConfig.serverName
Используется для проверки имени хоста для целей.
- spec.consulSDConfigs.tokenRef
Ссылка на токен ACL Consul, если не предоставлено, будет использоваться ACL от локального агента Consul.
- spec.consulSDConfigs.tokenRef.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.consulSDConfigs.tokenRef.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.tokenRef.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.dnsSDConfigs
DNSSDConfigs определяет список конфигураций обнаружения сервисов DNS.
DNSSDConfig позволяет указывать набор доменных имён DNS, которые периодически запрашиваются для обнаружения списка целей. DNS-серверы для контакта читаются из /etc/resolv.conf. Смотри подробнее: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#dns_sd_config
- spec.dnsSDConfigs.names
Обязательный параметр
Список доменных имён DNS для запроса.
- spec.dnsSDConfigs.port
Номер порта, используемый, если тип запроса не SRV. Игнорируется для записей SRV.
- spec.dnsSDConfigs.refreshInterval
RefreshInterval настраивает время после которого предоставленные имена обновляются. Если не задано, Prometheus использует свое значение по умолчанию.
Шаблон:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.dnsSDConfigs.type
Тип запроса DNS, который выполнить. Один из SRV, A, AAAA или MX. Если не задано, Prometheus использует свое значение по умолчанию.
Допустимые значения:
SRV
,A
,AAAA
,MX
- spec.fileSDConfigs
FileSDConfigs определяет список конфигураций обнаружения сервисов в файле.
FileSDConfig определяет конфигурацию обнаружения сервисов в файле Prometheus. Смотри подробнее: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#file_sd_config
- spec.fileSDConfigs.files
Обязательный параметр
Список файлов для использования в обнаружении по файлам. Рекомендация: использовать абсолютные пути. Хотя относительные пути работают, проект prometheus-operator не дает никаких гарантий относительно рабочего каталога, где хранится конфигурационный файл. Файлы должны быть смонтированы с использованием Prometheus.ConfigMaps или Prometheus.Secrets.
- Элемент массива
SDFile представляет собой файл, используемый для обнаружения сервиса
Шаблон:
^[^*]*(\*[^/]*)?\.(json|yml|yaml|JSON|YML|YAML)$
- spec.fileSDConfigs.refreshInterval
RefreshInterval настраивает интервал обновления, в котором Prometheus будет перезагружать содержимое файлов.
Шаблон:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.honorLabels
HonorLabels выбирает лейблы метрик при столкновении с целевыми лейблами.
- spec.honorTimestamps
HonorTimestamps управляет тем, соблюдать ли Prometheus временные лейблы, присутствующие в собранных данных.
- spec.httpSDConfigs
HTTPSDConfigs определяет список конфигураций обнаружения сервисов HTTP.
HTTPSDConfig определяет конфигурацию обнаружения сервисов HTTP Prometheus. Смотри подробнее: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#http_sd_config
- объект
Конфигурация заголовка авторизации для аутентификации на целевом эндпойнте HTTP.
- объект
Выбирает ключ Секрета в пространстве имён, который содержит учетные данные для аутентификации.
- строка
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- строка
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- булевый
Укажите, должен ли быть определён Secret или его ключ.
- строка
Определяет тип аутентификации. Значение нечувствительно к регистру. “Basic” не поддерживается. По умолчанию: “Bearer”
- spec.httpSDConfigs.basicAuth
Информация BasicAuth для аутентификации на целевом эндпойнте HTTP. Подробнее: https://prometheus.io/docs/operating/configuration/#endpoints
- spec.httpSDConfigs.basicAuth.password
Секрет в пространстве имён мониторинга сервиса, который содержит пароль для аутентификации.
- spec.httpSDConfigs.basicAuth.password.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.httpSDConfigs.basicAuth.password.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.httpSDConfigs.basicAuth.password.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.httpSDConfigs.basicAuth.username
Секрет в пространстве имён мониторинга сервиса, который содержит имя пользователя для аутентификации.
- spec.httpSDConfigs.basicAuth.username.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.httpSDConfigs.basicAuth.username.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.httpSDConfigs.basicAuth.username.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.httpSDConfigs.refreshInterval
RefreshInterval настраивает интервал обновления, в котором Prometheus будет запрашивать эндпойнт для обновления списка целей.
Шаблон:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.httpSDConfigs.tlsConfig
TLS-конфигурация, применяемая к целевому эндпойнту HTTP.
- spec.httpSDConfigs.tlsConfig.ca
Удостоверяющий центр, используемый при проверке сертификатов сервера.
- spec.httpSDConfigs.tlsConfig.ca.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.httpSDConfigs.tlsConfig.ca.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.httpSDConfigs.tlsConfig.ca.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.httpSDConfigs.tlsConfig.ca.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.httpSDConfigs.tlsConfig.ca.secret
Секрет, содержащий данные для использования в целях.
- spec.httpSDConfigs.tlsConfig.ca.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.httpSDConfigs.tlsConfig.ca.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.httpSDConfigs.tlsConfig.ca.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.httpSDConfigs.tlsConfig.cert
Клиентский сертификат, который предъявляется для аутентификации клиента.
- spec.httpSDConfigs.tlsConfig.cert.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.httpSDConfigs.tlsConfig.cert.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.httpSDConfigs.tlsConfig.cert.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.httpSDConfigs.tlsConfig.cert.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.httpSDConfigs.tlsConfig.cert.secret
Секрет, содержащий данные для использования в целях.
- spec.httpSDConfigs.tlsConfig.cert.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.httpSDConfigs.tlsConfig.cert.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.httpSDConfigs.tlsConfig.cert.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.httpSDConfigs.tlsConfig.insecureSkipVerify
Отключить проверку сертификата цели.
- spec.httpSDConfigs.tlsConfig.keySecret
Секрет, содержащий клиентский ключевой файл для целей.
- spec.httpSDConfigs.tlsConfig.keySecret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.httpSDConfigs.tlsConfig.keySecret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.httpSDConfigs.tlsConfig.keySecret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.httpSDConfigs.tlsConfig.serverName
Используется для проверки имени хоста для целей.
- spec.httpSDConfigs.url
Обязательный параметр
URL, из которого извлекаются цели.
Шаблон:
^http(s)?://.+$
- spec.keepDroppedTargets
Предел на количество целей, отклоненных переименованием, которые будут оставаться в памяти. 0 означает отсутствие ограничения. Требуется Prometheus >= v2.47.0.
- spec.kubernetesSDConfigs
KubernetesSDConfigs определяет список конфигураций обнаружения сервисов Kubernetes.
KubernetesSDConfig позволяет получать цели для сбора из REST API Kubernetes. Смотри подробнее: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config
- spec.kubernetesSDConfigs.role
Обязательный параметр
Роль сущностей Kubernetes, которые должны быть обнаружены. В настоящее время поддерживается только роль “Node”.
Допустимые значения:
Node
- spec.labelLimit
Предел на количество лейблов, которые будут приниматься за одно сканирование. Действительно только в версиях Prometheus 2.27.0 и выше.
- spec.labelNameLengthLimit
Предел на длину имени лейблов, которые будут приниматься за одно сканирование. Действительно только в версиях Prometheus 2.27.0 и выше.
- spec.labelValueLengthLimit
Предел на длину значений лейблов, которые будут приниматься за одно сканирование. Действительно только в версиях Prometheus 2.27.0 и выше.
- spec.metricRelabelings
MetricRelabelConfigs для применения к выборкам до ввода данных.
RelabelConfig позволяет динамически переписывать набор лейблов для целей, оповещений, собранных выборок и выборок удаленной записи. Более подробно: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.metricRelabelings.action
Действие на основе сопоставления с регулярным выражением. Действия
Uppercase
иLowercase
требуют Prometheus версии не ниже v2.36.0. ДействияDropEqual
иKeepEqual
требуют Prometheus версии не ниже v2.41.0. По умолчанию: “Replace”По умолчанию:
"replace"
Допустимые значения:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.metricRelabelings.modulus
Модуль для вычисления хеша значений исходных лейблов. Применимо только в случае, когда действие —
HashMod
. - spec.metricRelabelings.regex
Регулярное выражение, с которым сопоставляется извлеченное значение.
- spec.metricRelabelings.replacement
Значение замены для действия Replace, если регулярное выражение совпадает. Доступны группы захвата из регулярного выражения.
- spec.metricRelabelings.separator
Разделитель — это строка между объединенными исходными лейблами (SourceLabels).
- spec.metricRelabelings.sourceLabels
Исходные лейблы выбирают значения из существующих лейблов. Их содержимое объединяется с использованием настроенного разделителя и сопоставляется с настроенным регулярным выражением.
- Элемент массива
LabelName — это допустимое имя лейбла Prometheus, которое может содержать только буквы ASCII, цифры, а также символы подчеркивания.
Шаблон:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.metricRelabelings.targetLabel
Лейбл, в который записывается результирующая строка при замене. Она обязательна для действий
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
иDropEqual
. Доступны группы захвата из регулярного выражения.
- spec.metricsPath
HTTP-путь для сбора метрик. Если не указано, Prometheus использует значение по умолчанию (например, /metrics).
- spec.params
Необязательные параметры URL HTTP
- spec.relabelings
RelabelConfigs определяют, как переписывать лейблы целей перед их сбором. Оператор Prometheus автоматически добавляет переименования для некоторых стандартных полей Kubernetes. Имя изначальной задачи сбора доступно через метку
__tmp_prometheus_job_name
. Более подробно: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_configRelabelConfig позволяет динамически переписывать набор лейблов для целей, оповещений, собранных выборок и выборок удаленной записи. Более подробно: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.relabelings.action
Действие на основе сопоставления с регулярным выражением. Действия
Uppercase
иLowercase
требуют Prometheus версии не ниже v2.36.0. ДействияDropEqual
иKeepEqual
требуют Prometheus версии не ниже v2.41.0. По умолчанию: “Replace”По умолчанию:
"replace"
Допустимые значения:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.relabelings.modulus
Модуль для вычисления хеша значений исходных лейблов. Применимо только в случае, когда действие —
HashMod
. - spec.relabelings.regex
Регулярное выражение, с которым сопоставляется извлеченное значение.
- spec.relabelings.replacement
Значение замены для действия Replace, если регулярное выражение совпадает. Доступны группы захвата из регулярного выражения.
- spec.relabelings.separator
Разделитель — это строка между объединенными исходными лейблами (SourceLabels).
- spec.relabelings.sourceLabels
Исходные лейблы выбирают значения из существующих лейблов. Их содержимое объединяется с использованием настроенного разделителя и сопоставляется с настроенным регулярным выражением.
- Элемент массива
LabelName — это допустимое имя лейбла Prometheus, которое может содержать только буквы ASCII, цифры, а также символы подчеркивания.
Шаблон:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.relabelings.targetLabel
Лейбл, в который записывается результирующая строка при замене. Она обязательна для действий
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
иDropEqual
. Доступны группы захвата из регулярного выражения.
- spec.sampleLimit
SampleLimit определяет предел на количество выборок, которое будет принято за одно сканирование.
- spec.scheme
Настраивает схему протокола, используемую для запросов. Если не указано, Prometheus по умолчанию использует HTTP.
Допустимые значения:
HTTP
,HTTPS
- spec.scrapeInterval
ScrapeInterval — это интервал между последовательными сборками.
Шаблон:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.scrapeTimeout
ScrapeTimeout — это количество секунд, в течение которого запрос на сбор данных считается истекшим.
Шаблон:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.staticConfigs
StaticConfigs определяет список статических целей с общим набором лейблов.
StaticConfig определяет статическую конфигурацию Prometheus. Смотри подробнее: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config
- spec.staticConfigs.labels
Лейблы, присваиваемые всем метрикам, полученным с целей.
- spec.staticConfigs.targets
Список целей для этой статической конфигурации.
- Элемент массива
Target представляет собой цель для сбора Prometheus
- spec.targetLimit
TargetLimit определяет предел количества целей, которые будут приняты для сбора.
- spec.tlsConfig
Конфигурация TLS для использования в каждом запросе сбора
- spec.tlsConfig.ca
Удостоверяющий центр, используемый при проверке сертификатов сервера.
- spec.tlsConfig.ca.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.tlsConfig.ca.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.tlsConfig.ca.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.ca.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.tlsConfig.ca.secret
Секрет, содержащий данные для использования в целях.
- spec.tlsConfig.ca.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.tlsConfig.ca.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.ca.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.tlsConfig.cert
Клиентский сертификат, который предъявляется для аутентификации клиента.
- spec.tlsConfig.cert.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.tlsConfig.cert.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.tlsConfig.cert.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.cert.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.tlsConfig.cert.secret
Секрет, содержащий данные для использования в целях.
- spec.tlsConfig.cert.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.tlsConfig.cert.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.cert.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.tlsConfig.insecureSkipVerify
Отключить проверку сертификата цели.
- spec.tlsConfig.keySecret
Секрет, содержащий клиентский ключевой файл для целей.
- spec.tlsConfig.keySecret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.tlsConfig.keySecret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.keySecret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.tlsConfig.serverName
Используется для проверки имени хоста для целей
ServiceMonitor
Scope: Namespaced
Version: v1
ServiceMonitor определяет мониторинг для набора сервисов.
- apiVersion
APIVersion определяет версионную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Более подробно: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- kind
Kind — это строковое значение, представляющее ресурс REST, который представляет этот объект. Серверы могут определять это из эндпойнта, к которому клиент отправляет запросы. Не может быть обновлено. Используется CamelCase. Более подробно: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- metadata
- spec
Обязательный параметр
Спецификация желаемого выбора сервиса для обнаружения целей Prometheus.
- spec.attachMetadata
Присоединяет метаданные узла к обнаруженным целям. Требуется Prometheus версии не ниже v2.37.0.
- spec.attachMetadata.node
Если установлено в true, Prometheus должен иметь разрешения на получение узлов.
- spec.endpoints
Обязательный параметр
Список эндпойнтов, разрешенных в рамках этого ServiceMonitor.
Определяет эндпойнт, поддерживающий сканирование метрик Prometheus.
- объект
Раздел авторизации для этого эндпойнта.
- объект
Выбирает ключ Секрета в пространстве имён, который содержит учетные данные для аутентификации.
- строка
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- строка
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- булевый
Укажите, должен ли быть определён Secret или его ключ.
- строка
Определяет тип аутентификации. Значение нечувствительно к регистру. “Basic” не поддерживается. По умолчанию: “Bearer”
- spec.endpoints.basicAuth
BasicAuth позволяет эндпойнту аутентифицироваться с использованием базовой аутентификации. Подробнее: https://prometheus.io/docs/operating/configuration/#endpoints
- spec.endpoints.basicAuth.password
Секрет в пространстве имён мониторинга сервиса, который содержит пароль для аутентификации.
- spec.endpoints.basicAuth.password.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.endpoints.basicAuth.password.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.basicAuth.password.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.endpoints.basicAuth.username
Секрет в пространстве имён мониторинга сервиса, который содержит имя пользователя для аутентификации.
- spec.endpoints.basicAuth.username.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.endpoints.basicAuth.username.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.basicAuth.username.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.endpoints.bearerTokenFile
Файл для считывания маркера доступа (bearer токена) для целей сканирования.
- spec.endpoints.bearerTokenSecret
Секрет для монтирования, чтобы считывать маркер доступа для целей сканирования. Секрет должен находиться в том же пространстве имён, что и мониторинг сервиса, и быть доступным для оператора Prometheus.
- spec.endpoints.bearerTokenSecret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.endpoints.bearerTokenSecret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.bearerTokenSecret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.endpoints.enableHttp2
Включить ли HTTP2.
- spec.endpoints.filterRunning
Исключать поды, которые не работают. (Неудавшиеся, Завершенные). Включено по умолчанию. Подробнее: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
- spec.endpoints.followRedirects
FollowRedirects настраивает, следуют ли запросы на сканирование перенаправлениям HTTP 3xx.
- spec.endpoints.honorLabels
HonorLabels выбирает лейблы метрик при столкновении с целевыми лейблами.
- spec.endpoints.honorTimestamps
HonorTimestamps управляет тем, соблюдает ли Prometheus временные лейблы, присутствующие в собранных данных.
- spec.endpoints.interval
Интервал, на котором должны собираться метрики. Если не указано, используется глобальный интервал сбора Prometheus.
Шаблон:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.endpoints.metricRelabelings
MetricRelabelConfigs для применения к выборкам до ввода данных.
RelabelConfig позволяет динамически переписывать набор лейблов для целей, оповещений, собранных выборок и выборок удаленной записи. Подробнее: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.endpoints.metricRelabelings.action
Действие на основе сопоставления с регулярным выражением. Действия
Uppercase
иLowercase
требуют Prometheus версии не ниже v2.36.0. ДействияDropEqual
иKeepEqual
требуют Prometheus версии не ниже v2.41.0. По умолчанию: “Replace”По умолчанию:
"replace"
Допустимые значения:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.endpoints.metricRelabelings.modulus
Модуль для вычисления хеша значений исходных лейблов. Применимо только в случае, когда действие —
HashMod
. - spec.endpoints.metricRelabelings.regex
Регулярное выражение, с которым сопоставляется извлеченное значение.
- spec.endpoints.metricRelabelings.replacement
Значение замены для действия Replace, если регулярное выражение совпадает. Доступны группы захвата из регулярного выражения.
- spec.endpoints.metricRelabelings.separator
Разделитель — это строка между объединенными исходными лейблами (SourceLabels).
- spec.endpoints.metricRelabelings.sourceLabels
Исходные лейблы выбирают значения из существующих лейблов. Их содержимое объединяется с использованием настроенного разделителя и сопоставляется с настроенным регулярным выражением.
- Элемент массива
LabelName — это допустимое имя лейбла Prometheus, которое может содержать только буквы ASCII, цифры, а также символы подчеркивания.
Шаблон:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.endpoints.metricRelabelings.targetLabel
Лейбл, в который записывается результирующая строка при замене. Она обязательна для действий
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
иDropEqual
. Доступны группы захвата из регулярного выражения.
- spec.endpoints.oauth2
OAuth2 для URL. Действительно только в версиях Prometheus 2.27.0 и выше.
- spec.endpoints.oauth2.clientId
Обязательный параметр
Секрет или ConfigMap, содержащие идентификатор клиента OAuth2
- spec.endpoints.oauth2.clientId.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.endpoints.oauth2.clientId.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.endpoints.oauth2.clientId.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.oauth2.clientId.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.endpoints.oauth2.clientId.secret
Секрет, содержащий данные для использования в целях.
- spec.endpoints.oauth2.clientId.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.endpoints.oauth2.clientId.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.oauth2.clientId.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.endpoints.oauth2.clientSecret
Обязательный параметр
Секрет, содержащий секрет клиента OAuth2
- spec.endpoints.oauth2.clientSecret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.endpoints.oauth2.clientSecret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.oauth2.clientSecret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.endpoints.oauth2.endpointParams
Параметры для добавления к URL токена
- spec.endpoints.oauth2.scopes
Области OAuth2, используемые для запроса токена
- spec.endpoints.oauth2.tokenUrl
Обязательный параметр
URL для получения токена
- spec.endpoints.params
Необязательные параметры URL HTTP
- spec.endpoints.path
HTTP-путь для сбора метрик. Если не указано, Prometheus использует значение по умолчанию (например,
/metrics
). - spec.endpoints.port
Имя порта сервиса, к которому относится этот эндпойнт. Взаимоисключается с targetPort.
- spec.endpoints.proxyUrl
ProxyURL, например http://proxyserver:2195. Направляет запросы сбора через прокси посредством этого эндпойнта.
- spec.endpoints.relabelings
RelabelConfigs для применения к выборкам перед сбором. Оператор Prometheus автоматически добавляет переименования для некоторых стандартных полей Kubernetes. Имя изначальной задачи сбора доступно через лейбл
__tmp_prometheus_job_name
. Подробнее: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_configRelabelConfig позволяет динамически переписывать набор лейблов для целей, оповещений, собранных выборок и выборок удаленной записи. Подробнее: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.endpoints.relabelings.action
Действие на основе сопоставления с регулярным выражением. Действия
Uppercase
иLowercase
требуют Prometheus версии не ниже v2.36.0. ДействияDropEqual
иKeepEqual
требуют Prometheus версии не ниже v2.41.0. По умолчанию: “Replace”По умолчанию:
"replace"
Допустимые значения:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.endpoints.relabelings.modulus
Модуль для вычисления хеша значений исходных лейблов. Применимо только в случае, когда действие —
HashMod
. - spec.endpoints.relabelings.regex
Регулярное выражение, с которым сопоставляется извлеченное значение.
- spec.endpoints.relabelings.replacement
Значение замены для действия Replace, если регулярное выражение совпадает. Доступны группы захвата из регулярного выражения.
- spec.endpoints.relabelings.separator
Разделитель — это строка между объединенными исходными лейблами (SourceLabels).
- spec.endpoints.relabelings.sourceLabels
Исходные лейблы выбирают значения из существующих лейблов. Их содержимое объединяется с использованием настроенного разделителя и сопоставляется с настроенным регулярным выражением.
- Элемент массива
LabelName — это допустимое имя лейбла Prometheus, которое может содержать только буквы ASCII, цифры, а также символы подчеркивания.
Шаблон:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.endpoints.relabelings.targetLabel
Лейбл, в который записывается результирующая строка при замене. Она обязательна для действий
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
иDropEqual
. Доступны группы захвата из регулярного выражения.
- spec.endpoints.scheme
HTTP-схема для использования при сборе. Ожидаемые значения —
http
иhttps
, если вы не переписываете лейбл__scheme__
посредством переименования. Если не указано, Prometheus использует значение по умолчанию —http
.Допустимые значения:
http
,https
- spec.endpoints.scrapeTimeout
Таймаут, после которого сбор данных прекращается. Если не указано, используется глобальный таймаут сбора Prometheus, если он не меньше
Interval
, в противном случае используется последнее.Шаблон:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.endpoints.targetPort
Имя или номер целевого порта пода, находящегося за сервисом, порт должен быть указан со свойством порта контейнера. Взаимоисключается с port.
- spec.endpoints.tlsConfig
Конфигурация TLS для использования при сборе с эндпойнта.
- spec.endpoints.tlsConfig.ca
Удостоверяющий центр, используемый при проверке сертификатов сервера.
- spec.endpoints.tlsConfig.ca.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.endpoints.tlsConfig.ca.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.endpoints.tlsConfig.ca.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.tlsConfig.ca.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.endpoints.tlsConfig.ca.secret
Секрет, содержащий данные для использования в целях.
- spec.endpoints.tlsConfig.ca.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым секретным ключом.
- spec.endpoints.tlsConfig.ca.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.tlsConfig.ca.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.endpoints.tlsConfig.caFile
Путь к файлу сертификата удостоверяющего центра в контейнере Prometheus для целей.
- spec.endpoints.tlsConfig.cert
Клиентский сертификат, который предъявляется для аутентификации клиента.
- spec.endpoints.tlsConfig.cert.configMap
ConfigMap, содержащий данные для использования в целях.
- spec.endpoints.tlsConfig.cert.configMap.key
Обязательный параметр
Ключ для выбора.
- spec.endpoints.tlsConfig.cert.configMap.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.tlsConfig.cert.configMap.optional
Укажите, должен ли быть определён ConfigMap или его ключ.
- spec.endpoints.tlsConfig.cert.secret
Секрет, содержащий данные для использования в целях.
- spec.endpoints.tlsConfig.cert.secret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым ключом секрета.
- spec.endpoints.tlsConfig.cert.secret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.tlsConfig.cert.secret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.endpoints.tlsConfig.certFile
Путь к файлу клиентского сертификата в контейнере Prometheus для целей.
- spec.endpoints.tlsConfig.insecureSkipVerify
Отключить проверку сертификата цели.
- spec.endpoints.tlsConfig.keyFile
Путь к клиентскому ключевому файлу в контейнере Prometheus для целей.
- spec.endpoints.tlsConfig.keySecret
Секрет, содержащий клиентский ключевой файл для целей.
- spec.endpoints.tlsConfig.keySecret.key
Обязательный параметр
Ключ секрета для выбора. Должен быть допустимым ключом секрета.
- spec.endpoints.tlsConfig.keySecret.name
Имя объекта, на который ссылаются. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.tlsConfig.keySecret.optional
Укажите, должен ли быть определён Secret или его ключ.
- spec.endpoints.tlsConfig.serverName
Используется для проверки имени хоста для целей.
- spec.jobLabel
JobLabel выбирает лейбл из ассоциированного сервиса Kubernetes, который будет использован как лейбл
job
для всех метрик. Например: Если вServiceMonitor.spec.jobLabel: foo
и вService.metadata.labels.foo: bar
, то лейблjob="bar"
добавляется ко всем метрикам. Если значение этого поля пустое или лейбл не существует для данного сервиса, лейблjob
метрик по умолчанию становится именем сервиса Kubernetes. - spec.keepDroppedTargets
Предел на количество целей, отклоненных переименованием, которые будут оставаться в памяти. 0 означает отсутствие ограничения. Требуется Prometheus >= v2.47.0.
- spec.labelLimit
Предел на количество лейблов, которые будут приниматься за одно сканирование. Действительно только в версиях Prometheus 2.27.0 и выше.
- spec.labelNameLengthLimit
Предел на длину имени лейблов, которые будут приниматься за одно сканирование. Действительно только в версиях Prometheus 2.27.0 и выше.
- spec.labelValueLengthLimit
Предел на длину значений лейблов, которые будут приниматься за одно сканирование. Действительно только в версиях Prometheus 2.27.0 и выше.
- spec.namespaceSelector
Селектор для выбора пространств имён, из которых обнаруживаются объекты Kubernetes Endpoints.
- spec.namespaceSelector.any
Логическое значение, описывающее, выбраны ли все пространства имён в отличие от списка, ограничивающего их.
- spec.namespaceSelector.matchNames
Список имён пространств имён для выбора.
- spec.podTargetLabels
PodTargetLabels переносят лейблы на Kubernetes
Pod
на созданные метрики. - spec.sampleLimit
SampleLimit определяет предел на количество выборок, которое будет принято за одно сканирование.
- spec.selector
Обязательный параметр
Селектор для выбора объектов Endpoints.
- spec.selector.matchExpressions
matchExpressions — это список требований селектора лейблов. Требования объединены с помощью логического оператора И (AND).
Требование селектора лейблов — это селектор, который содержит значения, ключ и оператор, связывающий ключ и значения.
- spec.selector.matchExpressions.key
Обязательный параметр
key — это ключ лейбла, к которому применяется селектор.
- spec.selector.matchExpressions.operator
Обязательный параметр
operator представляет взаимоотношение ключа с набором значений. Допустимые операторы: In, NotIn, Exists и DoesNotExist.
- spec.selector.matchExpressions.values
values — это массив строковых значений. Если оператор In или NotIn, массив values должен быть непустым. Если оператор Exists или DoesNotExist, массив values должен быть пустым. Этот массив заменяется во время стратегического объединения патчей.
- spec.selector.matchLabels
matchLabels — это карта пар {ключ, значение}. Один {ключ, значение} в карте matchLabels эквивалентен элементу matchExpressions, у которого поле ключа — “key”, оператор — “In”, а массив values содержит только “value”. Требования объединены с помощью логического оператора И (AND).
- spec.targetLabels
TargetLabels переносят лейблы с Kubernetes
Service
на созданные метрики. - spec.targetLimit
TargetLimit определяет предел количества целей, которые будут приняты для сбора.