MonitoringServiceLevelObjective
Property | Value |
---|---|
Google Cloud Service Name | Cloud Monitoring |
Google Cloud Service Documentation | /monitoring/docs/ |
Google Cloud REST Resource Name | v3.services.serviceLevelObjectives |
Google Cloud REST Resource Documentation | /monitoring/api/ref_v3/rest/v3/services.serviceLevelObjectives |
Config Connector Resource Short Names | gcpmonitoringservicelevelobjective gcpmonitoringservicelevelobjectives monitoringservicelevelobjective |
Config Connector Service Name | monitoring.googleapis.com |
Config Connector Resource Fully Qualified Name | monitoringservicelevelobjectives.monitoring.cnrm.cloud.google.com |
Can Be Referenced by IAMPolicy/IAMPolicyMember | No |
Config Connector Default Average Reconcile Interval In Seconds | 600 |
Custom Resource Definition Properties
Spec
Schema
calendarPeriod: string
displayName: string
goal: float
projectRef:
external: string
name: string
namespace: string
resourceID: string
rollingPeriod: string
serviceLevelIndicator:
basicSli:
availability: {}
latency:
experience: string
threshold: string
location:
- string
method:
- string
operationAvailability: {}
operationLatency:
experience: string
threshold: string
version:
- string
requestBased:
distributionCut:
distributionFilter: string
range:
max: float
min: float
goodTotalRatio:
badServiceFilter: string
goodServiceFilter: string
totalServiceFilter: string
windowsBased:
goodBadMetricFilter: string
goodTotalRatioThreshold:
basicSliPerformance:
availability: {}
latency:
experience: string
threshold: string
location:
- string
method:
- string
operationAvailability: {}
operationLatency:
experience: string
threshold: string
version:
- string
performance:
distributionCut:
distributionFilter: string
range:
max: float
min: float
goodTotalRatio:
badServiceFilter: string
goodServiceFilter: string
totalServiceFilter: string
threshold: float
metricMeanInRange:
range:
max: float
min: float
timeSeries: string
metricSumInRange:
range:
max: float
min: float
timeSeries: string
windowPeriod: string
serviceRef:
external: string
name: string
namespace: string
Fields | |
---|---|
Optional |
A calendar period, semantically "since the start of the current ``". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and `MONTH` are supported. Possible values: CALENDAR_PERIOD_UNSPECIFIED, DAY, WEEK, FORTNIGHT, MONTH, QUARTER, HALF, YEAR |
Optional |
Name used for UI elements listing this SLO. |
Required |
The fraction of service that must be good in order for this objective to be met. `0 < goal <= 0.999`. |
Required |
Immutable. The Project that this resource belongs to. |
Optional |
The project for the resource Allowed value: The Google Cloud resource name of a `Project` resource (format: `projects/{{name}}`). |
Optional |
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
Optional |
Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
Optional |
Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. |
Optional |
A rolling time period, semantically "in the past ``". Must be an integer multiple of 1 day no larger than 30 days. |
Optional |
The definition of good service, used to measure and calculate the quality of the `Service`'s performance with respect to a single aspect of service quality. |
Optional |
Basic SLI on a well-known service type. |
Optional |
Good service is defined to be the count of requests made to this service that return successfully. |
Optional |
Good service is defined to be the count of requests made to this service that are fast enough with respect to `latency.threshold`. |
Optional |
A description of the experience associated with failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED, DELIGHTING, SATISFYING, ANNOYING |
Optional |
Good service is defined to be the count of requests made to this service that return in no more than `threshold`. |
Optional |
OPTIONAL: The set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error. |
Optional |
|
Optional |
OPTIONAL: The set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error. |
Optional |
|
Optional |
Good service is defined to be the count of operations performed by this service that return successfully |
Optional |
Good service is defined to be the count of operations performed by this service that are fast enough with respect to `operation_latency.threshold`. |
Optional |
A description of the experience associated with failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED, DELIGHTING, SATISFYING, ANNOYING |
Optional |
Good service is defined to be the count of operations that are completed in no more than `threshold`. |
Optional |
OPTIONAL: The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error. |
Optional |
|
Optional |
Request-based SLIs |
Optional |
`distribution_cut` is used when `good_service` is a count of values aggregated in a `Distribution` that fall into a good range. The `total_service` is the total count of all values aggregated in the `Distribution`. |
Optional |
A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` aggregating values. Must have `ValueType = DISTRIBUTION` and `MetricKind = DELTA` or `MetricKind = CUMULATIVE`. |
Optional |
Range of values considered "good." For a one-sided range, set one bound to an infinite value. |
Optional |
Range maximum. |
Optional |
Range minimum. |
Optional |
`good_total_ratio` is used when the ratio of `good_service` to `total_service` is computed from two `TimeSeries`. |
Optional |
A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` quantifying bad service, either demanded service that was not provided or demanded service that was of inadequate quality. Must have `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`. |
Optional |
A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` quantifying good service provided. Must have `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`. |
Optional |
A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` quantifying total demanded service. Must have `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`. |
Optional |
Windows-based SLIs |
Optional |
A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` with `ValueType = BOOL`. The window is good if any `true` values appear in the window. |
Optional |
A window is good if its `performance` is high enough. |
Optional |
`BasicSli` to evaluate to judge window quality. |
Optional |
Good service is defined to be the count of requests made to this service that return successfully. |
Optional |
Good service is defined to be the count of requests made to this service that are fast enough with respect to `latency.threshold`. |
Optional |
A description of the experience associated with failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED, DELIGHTING, SATISFYING, ANNOYING |
Optional |
Good service is defined to be the count of requests made to this service that return in no more than `threshold`. |
Optional |
OPTIONAL: The set of locations to which this SLI is relevant. Telemetry from other locations will not be used to calculate performance for this SLI. If omitted, this SLI applies to all locations in which the Service has activity. For service types that don't support breaking down by location, setting this field will result in an error. |
Optional |
|
Optional |
OPTIONAL: The set of RPCs to which this SLI is relevant. Telemetry from other methods will not be used to calculate performance for this SLI. If omitted, this SLI applies to all the Service's methods. For service types that don't support breaking down by method, setting this field will result in an error. |
Optional |
|
Optional |
Good service is defined to be the count of operations performed by this service that return successfully |
Optional |
Good service is defined to be the count of operations performed by this service that are fast enough with respect to `operation_latency.threshold`. |
Optional |
A description of the experience associated with failing requests. Possible values: LATENCY_EXPERIENCE_UNSPECIFIED, DELIGHTING, SATISFYING, ANNOYING |
Optional |
Good service is defined to be the count of operations that are completed in no more than `threshold`. |
Optional |
OPTIONAL: The set of API versions to which this SLI is relevant. Telemetry from other API versions will not be used to calculate performance for this SLI. If omitted, this SLI applies to all API versions. For service types that don't support breaking down by version, setting this field will result in an error. |
Optional |
|
Optional |
`RequestBasedSli` to evaluate to judge window quality. |
Optional |
`distribution_cut` is used when `good_service` is a count of values aggregated in a `Distribution` that fall into a good range. The `total_service` is the total count of all values aggregated in the `Distribution`. |
Optional |
A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` aggregating values. Must have `ValueType = DISTRIBUTION` and `MetricKind = DELTA` or `MetricKind = CUMULATIVE`. |
Optional |
Range of values considered "good." For a one-sided range, set one bound to an infinite value. |
Optional |
Range maximum. |
Optional |
Range minimum. |
Optional |
`good_total_ratio` is used when the ratio of `good_service` to `total_service` is computed from two `TimeSeries`. |
Optional |
A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` quantifying bad service, either demanded service that was not provided or demanded service that was of inadequate quality. Must have `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`. |
Optional |
A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` quantifying good service provided. Must have `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`. |
Optional |
A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying a `TimeSeries` quantifying total demanded service. Must have `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind = DELTA` or `MetricKind = CUMULATIVE`. |
Optional |
If window `performance >= threshold`, the window is counted as good. |
Optional |
A window is good if the metric's value is in a good range, averaged across returned streams. |
Optional |
Range of values considered "good." For a one-sided range, set one bound to an infinite value. |
Optional |
Range maximum. |
Optional |
Range minimum. |
Optional |
A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying the `TimeSeries` to use for evaluating window quality. |
Optional |
A window is good if the metric's value is in a good range, summed across returned streams. |
Optional |
Range of values considered "good." For a one-sided range, set one bound to an infinite value. |
Optional |
Range maximum. |
Optional |
Range minimum. |
Optional |
A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) specifying the `TimeSeries` to use for evaluating window quality. |
Optional |
Duration over which window quality is evaluated. Must be an integer fraction of a day and at least `60s`. |
Required |
Immutable. |
Optional |
The service for the resource Allowed value: The Google Cloud resource name of a `MonitoringService` resource (format: `projects/{{project}}/services/{{name}}`). |
Optional |
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
Optional |
Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
Status
Schema
conditions:
- lastTransitionTime: string
message: string
reason: string
status: string
type: string
createTime: string
deleteTime: string
observedGeneration: integer
serviceManagementOwned: boolean
Fields | |
---|---|
conditions |
Conditions represent the latest available observation of the resource's current state. |
conditions[] |
|
conditions[].lastTransitionTime |
Last time the condition transitioned from one status to another. |
conditions[].message |
Human-readable message indicating details about last transition. |
conditions[].reason |
Unique, one-word, CamelCase reason for the condition's last transition. |
conditions[].status |
Status is the status of the condition. Can be True, False, Unknown. |
conditions[].type |
Type is the type of the condition. |
createTime |
Time stamp of the `Create` or most recent `Update` command on this `Slo`. |
deleteTime |
Time stamp of the `Update` or `Delete` command that made this no longer a current `Slo`. This field is not populated in `ServiceLevelObjective`s returned from calls to `GetServiceLevelObjective` and `ListServiceLevelObjectives`, because it is always empty in the current version. It is populated in `ServiceLevelObjective`s representing previous versions in the output of `ListServiceLevelObjectiveVersions`. Because all old configuration versions are stored, `Update` operations mark the obsoleted version as deleted. |
observedGeneration |
ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. |
serviceManagementOwned |
Output only. If set, this SLO is managed at the [Service Management](https://cloud.google.com/service-management/overview) level. Therefore the service yaml file is the source of truth for this SLO, and API `Update` and `Delete` operations are forbidden. |
Sample YAML(s)
Request Based Distribution Cut
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringServiceLevelObjective
metadata:
name: monitoringservicelevelobjective-sample-requestbaseddistributioncut
labels:
test1: "value1"
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
serviceRef:
external: monitoringservicelevelobjective-dep-requestbaseddistributioncut
displayName: "A request based distribution cut filter"
goal: 0.9
rollingPeriod: "86400s"
serviceLevelIndicator:
requestBased:
distributionCut:
distributionFilter: "metric.type=\"serviceruntime.googleapis.com/api/request_latencies\" \n resource.type=\"api\" "
range:
min: 50
max: 100
---
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringService
metadata:
name: monitoringservicelevelobjective-dep-requestbaseddistributioncut
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
displayName: "A basic monitoring service."
Request Based Good Total Ratio
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringServiceLevelObjective
metadata:
name: monitoringservicelevelobjective-sample-requestbasedgoodtotalratio
labels:
test1: "value1"
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
serviceRef:
external: monitoringservicelevelobjective-dep-requestbasedgoodtotalratio
displayName: "A request based good total ratio filter"
goal: 0.9
rollingPeriod: "86400s"
serviceLevelIndicator:
requestBased:
goodTotalRatio:
goodServiceFilter: "metric.type=\"serviceruntime.googleapis.com/api/request_count\" \n resource.type=\"api\" "
badServiceFilter: "metric.type=\"serviceruntime.googleapis.com/api/request_count\" \n resource.type=\"api\" "
---
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringService
metadata:
name: monitoringservicelevelobjective-dep-requestbasedgoodtotalratio
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
displayName: "A basic monitoring service."
Request Based Gtr Total Service Filter
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringServiceLevelObjective
metadata:
name: monitoringservicelevelobjective-sample-requestbasedgtrtotalservicefilter
labels:
test1: "value1"
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
serviceRef:
external: monitoringservicelevelobjective-dep-requestbasedgtrtotalservicefilter
displayName: "A request based good total ratio total service filter"
goal: 0.9
rollingPeriod: "86400s"
serviceLevelIndicator:
requestBased:
goodTotalRatio:
goodServiceFilter: "metric.type=\"serviceruntime.googleapis.com/api/request_count\" \n resource.type=\"api\" "
totalServiceFilter: "metric.type=\"serviceruntime.googleapis.com/api/request_count\" \n resource.type=\"api\" "
---
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringService
metadata:
name: monitoringservicelevelobjective-dep-requestbasedgtrtotalservicefilter
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
displayName: "A basic monitoring service."
Window Based Good Bad Metric Filter
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringServiceLevelObjective
metadata:
name: monitoringservicelevelobjective-sample-windowgoodbadmetric
labels:
test1: "value1"
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
serviceRef:
external: monitoringservicelevelobjective-dep-windowgoodbadmetric
displayName: "A window based good bad metric slo"
goal: 0.9
calendarPeriod: DAY
serviceLevelIndicator:
windowsBased:
windowPeriod: "60s"
goodBadMetricFilter: "metric.type=\"monitoring.googleapis.com/uptime_check/check_passed\" \n resource.type=\"uptime_url\""
---
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringService
metadata:
name: monitoringservicelevelobjective-dep-windowgoodbadmetric
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
displayName: "A basic monitoring service."
Window Based Gtr Distribution Cut
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringServiceLevelObjective
metadata:
name: monitoringservicelevelobjective-sample-windowbasedgtrdistributioncut
labels:
test1: "value1"
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
serviceRef:
external: monitoringservicelevelobjective-dep-windowbasedgtrdistributioncut
displayName: "A window based good total ratio distribution cut filter"
goal: 0.9
calendarPeriod: "DAY"
serviceLevelIndicator:
windowsBased:
windowPeriod: "60s"
goodTotalRatioThreshold:
threshold: 0.9
performance:
distributionCut:
distributionFilter: "metric.type=\"serviceruntime.googleapis.com/api/request_latencies\" resource.type=\"api\" "
range:
min: 50
max: 100
---
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringService
metadata:
name: monitoringservicelevelobjective-dep-windowbasedgtrdistributioncut
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
displayName: "A basic monitoring service."
Window Based Gtr Performance Gtr
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringServiceLevelObjective
metadata:
name: monitoringservicelevelobjective-sample-windowbasedgtrperformancegtr
labels:
test1: "value1"
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
serviceRef:
external: monitoringservicelevelobjective-dep-windowbasedgtrperformancegtr
displayName: "A window based good total ratio performance filter"
goal: 0.9
calendarPeriod: "DAY"
serviceLevelIndicator:
windowsBased:
windowPeriod: "60s"
goodTotalRatioThreshold:
threshold: 0.9
performance:
goodTotalRatio:
goodServiceFilter: "metric.type=\"serviceruntime.googleapis.com/api/request_count\" \n resource.type=\"api\" "
badServiceFilter: "metric.type=\"serviceruntime.googleapis.com/api/request_count\" \n resource.type=\"api\" "
---
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringService
metadata:
name: monitoringservicelevelobjective-dep-windowbasedgtrperformancegtr
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
displayName: "A basic monitoring service."
Window Based Gtr Performance Gtr Total Service Filter
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringServiceLevelObjective
metadata:
name: monitoringservicelevelobjective-sample-windowbasedgtrperformancegtrtotalservicefilter
labels:
test1: "value1"
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
serviceRef:
external: monitoringservicelevelobjective-dep-windowbasedgtrperformancegtrtotalservicefilter
displayName: "A window based good total ratio performance filter"
goal: 0.9
calendarPeriod: "DAY"
serviceLevelIndicator:
windowsBased:
windowPeriod: "60s"
goodTotalRatioThreshold:
threshold: 0.9
performance:
goodTotalRatio:
goodServiceFilter: "metric.type=\"serviceruntime.googleapis.com/api/request_count\" \n resource.type=\"api\" "
totalServiceFilter: "metric.type=\"serviceruntime.googleapis.com/api/request_count\" \n resource.type=\"api\" "
---
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringService
metadata:
name: monitoringservicelevelobjective-dep-windowbasedgtrperformancegtrtotalservicefilter
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
displayName: "A basic monitoring service."
Window Based Metric Mean Filter
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringServiceLevelObjective
metadata:
name: monitoringservicelevelobjective-sample-windowbasedmetricmeanfilter
labels:
test1: "value1"
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
serviceRef:
external: monitoringservicelevelobjective-dep-windowbasedmetricmeanfilter
displayName: "A window based metric mean filter"
goal: 0.9
rollingPeriod: "86400s"
serviceLevelIndicator:
windowsBased:
windowPeriod: "60s"
metricMeanInRange:
timeSeries: "resource.type=\"gce_instance\" \nmetric.type=\"compute.googleapis.com/instance/cpu/usage_time\""
range:
min: 50
max: 100
---
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringService
metadata:
name: monitoringservicelevelobjective-dep-windowbasedmetricmeanfilter
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
displayName: "A basic monitoring service."
Window Based Metric Sum Filter
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringServiceLevelObjective
metadata:
name: monitoringservicelevelobjective-sample-windowbasedmetricsum
labels:
test1: "value1"
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
serviceRef:
external: monitoringservicelevelobjective-dep-windowbasedmetricsum
displayName: "A window based metric sum filter"
goal: 0.9
rollingPeriod: "86400s"
serviceLevelIndicator:
windowsBased:
windowPeriod: "60s"
metricSumInRange:
timeSeries: "resource.type=\"gce_instance\" \nmetric.type=\"compute.googleapis.com/instance/cpu/usage_time\""
range:
min: 50
max: 100
---
apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringService
metadata:
name: monitoringservicelevelobjective-dep-windowbasedmetricsum
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID
external: "projects/${PROJECT_ID?}"
displayName: "A basic monitoring service."