diff --git a/canary-checker/docs/concepts/metrics-exporter.mdx b/canary-checker/docs/concepts/metrics-exporter.mdx new file mode 100644 index 00000000..f250762f --- /dev/null +++ b/canary-checker/docs/concepts/metrics-exporter.mdx @@ -0,0 +1,18 @@ +--- +title: Metrics Exporter +slug: /concepts/metrics-exporter +--- + +# Metrics Exporter + +Canary Checker works well with Prometheus and exports metrics for every check, the standard metrics included are: + +| Metric | Type | Description | +| ---------------------------------------------- | --------- | ------------------------------------------- | +| canary_check | Gauge | Set to 0 when passing and 1 when failing | +| canary_check_success_count | Counter | | +| canary_check_failed_count | Counter | | +| canary_check_info | Info | | +| canary_check_duration | Histogram | Histogram of canary durations | + +For more information about metrics, including custom metrics and Grafana integration, please visit the [metrics page](/concepts/metrics). \ No newline at end of file diff --git a/canary-checker/docs/concepts/metrics/custom-metrics.mdx b/canary-checker/docs/concepts/metrics/custom-metrics.mdx new file mode 100644 index 00000000..5c13d2c8 --- /dev/null +++ b/canary-checker/docs/concepts/metrics/custom-metrics.mdx @@ -0,0 +1,47 @@ +--- +title: Custom Metrics +slug: /concepts/metrics/custom-metrics +--- + +# Custom Metrics + +Canary checker can export custom metrics from any check type, replacing and/or consolidating multiple standalone Prometheus Exporters into a single exporter. + +In the example below, exchange rates against USD are exported by first calling an HTTP api and then using the values from the JSON response to create the metrics: + +```yaml title="exchange-rates-exporter.yaml" +apiVersion: canaries.flanksource.com/v1 +kind: Canary +metadata: + name: exchange-rates +spec: + interval: 30 + http: + - name: exchange-rates-api + url: https://api.exchangerate-api.com/v4/latest/USD + responseTime: 300 + metrics: + - name: exchange_rate_api + type: gauge + value: duration + - name: exchange_rate + type: gauge + value: "1.0" + labels: + - name: from + value: USD + - name: to + valueExpr: key + values: json.rates.* +``` + +Which would output: + +```shell +exchange_rate{from=USD, to=GBP} 0.819 +exchange_rate{from=USD, to=EUR} 0.949 +exchange_rate{from=USD, to=ILS} 3.849 +exchange_rate_api 260.000 +``` + +For more information about custom metrics, please visit the [main metrics page](/concepts/metrics#custom-metrics). \ No newline at end of file diff --git a/canary-checker/docs/concepts/metrics/grafana.mdx b/canary-checker/docs/concepts/metrics/grafana.mdx new file mode 100644 index 00000000..9644112f --- /dev/null +++ b/canary-checker/docs/concepts/metrics/grafana.mdx @@ -0,0 +1,16 @@ +--- +title: Grafana Integration +slug: /concepts/metrics/grafana +--- + +# Grafana + +Default grafana dashboards are available. After you deploy Grafana, these dashboards can be installed with + +``` +--set grafanaDashboards=true --set serviceMonitor=true +``` + +![](/img/grafana-dashboard.png) + +For more information about metrics and Grafana, please visit the [main metrics page](/concepts/metrics#grafana). \ No newline at end of file diff --git a/canary-checker/docs/docs/getting-started/installation.mdx b/canary-checker/docs/docs/getting-started/installation.mdx new file mode 100644 index 00000000..a5a94af0 --- /dev/null +++ b/canary-checker/docs/docs/getting-started/installation.mdx @@ -0,0 +1,8 @@ +--- +title: Getting Started with Installation +slug: /docs/getting-started/installation +--- + +import {Redirect} from '@docusaurus/router'; + + \ No newline at end of file diff --git a/canary-checker/docusaurus.config.js b/canary-checker/docusaurus.config.js index 70992870..15198ec7 100644 --- a/canary-checker/docusaurus.config.js +++ b/canary-checker/docusaurus.config.js @@ -91,22 +91,23 @@ export default async function createConfigAsync() { ['@docusaurus/plugin-client-redirects', { redirects: [ - { - to: '/getting-started', - from: '/docs/getting-started/installation', - }, - { - to: '/concepts/metrics#grafana', - from: '/concepts/metrics/grafana', - }, - { - to: '/concepts/metrics', - from: '/concepts/metrics/custom-metrics', - }, - { - to: '/concepts/metrics', - from: '/concepts/metrics-exporter', - } + // These redirects are no longer needed as we've created the source files + // { + // to: '/getting-started', + // from: '/docs/getting-started/installation', + // }, + // { + // to: '/concepts/metrics#grafana', + // from: '/concepts/metrics/grafana', + // }, + // { + // to: '/concepts/metrics', + // from: '/concepts/metrics/custom-metrics', + // }, + // { + // to: '/concepts/metrics', + // from: '/concepts/metrics-exporter', + // } ], } @@ -178,4 +179,4 @@ export default async function createConfigAsync() { }, }), }; -} +} \ No newline at end of file diff --git a/mission-control/docs/canary-checker.mdx b/mission-control/docs/canary-checker.mdx new file mode 100644 index 00000000..554a9370 --- /dev/null +++ b/mission-control/docs/canary-checker.mdx @@ -0,0 +1,8 @@ +--- +title: Canary Checker +slug: /canary-checker +--- + +import {Redirect} from '@docusaurus/router'; + + \ No newline at end of file diff --git a/mission-control/docs/guide/topology/concepts/templating.mdx b/mission-control/docs/guide/topology/concepts/templating.mdx index 8d1c3b37..5dd30c5e 100644 --- a/mission-control/docs/guide/topology/concepts/templating.mdx +++ b/mission-control/docs/guide/topology/concepts/templating.mdx @@ -7,7 +7,7 @@ When building a topology, templating enables you to transform data from the cata **Templating is:** > Simply a way to represent data in different forms. -Templating comes in handy when you want the results of your operation displayed in your desired configuration and order. [Canary-checker](/guide/canary-checker/overview) and [Config DB](/guide/config-db/getting-started) supports this feature for rendering results. They can be specified in `display`, `test`, `transform` fields for the `Canary` object, `id`, `test`, `transform`, `display` for `Topology` object. The template can be configured In the next section, you'll see the different supported templates. +Templating comes in handy when you want the results of your operation displayed in your desired configuration and order. [Canary-checker](/guide/canary-checker) and [Config DB](/guide/config-db/getting-started) supports this feature for rendering results. They can be specified in `display`, `test`, `transform` fields for the `Canary` object, `id`, `test`, `transform`, `display` for `Topology` object. The template can be configured In the next section, you'll see the different supported templates. ## Canary Template Types diff --git a/mission-control/docs/notifications.mdx b/mission-control/docs/notifications.mdx new file mode 100644 index 00000000..c14c5dce --- /dev/null +++ b/mission-control/docs/notifications.mdx @@ -0,0 +1,8 @@ +--- +title: Notifications +slug: /notifications +--- + +import {Redirect} from '@docusaurus/router'; + + \ No newline at end of file diff --git a/mission-control/docs/playbooks.mdx b/mission-control/docs/playbooks.mdx new file mode 100644 index 00000000..629dd2c9 --- /dev/null +++ b/mission-control/docs/playbooks.mdx @@ -0,0 +1,8 @@ +--- +title: Playbooks +slug: /playbooks +--- + +import {Redirect} from '@docusaurus/router'; + + \ No newline at end of file diff --git a/mission-control/docs/topology.mdx b/mission-control/docs/topology.mdx new file mode 100644 index 00000000..039766b9 --- /dev/null +++ b/mission-control/docs/topology.mdx @@ -0,0 +1,8 @@ +--- +title: Topology +slug: /topology +--- + +import {Redirect} from '@docusaurus/router'; + + \ No newline at end of file diff --git a/mission-control/docusaurus.config.ts b/mission-control/docusaurus.config.ts index ac5ddbdd..50455074 100644 --- a/mission-control/docusaurus.config.ts +++ b/mission-control/docusaurus.config.ts @@ -67,22 +67,23 @@ export default async function createConfigAsync() { // from: '/guide/canary-checker/reference/s3-bucket', // }, - { - to: '/guide/canary-checker', - from: '/canary-checker', - }, - { - to: '/guide/playbooks', - from: '/playbooks', - }, - { - to: '/guide/notifications/', - from: '/notifications', - }, - { - to: '/guide/topology', - from: '/topology', - }, + // These redirects are no longer needed as we've created the source files + // { + // to: '/guide/canary-checker', + // from: '/canary-checker', + // }, + // { + // to: '/guide/playbooks', + // from: '/playbooks', + // }, + // { + // to: '/guide/notifications/', + // from: '/notifications', + // }, + // { + // to: '/guide/topology', + // from: '/topology', + // }, ], @@ -336,4 +337,4 @@ export default async function createConfigAsync() { }, }), } -} +} \ No newline at end of file