Red Hat OpenShift Service on AWS 集群监控的某些部分是可配置的。可以通过设置各种 ConfigMap 中定义的参数来访问 API。
要配置监控组件,请编辑名为 cluster-monitoring-config
的 ConfigMap
对象(位于 openshift-monitoring
命名空间中)。这些配置由 ClusterMonitoringConfiguration 定义。
要配置监控用户定义项目的监控组件,请编辑名为 user-workload-monitoring-config
的 ConfigMap
对象(位于 openshift-user-workload-monitoring
命名空间中)。这些配置由 UserWorkloadConfiguration 定义。
配置文件始终在 config map 数据的 config.yaml
密钥下定义。
|
apiVersion
属性 | 类型 | 描述 |
---|---|---|
apiVersion |
字符串 |
定义 Alertmanager 的 API 版本。可能的值为 |
bearerToken |
*v1.SecretKeySelector |
定义包含用于向 Alertmanager 进行身份验证的 bearer 令牌的密钥引用。 |
pathPrefix |
字符串 |
定义要添加到推送端点路径前面的路径前缀。 |
scheme |
字符串 |
定义与 Alertmanager 实例通信时使用的 URL 方案。可能的值为 |
staticConfigs |
[]string |
以 |
timeout |
*字符串 |
定义发送警报时使用的超时值。 |
tlsConfig |
定义用于 Alertmanager 连接的 TLS 设置。 |
AlertmanagerMainConfig
资源定义了 openshift-monitoring
命名空间中 Alertmanager 组件的设置。
属性 | 类型 | 描述 |
---|---|---|
enabled |
*布尔值 |
一个布尔标志,用于启用或禁用 |
enableUserAlertmanagerConfig |
布尔值 |
一个布尔标志,用于启用或禁用选择用户定义的命名空间以进行 |
logLevel |
字符串 |
定义 Alertmanager 的日志级别设置。可能的值为: |
nodeSelector |
map[string]string |
定义在哪个节点上调度 Pod。 |
resources |
*v1.ResourceRequirements |
定义 Alertmanager 容器的资源请求和限制。 |
secrets |
[]string |
定义要安装到 Alertmanager 中的秘密列表。这些秘密必须位于与 Alertmanager 对象相同的命名空间中。它们作为名为 |
tolerations |
[]v1.Toleration |
定义 pod 的容忍度。 |
topologySpreadConstraints |
[]v1.TopologySpreadConstraint |
定义 pod 的拓扑扩散约束。 |
volumeClaimTemplate |
*monv1.EmbeddedPersistentVolumeClaim |
定义 Alertmanager 的持久性存储。使用此设置配置持久卷声明,包括存储类、卷大小和名称。 |
AlertmanagerUserWorkloadConfig
资源定义了用于用户定义项目的 Alertmanager 实例的设置。
属性 | 类型 | 描述 |
---|---|---|
enabled |
布尔值 |
一个布尔标志,用于启用或禁用在 |
enableAlertmanagerConfig |
布尔值 |
一个布尔标志,用于启用或禁用选择用户定义的命名空间以进行 |
logLevel |
字符串 |
定义用户工作负载监控的 Alertmanager 的日志级别设置。可能的值为 |
resources |
*v1.ResourceRequirements |
定义 Alertmanager 容器的资源请求和限制。 |
secrets |
[]string |
定义要挂载到 Alertmanager 的机密列表。这些机密必须位于与 Alertmanager 对象相同的命名空间中。它们作为名为 |
nodeSelector |
map[string]string |
定义在哪些节点上调度 Pod。 |
tolerations |
[]v1.Toleration |
定义 pod 的容忍度。 |
topologySpreadConstraints |
[]v1.TopologySpreadConstraint |
定义 pod 的拓扑扩散约束。 |
volumeClaimTemplate |
*monv1.EmbeddedPersistentVolumeClaim |
定义 Alertmanager 的持久化存储。使用此设置配置持久卷声明,包括存储类、卷大小和名称。 |
ClusterMonitoringConfiguration
资源定义通过 openshift-monitoring
命名空间中的 cluster-monitoring-config
配置映射自定义默认平台监控堆栈的设置。
属性 | 类型 | 描述 |
---|---|---|
alertmanagerMain |
|
|
enableUserWorkload |
*布尔值 |
|
kubeStateMetrics |
|
|
metricsServer |
|
|
prometheusK8s |
|
|
prometheusOperator |
|
|
prometheusOperatorAdmissionWebhook |
|
|
openshiftStateMetrics |
|
|
telemeterClient |
|
|
thanosQuerier |
|
|
nodeExporter |
|
|
monitoringPlugin |
|
MetricsServerConfig
资源定义 Metrics Server 组件的设置。
属性 | 类型 | 描述 |
---|---|---|
audit |
*审计 |
定义 Metrics Server 实例使用的审计配置。可能的配置文件值为 |
nodeSelector |
map[string]string |
定义在哪些节点上调度 Pod。 |
tolerations |
[]v1.Toleration |
定义 pod 的容忍度。 |
resources |
*v1.ResourceRequirements |
定义 Metrics Server 容器的资源请求和限制。 |
topologySpreadConstraints |
[]v1.TopologySpreadConstraint |
定义 pod 的拓扑扩散约束。 |
MonitoringPluginConfig
资源定义 openshift-monitoring
命名空间中 Web 控制台插件组件的设置。
属性 | 类型 | 描述 |
---|---|---|
nodeSelector |
map[string]string |
定义在哪些节点上调度 Pod。 |
resources |
*v1.ResourceRequirements |
定义 |
tolerations |
[]v1.Toleration |
定义 pod 的容忍度。 |
topologySpreadConstraints |
[]v1.TopologySpreadConstraint |
定义 pod 的拓扑扩散约束。 |
NodeExporterCollectorConfig
资源定义 node-exporter
代理的各个收集器的设置。
属性 | 类型 | 描述 |
---|---|---|
cpufreq |
定义 |
|
tcpstat |
定义 |
|
netdev |
定义 |
|
netclass |
定义 |
|
buddyinfo |
定义 |
|
mountstats |
定义 |
|
ksmd |
定义 |
|
processes |
定义 |
|
systemd |
定义 |
使用 NodeExporterCollectorMountStatsConfig
资源启用或禁用 node-exporter
代理的 mountstats
收集器。默认情况下,mountstats
收集器处于禁用状态。如果启用收集器,则以下指标可用:node_mountstats_nfs_read_bytes_total
、node_mountstats_nfs_write_bytes_total
和 node_mountstats_nfs_operations_requests_total
。请注意,这些指标可能具有高基数。如果启用此收集器,请密切监控 prometheus-k8s
Pod 的内存使用情况的任何增加。
属性 | 类型 | 描述 |
---|---|---|
enabled |
布尔值 |
一个布尔标志,用于启用或禁用 |
使用 NodeExporterCollectorNetClassConfig
资源启用或禁用 node-exporter
代理的 netclass
收集器。默认情况下,netclass
收集器已启用。如果禁用此收集器,则以下指标将不可用:node_network_info
、node_network_address_assign_type
、node_network_carrier
、node_network_carrier_changes_total
、node_network_carrier_up_changes_total
、node_network_carrier_down_changes_total
、node_network_device_id
、node_network_dormant
、node_network_flags
、node_network_iface_id
、node_network_iface_link
、node_network_iface_link_mode
、node_network_mtu_bytes
、node_network_name_assign_type
、node_network_net_dev_group
、node_network_speed_bytes
、node_network_transmit_queue_length
和 node_network_protocol_type
。
属性 | 类型 | 描述 |
---|---|---|
enabled |
布尔值 |
一个布尔标志,用于启用或禁用 |
useNetlink |
布尔值 |
一个布尔型标志,用于激活 |
使用NodeExporterCollectorNetDevConfig
资源启用或禁用node-exporter
代理的netdev
收集器。默认情况下,netdev
收集器已启用。如果禁用,则以下指标将不可用:node_network_receive_bytes_total
、node_network_receive_compressed_total
、node_network_receive_drop_total
、node_network_receive_errs_total
、node_network_receive_fifo_total
、node_network_receive_frame_total
、node_network_receive_multicast_total
、node_network_receive_nohandler_total
、node_network_receive_packets_total
、node_network_transmit_bytes_total
、node_network_transmit_carrier_total
、node_network_transmit_colls_total
、node_network_transmit_compressed_total
、node_network_transmit_drop_total
、node_network_transmit_errs_total
、node_network_transmit_fifo_total
和node_network_transmit_packets_total
。
属性 | 类型 | 描述 |
---|---|---|
enabled |
布尔值 |
一个布尔型标志,用于启用或禁用 |
使用NodeExporterCollectorProcessesConfig
资源启用或禁用node-exporter
代理的processes
收集器。如果启用收集器,则以下指标将可用:node_processes_max_processes
、node_processes_pids
、node_processes_state
、node_processes_threads
、node_processes_threads_state
。指标node_processes_state
和node_processes_threads_state
每个最多可以有五个序列,具体取决于进程和线程的状态。进程或线程的可能状态为:D
(UNINTERRUPTABLE_SLEEP)、R
(RUNNING & RUNNABLE)、S
(INTERRUPTABLE_SLEEP)、T
(STOPPED)或Z
(ZOMBIE)。默认情况下,processes
收集器已禁用。
属性 | 类型 | 描述 |
---|---|---|
enabled |
布尔值 |
一个布尔型标志,用于启用或禁用 |
使用NodeExporterCollectorSystemdConfig
资源启用或禁用node-exporter
代理的systemd
收集器。默认情况下,systemd
收集器已禁用。如果启用,则以下指标将可用:node_systemd_system_running
、node_systemd_units
、node_systemd_version
。如果单元使用套接字,它还会生成以下指标:node_systemd_socket_accepted_connections_total
、node_systemd_socket_current_connections
、node_systemd_socket_refused_connections_total
。您可以使用units
参数选择要由systemd
收集器包含的systemd
单元。选定的单元用于生成node_systemd_unit_state
指标,该指标显示每个systemd
单元的状态。但是,此指标的基数可能很高(每个节点每个单元至少五个序列)。如果您使用很长的选定单元列表启用此收集器,请密切监控prometheus-k8s
部署,以防内存使用过高。请注意,只有在将units
参数的值配置为logrotate.timer
时,才会显示node_systemd_timer_last_trigger_seconds
指标。
属性 | 类型 | 描述 |
---|---|---|
enabled |
布尔值 |
一个布尔型标志,用于启用或禁用 |
units |
[]string |
匹配要由 |
NodeExporterConfig
资源定义了node-exporter
代理的设置。
属性 | 类型 | 描述 |
---|---|---|
collectors |
定义启用哪些收集器及其附加配置参数。 |
|
maxProcs |
uint32 |
node-exporter进程将运行的目标CPU数量。默认值为 |
ignoredNetworkDevices |
*[]string |
要从相关收集器配置(如 |
resources |
*v1.ResourceRequirements |
定义 |
OpenShiftStateMetricsConfig
资源定义了openshift-state-metrics
代理的设置。
属性 | 类型 | 描述 |
---|---|---|
nodeSelector |
map[string]string |
定义在哪些节点上调度 Pod。 |
resources |
*v1.ResourceRequirements |
定义 |
tolerations |
[]v1.Toleration |
定义 pod 的容忍度。 |
topologySpreadConstraints |
[]v1.TopologySpreadConstraint |
定义Pod的拓扑传播约束。 |
PrometheusK8sConfig
资源定义了Prometheus组件的设置。
属性 | 类型 | 描述 |
---|---|---|
additionalAlertmanagerConfigs |
配置从Prometheus组件接收警报的其他Alertmanager实例。默认情况下,未配置任何其他Alertmanager实例。 |
|
enforcedBodySizeLimit |
字符串 |
强制执行Prometheus抓取指标的主体大小限制。如果抓取目标的主体响应大于限制,则抓取将失败。有效值为:空值表示无限制,Prometheus大小格式的数值(例如 |
externalLabels |
map[string]string |
定义在与外部系统(如联合、远程存储和Alertmanager)通信时要添加到任何时间序列或警报的标签。默认情况下,不添加任何标签。 |
logLevel |
字符串 |
定义Prometheus的日志级别设置。可能的值为: |
nodeSelector |
map[string]string |
定义在哪些节点上调度 Pod。 |
queryLogFile |
字符串 |
指定 PromQL 查询的日志文件。此设置可以是文件名,在这种情况下,查询将保存到 |
remoteWrite |
定义远程写入配置,包括 URL、身份验证和重新标记设置。 |
|
resources |
*v1.ResourceRequirements |
定义 |
retention |
字符串 |
定义 Prometheus 保留数据的持续时间。此定义必须使用以下正则表达式模式指定: |
retentionSize |
字符串 |
定义数据块加上预写日志 (WAL) 使用的磁盘空间最大量。支持的值为 |
tolerations |
[]v1.Toleration |
定义 pod 的容忍度。 |
topologySpreadConstraints |
[]v1.TopologySpreadConstraint |
定义Pod的拓扑传播约束。 |
collectionProfile |
CollectionProfile |
定义 Prometheus 用于从平台组件收集指标的指标收集配置文件。支持的值为 |
volumeClaimTemplate |
*monv1.EmbeddedPersistentVolumeClaim |
定义 Prometheus 的持久存储。使用此设置配置持久卷声明,包括存储类、卷大小和名称。 |
PrometheusOperatorConfig
资源定义了 Prometheus Operator 组件的设置。
属性 | 类型 | 描述 |
---|---|---|
logLevel |
字符串 |
定义 Prometheus Operator 的日志级别设置。可能的值为 |
nodeSelector |
map[string]string |
定义在哪些节点上调度 Pod。 |
resources |
*v1.ResourceRequirements |
定义 |
tolerations |
[]v1.Toleration |
定义 pod 的容忍度。 |
topologySpreadConstraints |
[]v1.TopologySpreadConstraint |
定义Pod的拓扑传播约束。 |
PrometheusRestrictedConfig
资源定义了监控用户定义项目的 Prometheus 组件的设置。
属性 | 类型 | 描述 |
---|---|---|
additionalAlertmanagerConfigs |
配置从Prometheus组件接收警报的其他Alertmanager实例。默认情况下,未配置任何其他Alertmanager实例。 |
|
enforcedLabelLimit |
*uint64 |
指定每个抓取对样本接受的标签数量的限制。如果指标重新标记后标签数量超过此限制,则整个抓取将被视为失败。默认值为 |
enforcedLabelNameLengthLimit |
*uint64 |
指定每个抓取对样本标签名称长度的限制。如果指标重新标记后标签名称的长度超过此限制,则整个抓取将被视为失败。默认值为 |
enforcedLabelValueLengthLimit |
*uint64 |
指定每个抓取对样本标签值长度的限制。如果指标重新标记后标签值的长度超过此限制,则整个抓取将被视为失败。默认值为 |
enforcedSampleLimit |
*uint64 |
指定将接受的已抓取样本的全局限制。如果此值大于 |
enforcedTargetLimit |
*uint64 |
指定已抓取目标的全局限制。如果此值大于 |
externalLabels |
map[string]string |
定义在与外部系统(如联合、远程存储和Alertmanager)通信时要添加到任何时间序列或警报的标签。默认情况下,不添加任何标签。 |
logLevel |
字符串 |
定义 Prometheus 的日志级别设置。可能的值为 |
nodeSelector |
map[string]string |
定义在哪些节点上调度 Pod。 |
queryLogFile |
字符串 |
指定 PromQL 查询的日志文件。此设置可以是文件名,在这种情况下,查询将保存到 |
remoteWrite |
定义远程写入配置,包括 URL、身份验证和重新标记设置。 |
|
resources |
*v1.ResourceRequirements |
定义 Prometheus 容器的资源请求和限制。 |
retention |
字符串 |
定义 Prometheus 保留数据的持续时间。此定义必须使用以下正则表达式模式指定: |
retentionSize |
字符串 |
定义数据块加上预写日志 (WAL) 使用的磁盘空间最大量。支持的值为 |
tolerations |
[]v1.Toleration |
定义 pod 的容忍度。 |
topologySpreadConstraints |
[]v1.TopologySpreadConstraint |
定义Pod的拓扑传播约束。 |
volumeClaimTemplate |
*monv1.EmbeddedPersistentVolumeClaim |
定义 Prometheus 的持久存储。使用此设置配置卷的存储类和大小。 |
url
属性 | 类型 | 描述 |
---|---|---|
authorization |
*monv1.SafeAuthorization |
定义远程写入存储的授权设置。 |
basicAuth |
*monv1.BasicAuth |
定义远程写入端点 URL 的基本身份验证设置。 |
bearerTokenFile |
字符串 |
定义包含远程写入端点载体令牌的文件。但是,由于您无法在 Pod 中挂载密钥,因此实际上您只能引用服务帐户的令牌。 |
headers |
map[string]string |
指定要与每个远程写入请求一起发送的自定义 HTTP 头。Prometheus 设置的 Header 无法被覆盖。 |
metadataConfig |
*monv1.MetadataConfig |
定义将系列元数据发送到远程写入存储的设置。 |
name |
字符串 |
定义远程写入队列的名称。此名称用于指标和日志记录以区分队列。如果指定,则此名称必须唯一。 |
oauth2 |
*monv1.OAuth2 |
定义远程写入端点的 OAuth2 身份验证设置。 |
proxyUrl |
字符串 |
定义可选的代理 URL。如果启用,则会被集群范围的代理取代。 |
queueConfig |
*monv1.QueueConfig |
允许调整远程写入队列参数的配置。 |
remoteTimeout |
字符串 |
定义对远程写入端点的请求超时值。 |
sendExemplars |
*布尔值 |
启用通过远程写入发送示例。启用后,此设置将配置 Prometheus 在内存中最多存储 100,000 个示例。此设置仅适用于用户定义的监控,不适用于核心平台监控。 |
sigv4 |
*monv1.Sigv4 |
定义 AWS 签名版本 4 身份验证设置。 |
tlsConfig |
*monv1.SafeTLSConfig |
定义远程写入端点的 TLS 身份验证设置。 |
url |
字符串 |
定义将向其发送样本的远程写入端点的 URL。 |
writeRelabelConfigs |
[]monv1.RelabelConfig |
定义远程写入重命名配置列表。 |
ThanosQuerierConfig
资源定义 Thanos 查询组件的设置。
属性 | 类型 | 描述 |
---|---|---|
enableRequestLogging |
布尔值 |
一个布尔型标志,用于启用或禁用请求日志记录。默认值为 |
logLevel |
字符串 |
定义 Thanos Querier 的日志级别设置。可能的值为 |
enableCORS |
布尔值 |
一个布尔型标志,用于启用设置 CORS 头部。这些头部允许来自任何来源的访问。默认值为 |
nodeSelector |
map[string]string |
定义在哪些节点上调度 Pod。 |
resources |
*v1.ResourceRequirements |
定义 Thanos Querier 容器的资源请求和限制。 |
tolerations |
[]v1.Toleration |
定义 pod 的容忍度。 |
topologySpreadConstraints |
[]v1.TopologySpreadConstraint |
定义Pod的拓扑传播约束。 |
ThanosRulerConfig
资源定义用于用户定义项目的 Thanos Ruler 实例的配置。
属性 | 类型 | 描述 |
---|---|---|
additionalAlertmanagerConfigs |
配置 Thanos Ruler 组件如何与其他 Alertmanager 实例通信。默认值为 |
|
logLevel |
字符串 |
定义 Thanos Ruler 的日志级别设置。可能的值为 |
nodeSelector |
map[string]string |
定义在哪个节点上调度 Pod。 |
resources |
*v1.ResourceRequirements |
定义 Alertmanager 容器的资源请求和限制。 |
retention |
字符串 |
定义 Prometheus 保留数据的持续时间。此定义必须使用以下正则表达式模式指定: |
tolerations |
[]v1.Toleration |
定义 pod 的容忍度。 |
topologySpreadConstraints |
[]v1.TopologySpreadConstraint |
定义Pod的拓扑传播约束。 |
volumeClaimTemplate |
*monv1.EmbeddedPersistentVolumeClaim |
定义 Thanos Ruler 的持久化存储。使用此设置配置卷的存储类和大小。 |
UserWorkloadConfiguration
资源定义负责openshift-user-workload-monitoring
命名空间中的user-workload-monitoring-config
配置映射中用户定义项目的设置。只有在将openshift-monitoring
命名空间下的cluster-monitoring-config
配置映射中的enableUserWorkload
设置为true
后,才能启用UserWorkloadConfiguration
。
属性 | 类型 | 描述 |
---|---|---|
alertmanager |
定义用户工作负载监控中 Alertmanager 组件的设置。 |
|
prometheus |
定义用户工作负载监控中 Prometheus 组件的设置。 |
|
prometheusOperator |
定义用户工作负载监控中 Prometheus Operator 组件的设置。 |
|
thanosRuler |
定义用户工作负载监控中 Thanos Ruler 组件的设置。 |