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 определяет предел количества целей, которые будут приняты для сбора.