Prometheus Config Schema¶
Note
This is auto-generated documentation from a JSON schema that is under construction, this will improve over time.
Return to the root config schema
https://raw.githubusercontent.com/elastisys/compliantkubernetes-apps/v0.41.0/config/schemas/config.yaml#/properties/prometheus
Configure Prometheus.
Prometheus automatically collects metrics via ServiceMonitors, PodMonitors, and Probes, and pushes metrics to Thanos for long term storage. Additionally Prometheus evaluates recording rules for both service and workload cluster, and all alerting rules for the workload cluster.
Note
Prometheus is installed in both service cluster and workload cluster, so this configuration applies there with some exceptions.
Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In |
---|---|---|---|---|---|---|---|
Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | config/schemas/config.yaml* |
TYPE:
object
(Prometheus Config)
PROPERTIES:
replicas¶
replicas
-
is optional
-
Type:
number
(Prometheus Relicas) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
number
(Prometheus Relicas)
DEFAULTS:
The default value is:
1
storage¶
Configure the persistent volume claim used for Promtheus storage.
storage
-
is optional
-
Type:
object
(Prometheus Storage) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Prometheus Storage)
retention¶
Configure retention for Prometheus.
retention
-
is optional
-
Type:
object
(Prometheus Retention) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Prometheus Retention)
additionalScrapeConfigs¶
Configure additional scrape configs for Prometheus.
Note
See the upstream documentation for reference.
additionalScrapeConfigs
-
is optional
-
Type:
array
(Prometheus Additional Scrape Configs) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
array
(Prometheus Additional Scrape Configs)
alertmanagerSpec¶
Configure service cluster Alertmanager.
Alertmanager receives alerts from Prometheus and Thanos and forwards them to the configured notification channel.
Note
Alertmanager is installed in both service cluster and workload cluster, however this configuration key only applies to the service cluster, use user.alertmanager
to configure it in the workload cluster.
alertmanagerSpec
-
is optional
-
Type:
object
(Alertmanager Config) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Alertmanager Config)
capacityManagementAlerts¶
Configure capacity management alerts.
capacityManagementAlerts
-
is optional
-
Type:
object
(Capacity Management Alerts) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Capacity Management Alerts)
diskAlerts¶
Configure disk alerts.
diskAlerts
-
is optional
-
Type:
object
(Disk Alerts) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Disk Alerts)
s3BucketAlerts¶
Configure S3 bucket alerts.
s3BucketAlerts
-
is optional
-
Type:
object
(S3 Bucket Alerts) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(S3 Bucket Alerts)
webhookAlerts¶
Configure webhook alerts.
webhookAlerts
-
is optional
-
Type:
object
(Webhook Alerts) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Webhook Alerts)
resources¶
Resource requests are used by the kube-scheduler to pick a node to schedule pods on.
Limits are enforced. Resources are commonly 'cpu' and 'memory'.
resources
-
is optional
-
Type:
object
(Kubernetes Resource Requirements) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Kubernetes Resource Requirements)
EXAMPLES:
requests:
memory: 128Mi
cpu: 100m
limits:
memory: 256Mi
cpu: 250m
tolerations¶
Kubernetes Tolerations
Kubernetes taint and toleration
tolerations
-
is optional
-
Type: an array of merged types (Details)
-
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
an array of merged types (Details)
topologySpreadConstraints¶
TopologySpreadConstraints describes how pods should spread across topology domains.
topologySpreadConstraints
-
is optional
-
Type: an array of merged types (Details)
-
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
an array of merged types (Details)
nodeSelector¶
Kubernetes node selector
nodeSelector
-
is optional
-
Type:
object
(Kubernetes Node Selector) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Kubernetes Node Selector)
EXAMPLES:
kubernetes.io/os: linux
affinity¶
Affinity is a group of affinity scheduling rules.
affinity
-
is optional
-
Type:
object
(Affinity) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Affinity)
Definitions¶
capacityManagementAlerts¶
Reference this group by using
{"$ref":"https://raw.githubusercontent.com/elastisys/compliantkubernetes-apps/v0.41.0/config/schemas/config.yaml#/properties/prometheus/$defs/capacityManagementAlerts"}
Property | Type | Required | Nullable | Defined by |
---|---|---|---|---|
persistentVolume | object |
Optional | cannot be null | Compliant Kubernetes Apps Config |
persistentVolumeEnabled | boolean |
Optional | cannot be null | Compliant Kubernetes Apps Config |
persistentVolumeLimit | number |
Optional | cannot be null | Compliant Kubernetes Apps Config |
disklimit | number |
Optional | cannot be null | Compliant Kubernetes Apps Config |
requestlimit | object |
Optional | cannot be null | Compliant Kubernetes Apps Config |
requestlimitList | array |
Optional | cannot be null | Compliant Kubernetes Apps Config |
requestlimitTerm | object |
Optional | cannot be null | Compliant Kubernetes Apps Config |
persistentVolume¶
Configure capacity management alerts on persistent volumes.
persistentVolume
-
is optional
-
Type:
object
(Capacity Management Alerts Persistent Volumes) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Capacity Management Alerts Persistent Volumes)
persistentVolumeEnabled¶
persistentVolumeEnabled
-
is optional
-
Type:
boolean
(Capacity Management Alerts Persistent Volumes Enabled) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
boolean
(Capacity Management Alerts Persistent Volumes Enabled)
DEFAULTS:
The default value is:
true
persistentVolumeLimit¶
Alert when a persistent volume's usage reaches the limit in percent.
persistentVolumeLimit
-
is optional
-
Type:
number
(Capacity Management Alerts Persistent Volumes Enabled) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
number
(Capacity Management Alerts Persistent Volumes Enabled)
DEFAULTS:
The default value is:
75
disklimit¶
Alert when a disk's usage reaches the limit in percent.
disklimit
-
is optional
-
Type:
number
(Capacity Management Alerts Disk Limit) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
number
(Capacity Management Alerts Disk Limit)
DEFAULTS:
The default value is:
75
requestlimit¶
Alert when a node's resource requests reaches the limits in percent.
requestlimit
-
is optional
-
Type:
object
(Capacity Management Alerts Request Limit) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Capacity Management Alerts Request Limit)
requestlimitList¶
Configure a list of node patterns and request limits to alert for.
requestlimitList
-
is optional
-
Type:
object[]
(Capacity Management Alerts Request Limit Term) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object[]
(Capacity Management Alerts Request Limit Term)
requestlimitTerm¶
Configure a node pattern and the request limit to alert for.
requestlimitTerm
-
is optional
-
Type:
object
(Capacity Management Alerts Request Limit Term) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Capacity Management Alerts Request Limit Term)
diskAlerts¶
Reference this group by using
{"$ref":"https://raw.githubusercontent.com/elastisys/compliantkubernetes-apps/v0.41.0/config/schemas/config.yaml#/properties/prometheus/$defs/diskAlerts"}
Property | Type | Required | Nullable | Defined by |
---|---|---|---|---|
storage | object |
Optional | cannot be null | Compliant Kubernetes Apps Config |
inode | object |
Optional | cannot be null | Compliant Kubernetes Apps Config |
patternRules | array |
Optional | cannot be null | Compliant Kubernetes Apps Config |
patternRule | object |
Optional | cannot be null | Compliant Kubernetes Apps Config |
patterns | object |
Optional | cannot be null | Compliant Kubernetes Apps Config |
pattern | object |
Optional | cannot be null | Compliant Kubernetes Apps Config |
perf | object |
Optional | cannot be null | Compliant Kubernetes Apps Config |
perfEnabled | boolean |
Optional | cannot be null | Compliant Kubernetes Apps Config |
perfQueueSizeThreshold | number |
Optional | cannot be null | Compliant Kubernetes Apps Config |
perfReadWaitTimeThreshold | number |
Optional | cannot be null | Compliant Kubernetes Apps Config |
perfWriteWaitTimeThreshold | number |
Optional | cannot be null | Compliant Kubernetes Apps Config |
storage¶
Configure disk alerts based on storage usage.
storage
-
is optional
-
Type:
object
(Disk Alerts Storage) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Disk Alerts Storage)
inode¶
Configure disk alerts based on inode usage.
inode
-
is optional
-
Type:
object
(Disk Alerts Inode) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Disk Alerts Inode)
patternRules¶
Configure disk alerts when disk usage is predicted to reach the limit.
patternRules
-
is optional
-
Type:
object[]
(Disk Alert Pattern Rule) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object[]
(Disk Alert Pattern Rule)
patternRule¶
Configure disk alerts when disk usage is predicted to reach the limit.
The hours
key is only supported when configured under predictLinear
.
patternRule
-
is optional
-
Type:
object
(Disk Alert Pattern Rule) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Disk Alert Pattern Rule)
patterns¶
Select applicable nodes and disks to include or exclude using patterns.
patterns
-
is optional
-
Type:
object
(Disk Alert Patterns) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Disk Alert Patterns)
pattern¶
Select applicable nodes and disks using patterns.
pattern
-
is optional
-
Type:
object
(Disk Alert Pattern) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Disk Alert Pattern)
perf¶
Configure performance disk alerts.
perf
-
is optional
-
Type:
object
(Disk Alerts Perf) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(Disk Alerts Perf)
perfEnabled¶
perfEnabled
-
is optional
-
Type:
boolean
(Disk Alerts Perf Enabled) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
boolean
(Disk Alerts Perf Enabled)
perfQueueSizeThreshold¶
perfQueueSizeThreshold
-
is optional
-
Type:
number
(Disk Alerts Perf Queue Size) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
number
(Disk Alerts Perf Queue Size)
DEFAULTS:
The default value is:
0.5
perfReadWaitTimeThreshold¶
perfReadWaitTimeThreshold
-
is optional
-
Type:
number
(Disk Alerts Perf Read Wait) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
number
(Disk Alerts Perf Read Wait)
DEFAULTS:
The default value is:
0.01
perfWriteWaitTimeThreshold¶
perfWriteWaitTimeThreshold
-
is optional
-
Type:
number
(Disk Alerts Perf Write Wait) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
number
(Disk Alerts Perf Write Wait)
DEFAULTS:
The default value is:
0.1
s3BucketAlerts¶
Reference this group by using
{"$ref":"https://raw.githubusercontent.com/elastisys/compliantkubernetes-apps/v0.41.0/config/schemas/config.yaml#/properties/prometheus/$defs/s3BucketAlerts"}
Property | Type | Required | Nullable | Defined by |
---|---|---|---|---|
objects | object |
Optional | cannot be null | Compliant Kubernetes Apps Config |
size | object |
Optional | cannot be null | Compliant Kubernetes Apps Config |
totalSize | object |
Optional | cannot be null | Compliant Kubernetes Apps Config |
exclude | array |
Optional | cannot be null | Compliant Kubernetes Apps Config |
objects¶
Alert when an S3 buckets reaches the set percentage of the set number of objects.
objects
-
is optional
-
Type:
object
(S3 Bucket Alerts Objects) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(S3 Bucket Alerts Objects)
size¶
Alert when an S3 bucket reaches the set percentage of the set size.
size
-
is optional
-
Type:
object
(S3 Bucket Alerts Size) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(S3 Bucket Alerts Size)
totalSize¶
Alert when all S3 buckets reaches the set percentage of the set size.
totalSize
-
is optional
-
Type:
object
(S3 Bucket Alerts Total Size) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
object
(S3 Bucket Alerts Total Size)
exclude¶
Exclude buckets from S3 alerts.
exclude
-
is optional
-
Type:
string[]
(S3 Bucket Name) -
cannot be null
-
defined in: Compliant Kubernetes Apps Config
TYPE:
string[]
(S3 Bucket Name)
Return to the root config schema
Generated Thu Nov 14 16:21:55 UTC 2024 from elastisys/compliantkubernetes-apps@v0.41.0