| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you 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. |
| |
| # Sample alarm rules. |
| rules: |
| # Rule unique name, must be ended with `_rule`. |
| service_resp_time_rule: |
| # A MQE expression, the result type must be `SINGLE_VALUE` and the root operation of the expression must be a Compare Operation |
| # which provides `1`(true) or `0`(false) result. When the result is `1`(true), the alarm will be triggered. |
| expression: sum(service_resp_time > 1000) >= 3 |
| period: 10 |
| silence-period: 5 |
| message: Response time of service {name} is more than 1000ms in 3 minutes of last 10 minutes. |
| # service_resp_time_rule: |
| # expression: avg(service_resp_time) > 1000 |
| # period: 10 |
| # silence-period: 5 |
| # message: Avg response time of service {name} is more than 1000ms in last 10 minutes. |
| service_sla_rule: |
| expression: sum(service_sla < 8000) >= 2 |
| # The length of time to evaluate the metrics |
| period: 10 |
| # How many times of checks, the alarm keeps silence after alarm triggered, default as same as period. |
| silence-period: 3 |
| message: Successful rate of service {name} is lower than 80% in 2 minutes of last 10 minutes |
| service_resp_time_percentile_rule: |
| expression: sum(service_percentile{p='50,75,90,95,99'} > 1000) >= 3 |
| period: 10 |
| silence-period: 5 |
| message: Percentile response time of service {name} alarm in 3 minutes of last 10 minutes, due to more than one condition of p50 > 1000, p75 > 1000, p90 > 1000, p95 > 1000, p99 > 1000 |
| service_instance_resp_time_rule: |
| expression: sum(service_instance_resp_time > 1000) >= 2 |
| period: 10 |
| silence-period: 5 |
| message: Response time of service instance {name} is more than 1000ms in 2 minutes of last 10 minutes |
| database_access_resp_time_rule: |
| expression: sum(database_access_resp_time > 1000) >= 2 |
| period: 10 |
| message: Response time of database access {name} is more than 1000ms in 2 minutes of last 10 minutes |
| endpoint_relation_resp_time_rule: |
| expression: sum(endpoint_relation_resp_time > 1000) >= 2 |
| period: 10 |
| message: Response time of endpoint relation {name} is more than 1000ms in 2 minutes of last 10 minutes |
| # Active endpoint related metrics alarm will cost more memory than service and service instance metrics alarm. |
| # Because the number of endpoint is much more than service and instance. |
| # |
| # endpoint_resp_time_rule: |
| # expression: sum(endpoint_resp_time > 1000) >= 2 |
| # period: 10 |
| # silence-period: 5 |
| # message: Response time of endpoint {name} is more than 1000ms in 2 minutes of last 10 minutes |
| |
| #hooks: |
| # webhook: |
| # default: |
| # is-default: true |
| # urls: |
| # - http://127.0.0.1/notify/ |
| # - http://127.0.0.1/go-wechat/ |
| |