DEV Community

Andrew Ashraf Sabry
Andrew Ashraf Sabry

Posted on

Detect crashes in your Kubernetes cluster using kwatch and Slack

What is kwatch?

kwatch is an open-source project that started late in 2021.
It aims to help you monitor all changes in your Kubernetes(K8s) cluster,
detect crashes in your running apps, and publish notifications to your favorite channels (Slack, Discord, etc.) in real-time.

In this tutorial, I will help you setup and deploy kwatch on your Kubernetes cluster.
Plus, integrate with Slack to get notified on a channel when there is a crash in your apps.

Configure kwatch with Slack

First of all, we need to get the webhook URL of the channel you want the notification to be received on it.

If you know how to generate the webhook URL you can escape this part and go to the configuration section.

Step 1: create a new slack channel (if you don't have one already)

new Slack channel

Step 2: Go to https://api.slack.com/apps and create an app from scratch and connect it with your workplace

creating a new Slack app

Step 3: Create an incoming webhook and activate it

adding a webhook

Step 4: Connect it to you channel

connecting your webhook to your channel

Finally we have the webhook URL for the channel!

Step 5: Get Configuration

Get the configuration template

curl  -L https://raw.githubusercontent.com/abahmed/kwatch/v0.3.0/deploy/config.yaml -o config.yaml
Enter fullscreen mode Exit fullscreen mode

Step 6: Edit config.yaml with the corresponding configs

apiVersion: v1
kind: Namespace
metadata:
  name: kwatch
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: kwatch
  namespace: kwatch
data:
  config.yaml: |
    alert:
      slack:
        webhook: WEBHOOK_URL
Enter fullscreen mode Exit fullscreen mode

Step 7: Apply Configuration

kubectl apply -f config.yaml
Enter fullscreen mode Exit fullscreen mode

Deploy kwatch

Deploy kwatch on your cluster with one command

kubectl apply -f https://raw.githubusercontent.com/abahmed/kwatch/v0.3.0/deploy/deploy.yaml
Enter fullscreen mode Exit fullscreen mode

After deploying you will get notified on the channel that kwatch has started successfully. Now, kwatch is monitoring your apps!

kwatch just started

Here is an example of kwatch messages when a crash is detected.

kwatch detected a crash

You can find more documentation about kwatch Here.

If you like kwatch, give it a star on GitHub!

We are happy to hear feedback from you and if you have any request, or suggestion don't hesitate to ping us on our channels (Discord, GitHub)

Discussion (0)