Skip to content

Commit

Permalink
chore: doc updates
Browse files Browse the repository at this point in the history
  • Loading branch information
moshloop committed Oct 4, 2023
1 parent 70b5d00 commit 5d1d2b0
Show file tree
Hide file tree
Showing 8 changed files with 105 additions and 62 deletions.
29 changes: 29 additions & 0 deletions docs/canary-checker/docs/comparisons/blackbox-exporter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Canary-Checker vs Prometheus blackbox exporter



[Prometheus Blackbox Exporter](https://github.com/prometheus/blackbox_exporter) is a prometheus exporter for probing HTTP, HTTPS, DNS, TCP, ICMP and gRPC.


| | Blackbox Exporter | Canary Checker |
| ------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| Prometheus Exporter | Yes | Yes |
| Internal DB | No | Runs with an embedded postgres database, making it possible to monitor prometheus itself |
| Check types | HTTP, ICMP, DNS, TCP, gRPC | 30+ |
| Custom Metrics | No | Create custom metrics from HTTP / SQL / Elasticsearch / etc queries |
| Exports | Metrics and labels only | Metrics, labels and error messages |
| Run in CI/CD | No | Run as a CLI for rapid feedback loops and export JUnit results in CI pipelines |
| Cron | No | Stop running checks when environments are shut down, or after hours |
| Scripting | No | Evaluate the health of a response using CEL, Javascript, Go Templates |
| **Kubernetes** | | |
| CRDs | Via [Probe](https://prometheus-operator.dev/docs/operator/api/#monitoring.coreos.com/v1.Probe) | Yes |
| Conditions | No | Status conditions enable canaries to be used as health checks in Helm, Flux, and Argo |
| Events | No | Kubernetes events are fired on failure |
| Secrets | Via [Probe](https://prometheus-operator.dev/docs/operator/api/#monitoring.coreos.com/v1.Probe) | |
| **Check Types** | | |
| Synthetic | No | Builtin check types for any test exporting JUnit test results e.g. (k6, playwright, robot, postman, etc) |
| Infrastructre | No | Verify the ability to launch new pods, create new EC2 instances or push and pull from docker / helm / git repositories |
| Backup | No | Check backups via Restic, S3, SMB, SFTP, GCS |
| Compliance | No | AWS Config Rules, Flanksource Config DB |
| Alert Aggregation | No | Alert Manager, AWS Cloudwatch, Dynatrace |

2 changes: 1 addition & 1 deletion docs/canary-checker/docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
```bash
helm repo add flanksource https://flanksource.github.io/charts
helm repo update
helm install canary-checker flanksource/canary-checker -n "canary-checker"
helm install canary-checker flanksource/canary-checker -n "canary-checker" --create-namespace
```

2. Create a new check
Expand Down
42 changes: 18 additions & 24 deletions docs/canary-checker/docs/helm.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,32 +7,24 @@ image: /static/img/icons/helm.svg

The recommended method for installing Canary Checker is using [helm](https://helm.sh/)

### 1. Install Helm

The following steps will install the latest version of helm

```bash
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
```

### 2. Add the Flanksource helm repository
### 1. Add the Flanksource helm repository

```bash
helm repo add flanksource https://flanksource.github.io/charts
helm repo update
```

### 3. Deploy Canary Checker using Helm
### 2. Deploy Canary Checker using Helm

To install into a new `canary-checker` namespace, run

```bash
helm install canary-checker \
--wait \
helm install \
canary-checker \
flanksource/canary-checker \
-n canary-checker \
--create-namespace flanksource/canary-checker \
--create-namespace \
--wait \
-f values.yaml
```

Expand All @@ -53,7 +45,7 @@ flanksource-ui:
Note the default installation of canary-checker uses an embedded postgres database and does not persist history, see: [Database](database)
:::
## 4. Create a canary
## 3. Create a canary
```bash
cat <<EOF | kubectl apply -f -
Expand All @@ -69,7 +61,7 @@ spec:
EOF
```

## 5. Check the results via the CLI
## 4. Check the results via the CLI

```bash
kubectl get canary
Expand All @@ -81,19 +73,21 @@ NAME INTERVAL STATUS LAST CHECK UPTIME 1H LATENCY 1H
http-check. 30 Passed 13s 18/18 (100.0%) 480ms 13s
```

## 6. Flanksource UI
## 5. Access the dashboard

You can access the web dashboard by forwarding the port:

```bash
kubectl port-forward svc/canary-checker-ui 8080:80
```

[http://localhost:8080](http://localhost:8080)

The canary checker itself only presents an API. To view the data graphically, the Flanksource UI is required, and is installed by default. The UI should be configured to allow external access to via ingress

| | |
| ---------------------------------- | ------------------------------------------------------------ |
| flanksource-ui.ingress.host | URL at which the UI will be accessed |
| flanksource-ui.ingress.annotations | Map of annotations required by the ingress controller or certificate issuer |
| flanksource-ui.ingress.tls | Map of configuration options for TLS |

More details regarding ingress configuration can be found in the [kubernetes documentation](https://kubernetes.io/docs/concepts/services-networking/ingress/)





9 changes: 6 additions & 3 deletions docs/canary-checker/docs/reference/icmp.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@ title: ICMP

Performs ICMP (ping) requests for information on ICMP packet loss, duration and response.

:::danger Root Privileges Required
ICMP requires either root privileges or the following setting applied:
:::info
Canary checker supports both `privileged` and `unprivileged` ping modes using the `PING_MODE` environment variable or `pingMode` helm value.

When using `unprivileged` you need to run:
```shell
sudo sysctl -w net.ipv4.ping_group_range="0 2147483647"
```
Expand All @@ -21,7 +23,8 @@ metadata:
spec:
interval: 30
icmp:
- endpoint: api.github.com
- name: github
endpoint: api.github.com
thresholdMillis: 600
packetLossThreshold: 10
packetCount: 2
Expand Down
3 changes: 3 additions & 0 deletions docs/canary-checker/docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ const config = {
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
metadata: [
{ name: 'keywords', content: 'health check, synthetic test, continuous testing, kubernetes operator' }
],

algolia: {
// The application ID provided by Algolia
Expand Down
12 changes: 12 additions & 0 deletions docs/canary-checker/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -353,5 +353,17 @@ module.exports = {
},
],
},

{
type: 'category',
label: 'Comparisons',
items: [
{
type: 'doc',
id: 'comparisons/blackbox-exporter',
label: 'Blackbox Exporter',
},
],
},
],
};
66 changes: 34 additions & 32 deletions docs/canary-checker/src/components/Home.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,44 +22,46 @@ function Home() {
function Header() {
return (

<div className="relative isolate overflow-hidden bg-white hero-pattern">

<div className="mx-auto max-w-7xl px-6 pb-24 pt-10 sm:pb-32 lg:flex lg:px-8 lg:py-40">
<div className="mx-auto max-w-2xl lg:mx-0 lg:max-w-xl lg:flex-shrink-0 lg:pt-8">
<img
className="h-11"
src="/img/canary-checker.svg"
alt="Canary Checker"
/>
<h1 className="mt-10 text-3xl font-bold tracking-tight text-gray-900 sm:text-5xl">
Kubernetes Native Synthetic Testing Platform
</h1>
<p className="mt-6 text-lg leading-8 text-gray-600">

</p>
<div className="mt-10 flex items-center gap-x-6">
<a
href="/getting-started"
className="rounded-md bg-indigo-600 px-3.5 py-2.5 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
>
Get started
</a>
<>
<div className="relative isolate overflow-hidden bg-white hero-pattern">

<div className="mx-auto max-w-7xl px-6 pb-24 pt-10 sm:pb-32 lg:flex lg:px-8 lg:py-40">
<div className="mx-auto max-w-2xl lg:mx-0 lg:max-w-xl lg:flex-shrink-0 lg:pt-8">
<img
className="h-11"
src="/img/canary-checker.svg"
alt="Canary Checker"
/>
<h1 className="mt-10 text-3xl font-bold tracking-tight text-gray-900 sm:text-5xl">
Kubernetes Native <br></br> Health Check Platform
</h1>
<p className="mt-6 text-lg leading-8 text-gray-600">

</p>
<div className="mt-10 flex items-center gap-x-6">
<a
href="/getting-started"
className="rounded-md bg-indigo-600 px-3.5 py-2.5 text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
>
Get started
</a>

</div>
</div>
</div>
<div className="mx-auto mt-16 flex max-w-2xl sm:mt-24 lg:ml-10 lg:mr-0 lg:mt-0 lg:max-w-none lg:flex-none xl:ml-32">
<div className="max-w-3xl flex-none sm:max-w-5xl lg:max-w-none">
<div className="-m-2 rounded-xl bg-gray-900/5 p-2 lg:-m-4 lg:rounded-2xl lg:p-4" >
<img
src="/img/canary-ui.png"
alt="canary checker"
className="w-[60rem] rounded-md shadow-2xl ring-1 ring-gray-900/10"
/>
<div className="mx-auto mt-16 flex max-w-2xl sm:mt-24 lg:ml-10 lg:mr-0 lg:mt-0 lg:max-w-none lg:flex-none xl:ml-32">
<div className="max-w-3xl flex-none sm:max-w-5xl lg:max-w-none">
<div className="-m-2 rounded-xl bg-gray-900/5 p-2 lg:-m-4 lg:rounded-2xl lg:p-4" >
<img
src="/img/canary-ui.png"
alt="canary checker"
className="w-[60rem] rounded-md shadow-2xl ring-1 ring-gray-900/10"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</>
);
}

Expand Down
4 changes: 2 additions & 2 deletions docs/canary-checker/src/pages/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ function HomePage() {
return (
<Layout
noFooter={true}
title="Canary Checker"
description="Kubernetes Native Synthetic Monitoring Platform"
title="Kubernetes Native Health Check Platform"
description="Kubernetes Native Health Check Platform"
>
<Home />
</Layout>
Expand Down

0 comments on commit 5d1d2b0

Please sign in to comment.