Monitor & detect crashes in your Kubernetes(K8s) cluster

Overview

kwatch


kwatch helps you monitor all changes in your Kubernetes(K8s) cluster, detects crashes in your running apps in realtime, and publishes notifications to your channels (Slack, Discord, etc.)

Contribute & Support

Screenshots

Getting Started

Install

You need to get config template to add your configs

curl  -L https://raw.githubusercontent.com/abahmed/kwatch/main/deploy/config.yaml -o config.yaml

Then edit config.yaml file and apply your configuration

kubectl apply -f config.yaml

To deploy kwatch, execute following command:

kubectl apply -f https://raw.githubusercontent.com/abahmed/kwatch/main/deploy/deploy.yaml

Configuration

Parameter Description Required
providers.slack.webhook Slack webhook URL Yes
providers.slack.title Customized title in slack message No
providers.slack.text Customized text in slack message No

Cleanup

kubectl delete -f config.yaml
kubectl delete -f https://raw.githubusercontent.com/abahmed/kwatch/main/deploy/deploy.yaml

Contributors

Get in touch!

Feel free to chat with us on Discord if you have questions, or suggestions

License

kwatch is licensed under MIT License

Issues
  • Ability to keep log more informative

    Ability to keep log more informative

    Is your feature request related to a problem? Please describe. There's already support to capture last log line and customize it, but if log message too long slack will trim it, My experience I set only for last 10 log but still get trim, and quote disappeared at last make message not block by quote

    Describe the solution you'd like Maybe we can make that still send full log but via file instead of quote the message? Or only send real last log, instead of first last log that get trimmed

    opened by ardimaul 3
  • Filter what will be send

    Filter what will be send

    Is your feature request related to a problem? Please describe. We always receive the notification when the pod is in status "Podinitializing", this happens all day, but is a false positive.

    Describe the solution you'd like I would like to filter the "Reason" field on the message, to send to slack just the "CrashLoopback", and another errors, not all the errors.

    opened by k4d1sm0 3
  • "kwatch detected a crash in pod" when pod is deleted normally

    Describe the bug When I delete a pod (or an object containing pods, i.e. deployment) normally (also tested via argocd) I receive an alert about a pod crash:

     kwatch detected a crash in pod
    There is an issue with container in a pod!
    Name
    rex2-c8f75f688-nxczd
    Container
    tools
    Namespace
    myns
    Reason
    Error
    Events
    ...
    [2022-01-20 20:36:45 +0000 UTC] Created Created container rex2
    [2022-01-20 20:36:45 +0000 UTC] Started Started container rex2
    ...
    [2022-01-20 20:38:34 +0000 UTC] Killing Stopping container rex2
    ...
    
     Logs
    unable to retrieve container logs for docker://c733494c9012466a9d98cf6bacf629127f3741d6d23c18e48c71d3237466965d
    kwatch
    
    

    This isn't a crash but a normal container termination, I should not be getting alerts

    To Reproduce Steps to reproduce the behavior:

    • run kwatch
    • delete some pod

    Expected behavior

    I should not receive alerts on cleanly terminated pods, only on crashes

    Actual behavior Getting a crash alert

    Version/Commit v0.3.0

    opened by dyasny 3
  • Feature: support MS Teams as a provider

    Feature: support MS Teams as a provider

    Is your feature request related to a problem? Please describe. https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook

    Describe the solution you'd like Need to use it to MS Teams to use it to my company

    thank you

    enhancement 
    opened by BK-STAR77 3
  • ⬆️ Bump k8s.io/apimachinery from 0.24.1 to 0.24.2

    ⬆️ Bump k8s.io/apimachinery from 0.24.1 to 0.24.2

    Bumps k8s.io/apimachinery from 0.24.1 to 0.24.2.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • ⬆️ Bump k8s.io/api from 0.24.1 to 0.24.2

    ⬆️ Bump k8s.io/api from 0.24.1 to 0.24.2

    Bumps k8s.io/api from 0.24.1 to 0.24.2.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • ⬆️ Bump k8s.io/apimachinery from 0.24.0 to 0.24.1

    ⬆️ Bump k8s.io/apimachinery from 0.24.0 to 0.24.1

    Bumps k8s.io/apimachinery from 0.24.0 to 0.24.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • ⬆️ Bump k8s.io/api from 0.24.0 to 0.24.1

    ⬆️ Bump k8s.io/api from 0.24.0 to 0.24.1

    Bumps k8s.io/api from 0.24.0 to 0.24.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • ⬆️ Bump k8s.io/apimachinery from 0.23.6 to 0.24.0

    ⬆️ Bump k8s.io/apimachinery from 0.23.6 to 0.24.0

    Bumps k8s.io/apimachinery from 0.23.6 to 0.24.0.

    Commits
    • 97e5df2 fix remove implicit copy of a lock
    • 6550efd Merge pull request #109102 from liggitt/darwin-tls
    • 00f0711 Merge pull request #109031 from Jefftree/openapiv3beta
    • 53a85ef Tolerate additional error messages in TLS unit tests
    • 9b5b68c generated: Update kube-openapi and vendor
    • 31e52c9 Merge pull request #108126 from sanposhiho/doc/generatedname
    • 3b8fb46 Merge pull request #108713 from jiahuif-forks/feature/openapi/intstr-any-of
    • dd2f21c fix the doc about generateName conflict
    • 2866f23 oneOf types for IntOrString
    • 7b6c37e oneOf types for Quantity
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • ⬆️ Bump k8s.io/api from 0.23.6 to 0.24.0

    ⬆️ Bump k8s.io/api from 0.23.6 to 0.24.0

    Bumps k8s.io/api from 0.23.6 to 0.24.0.

    Commits
    • 988d7a1 Update dependencies to v0.24.0 tag
    • 0bf1867 Revert "Introduce APIs to support multiple ClusterCIDRs (#108290)"
    • 2de6996 Merge pull request #109241 from ravisantoshgudimetla/sts-ar-optional
    • 7734d26 [sts] api: Make available replicas optional
    • 38ec09a [sts] Generated: Make available replicas optional
    • ec84bcb Merge pull request #109178 from liggitt/openapi-master
    • e3797f2 Drop enum tag from certificate request condition
    • 02c2207 Merge pull request #109151 from Argh4k/r-101566
    • 1eb735b Revert "Field status.hostIPs added for Pod (#101566)"
    • 290a349 Introduce APIs to support multiple ClusterCIDRs (#108290)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • ⬆️ Bump k8s.io/api from 0.23.5 to 0.23.6

    ⬆️ Bump k8s.io/api from 0.23.5 to 0.23.6

    Bumps k8s.io/api from 0.23.5 to 0.23.6.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Feature ability to monitor pvc kubernetes

    Feature ability to monitor pvc kubernetes

    Is your feature request related to a problem? Please describe. PVC is great representation of disk in kubernetes, but one problem, no simple problem when we want to monitor usage of this except tricky bash script and setup complex monitoring stacks like grafana and so on

    Describe the solution you'd like I think we just need a simplest feature for kwatch right, like when pvc touch 80% or higher send notification to third party and so on whatever, simple problem doesn't need complex installation/solution

    opened by ayamGelo 0
  • pods are not functioning properly

    pods are not functioning properly

    I am running in k8s built on a physical machine. When I create it according to the readme, the pod cannot run normally

    [[email protected] kwatch]# kubectl get pod,cm -n kwatch -o wide
    NAME                          READY   STATUS             RESTARTS   AGE   IP             NODE    NOMINATED NODE   READINESS GATES
    pod/kwatch-6d8646995d-485qt   0/1     CrashLoopBackOff   8          24m   10.244.10.82   node4   <none>           <none>
    
    NAME               DATA   AGE
    configmap/kwatch   1      29m
    [[email protected] kwatch]# 
    

    I didn't make any changes to deploy.yaml file I only changed config.yaml file and received alerts using Telegram Below is my config.yaml file

    apiVersion: v1
    kind: Namespace
    metadata:
      name: kwatch
    ---
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: kwatch
      namespace: kwatch
    data:
      config.yaml: |
        ignoreFailedGracefulShutdown: true
        alert:
          telegram:
              token: 5207405246:AAE6_pOIjC065T9agYg9xsePrfwZR8yuggU
              chatId: 1732858888
    

    The pod is restarting continuously, the log is as follows:

    [[email protected] kwatch]# kubectl logs -f kwatch-6d8646995d-485qt -n kwatch
    time="2022-03-29T11:37:02Z" level=info msg=":tada: [email protected] just started!"
    time="2022-03-29T11:37:02Z" level=info msg="using config file: /config/config.yaml"
    panic: interface conversion: interface {} is int, not string
    
    goroutine 1 [running]:
    github.com/abahmed/kwatch/util.GetProviders()
    	/build/util/util.go:135 +0x12c5
    main.main()
    	/build/main.go:36 +0x1f3
    [[email protected] kwatch]# 
    

    Event information is:

    Events:
      Type     Reason     Age                 From               Message
      ----     ------     ----                ----               -------
      Normal   Scheduled  25m                 default-scheduler  Successfully assigned kwatch/kwatch-6d8646995d-485qt to node4
      Normal   Pulled     25m                 kubelet            Successfully pulled image "ghcr.io/abahmed/kwatch:v0.5.0" in 2.161757876s
      Normal   Pulled     25m                 kubelet            Successfully pulled image "ghcr.io/abahmed/kwatch:v0.5.0" in 2.517168612s
      Normal   Pulled     24m                 kubelet            Successfully pulled image "ghcr.io/abahmed/kwatch:v0.5.0" in 2.838614125s
      Normal   Created    24m (x4 over 25m)   kubelet            Created container kwatch
      Normal   Pulled     24m                 kubelet            Successfully pulled image "ghcr.io/abahmed/kwatch:v0.5.0" in 7.035699291s
      Normal   Started    24m (x4 over 25m)   kubelet            Started container kwatch
      Normal   Pulling    23m (x5 over 25m)   kubelet            Pulling image "ghcr.io/abahmed/kwatch:v0.5.0"
      Warning  BackOff    7s (x101 over 25m)  kubelet            Back-off restarting failed container
    

    My kubernetes cluster version is v1.19.4. OS version is CentOS Linux release 7.6.1810 (Core) I don't know what's causing it please give me an answer, thanks

    opened by happinesslijian 4
  • x509: certificate signed by unknown authority

    x509: certificate signed by unknown authority

    Describe the bug Although I set Telegram channel webhook address in config.yaml file, I didn't get any notifications.

    Actual behavior My config:

    data:
      config.yaml: |
        maxRecentLogLines: 10
        ignoreFailedGracefulShutdown: true
        alert:
          telegram:
              token: XXX
              chatId: -YYY
    

    Error in pod logs:

    level=error msg="failed to send event with Telegram: Post "https://api.telegram.org/botXXX/sendMessage": x509: certificate signed by unknown authority"

    Expected behavior Should get kwatch notification to my Telegram channel.

    Version/Commit A version or commit of kwatch: 0.5.0 I'm run kwatch in k8s (1.17), as described in manual.

    opened by rtzra 0
  • Ignore pods scaling down due to cluster-autoscaler

    Ignore pods scaling down due to cluster-autoscaler

    Is your feature request related to a problem? Please describe. I am getting errors from expected operations from cluster-autoscaler.

    [2022-03-24 14:53:54 +0000 UTC] ScaleDown deleting pod for node scale down
    [2022-03-24 14:53:55 +0000 UTC] Killing Stopping container kube-proxy
    

    Describe the solution you'd like I would like those to have the option for those messages to be ignored

    opened by cinderellagarage 0
  • Ability to send a more compact/dense messages to slack

    Ability to send a more compact/dense messages to slack

    Is your feature request related to a problem? Please describe. I would like to see a more compact notifications (at least on Slack), as the current format takes up a lot of screen space and I wish the information would be more dense and less verbose.

    Describe the solution you'd like Example what it looks currently (screenshot is from the readme): image

    Translating to text:

    Pod Crash
    
    There is an issue with your pod!
    
    Name                             Container
    mytest                           nginx
    
    Namespace                        Reason
    default                          ErrImagePull
    
    Events
    …
    …
    …
    
    Logs:
    …
    

    It would be great if there was an option to have a condensed format, example:

    kwatch: Pod Crash: default/mytest:nginx: ErrImagePull
    

    Further it would be great if both "Events" and "Logs" can be tuned to only show the last n lines, ranging from 0 to Inf or so.

    With n being 1:

    kwatch: Pod Crash: default/mytest:nginx: ErrImagePull
    
    Events:
    <last line>
    
    Logs:
    <last line>
    

    If either the last lines for Events/Logs is 0, it shouldn't be displayed at all.

    (well, maxRecentLogLines is already there for "Logs", just wanted to mention it in regards for "Events")

    WDYT? Thank you for considering 🙏🏼

    opened by mfn 0
  • MS Teams Bad request issue

    MS Teams Bad request issue

    Describe the bug Although I set MS Teams channel webhook address in config.yaml file, I didn't get any notifications.

    Expected behavior Should get kwatch notification to my MS Teams channel.

    Actual behavior When I checked the pod logs, it gives the following error:

    time="2022-02-23T13:23:01Z" level=error msg="failed to send msg with Microsoft Teams: call to teams alert returned status code 400: Bad payload received by generic incoming webhook."

    Version/Commit 0.4.0

    opened by akoken 5
Releases(v0.5.0)
  • v0.5.0(Mar 19, 2022)

    What's Changed

    • Use slack blocks in slack handler by @simonfrey in https://github.com/abahmed/kwatch/pull/63
    • Add justwatch.com as user to users section by @simonfrey in https://github.com/abahmed/kwatch/pull/66
    • Feature/allow to disable update check by @simonfrey in https://github.com/abahmed/kwatch/pull/67
    • ⬆️ Bump github.com/slack-go/slack from 0.10.1 to 0.10.2 by @dependabot in https://github.com/abahmed/kwatch/pull/69
    • Add namespace forbid list, to allow all namespaces except certain ones by @simonfrey in https://github.com/abahmed/kwatch/pull/70
    • add(Helm): by @yaskinny in https://github.com/abahmed/kwatch/pull/74
    • ⬆️ Bump k8s.io/client-go from 0.23.3 to 0.23.4 by @dependabot in https://github.com/abahmed/kwatch/pull/73
    • ⬆️ Bump github.com/bwmarrin/discordgo from 0.23.2 to 0.24.0 by @dependabot in https://github.com/abahmed/kwatch/pull/77
    • ⬆️ Bump k8s.io/client-go from 0.23.4 to 0.23.5 by @dependabot in https://github.com/abahmed/kwatch/pull/80
    • :tada: release v0.5.0 by @abahmed in https://github.com/abahmed/kwatch/pull/81

    How to Upgrade

    There are no breaking changes, just deploy the new version using

    kubectl apply -f https://raw.githubusercontent.com/abahmed/kwatch/v0.5.0/deploy/deploy.yaml
    

    New Contributors

    • @yaskinny made their first contribution in https://github.com/abahmed/kwatch/pull/74

    Full Changelog: https://github.com/abahmed/kwatch/compare/v0.4.0...v0.5.0

    Source code(tar.gz)
    Source code(zip)
  • v0.4.0(Feb 2, 2022)

    What's Changed

    • chore: add kwatch logo to README by @amgadramses in https://github.com/abahmed/kwatch/pull/42
    • provider/telegram.go: add header content-type json by @romualdofernandes in https://github.com/abahmed/kwatch/pull/45
    • build(deps): bump k8s.io/apimachinery from 0.23.1 to 0.23.2 by @dependabot in https://github.com/abahmed/kwatch/pull/46
    • build(deps): bump k8s.io/api from 0.23.1 to 0.23.2 by @dependabot in https://github.com/abahmed/kwatch/pull/47
    • build(deps): bump k8s.io/client-go from 0.23.1 to 0.23.2 by @dependabot in https://github.com/abahmed/kwatch/pull/48
    • :rocket: support Mattermost for alerts by @abahmed in https://github.com/abahmed/kwatch/pull/53
    • Add PodInitializing as ignored reason by @simonfrey in https://github.com/abahmed/kwatch/pull/54
    • Allow to ignore if a container has to forcefully shutdown due to graceful shutdown not working by @simonfrey in https://github.com/abahmed/kwatch/pull/58
    • build(deps): bump k8s.io/client-go from 0.23.2 to 0.23.3 by @dependabot in https://github.com/abahmed/kwatch/pull/55
    • 🚀 Support Opsgenie by @abahmed in https://github.com/abahmed/kwatch/pull/60
    • 🎉 release v0.4.0 by @abahmed in https://github.com/abahmed/kwatch/pull/61

    How to Upgrade

    There are no breaking changes, just deploy the new version using

    kubectl apply -f https://raw.githubusercontent.com/abahmed/kwatch/v0.4.0/deploy/deploy.yaml
    

    New Contributors

    • @romualdofernandes made their first contribution in https://github.com/abahmed/kwatch/pull/45
    • @dependabot made their first contribution in https://github.com/abahmed/kwatch/pull/46
    • @simonfrey made their first contribution in https://github.com/abahmed/kwatch/pull/54

    Full Changelog: https://github.com/abahmed/kwatch/compare/v0.3.0...v0.4.0

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(Jan 4, 2022)

    What's Changed

    • 🐛 fix Microsoft Teams incoming webhook API throws 400 (bad request) due to malformed JSON POST payload caused by illegal escape characters by @Narasimha1997 in https://github.com/abahmed/kwatch/pull/35
    • ♻️ Add tests to util and memory by @abahmed in https://github.com/abahmed/kwatch/pull/36
    • 🐛 fix dependabot config by @abahmed in https://github.com/abahmed/kwatch/pull/37
    • 🚀 feature: support rocket chat as a provider fixes abahmed/kwatch#25 by @Rishats in https://github.com/abahmed/kwatch/pull/38
    • ♻️ add tests for rocket chat by @abahmed in https://github.com/abahmed/kwatch/pull/39
    • 🎉 release v0.3.0 by @abahmed in https://github.com/abahmed/kwatch/pull/40

    New Contributors

    • @Narasimha1997 made their first contribution in https://github.com/abahmed/kwatch/pull/35
    • @Rishats made their first contribution in https://github.com/abahmed/kwatch/pull/38

    Full Changelog: https://github.com/abahmed/kwatch/compare/v0.2.0...v0.3.0

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Dec 30, 2021)

    What's Changed

    • fix: escape JSON breaking characters in PagerDuty request body by @amgadramses in https://github.com/abahmed/kwatch/pull/23
    • feature: notify periodically on new version updates by @amgadramses in https://github.com/abahmed/kwatch/pull/29
    • Feature: support telegram as a provider by @Andrew44Ashraf in https://github.com/abahmed/kwatch/pull/19
    • feature: support teams as a provider by @Andrew44Ashraf in https://github.com/abahmed/kwatch/pull/31
    • fix: add image for readme by @Andrew44Ashraf in https://github.com/abahmed/kwatch/pull/32
    • :tada: release v0.2.0 by @abahmed in https://github.com/abahmed/kwatch/pull/33

    Full Changelog: https://github.com/abahmed/kwatch/compare/v0.1.0...v0.2.0

    Source code(tar.gz)
    Source code(zip)
  • v0.1.0(Dec 22, 2021)

    What's Changed

    • ♻️ welcome msg version by @Andrew44Ashraf in https://github.com/abahmed/kwatch/pull/16
    • 🎉 feature: select namespaces you want to hear from by @Andrew44Ashraf in https://github.com/abahmed/kwatch/pull/17
    • 🚀 support storage to avoid duplicate notifications by @abahmed in https://github.com/abahmed/kwatch/pull/20
    • 🎉 release v0.1.0 by @abahmed in https://github.com/abahmed/kwatch/pull/21

    New Contributors

    • @Andrew44Ashraf made their first contribution in https://github.com/abahmed/kwatch/pull/16

    Full Changelog: https://github.com/abahmed/kwatch/compare/v0.0.7...v0.1.0

    Source code(tar.gz)
    Source code(zip)
  • v0.0.7(Dec 19, 2021)

    What's Changed

    • fix: update config name by @amgadramses in https://github.com/abahmed/kwatch/pull/14
    • release v0.0.7 by @abahmed in https://github.com/abahmed/kwatch/pull/15

    Full Changelog: https://github.com/abahmed/kwatch/compare/v0.0.6...v0.0.7

    Source code(tar.gz)
    Source code(zip)
  • v0.0.6(Dec 19, 2021)

    What's Changed

    • release v0.0.6 by @abahmed in https://github.com/abahmed/kwatch/pull/13

    Full Changelog: https://github.com/abahmed/kwatch/compare/v0.0.5...v0.0.6

    Source code(tar.gz)
    Source code(zip)
  • v0.0.5(Dec 19, 2021)

    What's Changed

    • feature: Adding discord provider by @AbdelrahmanManz in https://github.com/abahmed/kwatch/pull/9
    • feature: add PagerDuty to event providers by @amgadramses in https://github.com/abahmed/kwatch/pull/10
    • fix: use providers with added configurations & update deploy files by @amgadramses in https://github.com/abahmed/kwatch/pull/11
    • Support versioning by @abahmed in https://github.com/abahmed/kwatch/pull/12

    New Contributors

    • @AbdelrahmanManz made their first contribution in https://github.com/abahmed/kwatch/pull/9
    • @amgadramses made their first contribution in https://github.com/abahmed/kwatch/pull/10

    Full Changelog: https://github.com/abahmed/kwatch/compare/v0.0.4...v0.0.5

    Source code(tar.gz)
    Source code(zip)
  • v0.0.4(Dec 14, 2021)

    What's Changed

    • Use Github Container Registry by @abahmed in https://github.com/abahmed/kwatch/pull/7

    Full Changelog: https://github.com/abahmed/kwatch/compare/v0.0.3...v0.0.4

    Source code(tar.gz)
    Source code(zip)
  • v0.0.3(Nov 30, 2021)

  • v0.0.2(Nov 29, 2021)

Owner
Abdelrahman Ahmed
Abdelrahman Ahmed
Kubernetes monitor

模式说明 对应配置项为collect_mode cadvisor_plugin | kubelet_agent | server_side 三选一 代码为同一套代码 模式名称 部署运行方式 collect_mode配置 说明 夜莺插件形式采集cadvisor raw api 可执行的插件由夜莺age

null 41 Jun 20, 2022
Monitor your network and internet speed with Docker & Prometheus

Stand-up a Docker Prometheus stack containing Prometheus, Grafana with blackbox-exporter, and speedtest-exporter to collect and graph home Internet reliability and throughput.

Jeff Geerling 1.2k Jun 23, 2022
Hidra is a tool to monitor all of your services without making a mess.

hidra Don't lose your mind monitoring your services. Hidra lends you its head. ICMP If you want to use ICMP scenario, you should activate on your syst

null 7 Jun 14, 2022
Cloudprober is a monitoring software that makes it super-easy to monitor availability and performance of various components of your system.

Cloudprober is a monitoring software that makes it super-easy to monitor availability and performance of various components of your system. Cloudprobe

null 151 Jun 21, 2022
Monitor the performance of your Ethereum 2.0 staking pool.

eth-pools-metrics Monitor the performance of your Ethereum 2.0 staking pool. Just input the withdrawal credentials that were used in the deposit contr

Alvaro 7 May 24, 2022
MySQL Monitor Script

README.md Introduction mymon(MySQL-Monitor) 是Open-Falcon用来监控MySQL数据库运行状态的一个插件,采集包括global status, global variables, slave status以及innodb status等MySQL运行

Open-Falcon 260 May 31, 2022
Open Source Supreme Monitor Based on GoLang

Open Source Supreme Monitor Based on GoLang A module built for personal use but ended up being worthy to have it open sourced.

SneakyKiwi 19 May 6, 2022
SigNoz helps developer monitor applications and troubleshoot problems in their deployed applications

SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. ?? ??

SigNoz 7k Jul 2, 2022
Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

Hamed Yousefi 22 Jun 30, 2022
SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. 🔥 🖥. 👉 Open source Application Performance Monitoring (APM) & Observability tool

Monitor your applications and troubleshoot problems in your deployed applications, an open-source alternative to DataDog, New Relic, etc. Documentatio

SigNoz 4.7k Sep 24, 2021
Go Huobi Market Price Data Monitor

火币(Huobi)价格监控 由于部分交易对火币官方未提供价格监控,因此写了个小程序,长期屯币党可以用它来提醒各种现货价格。 该工具只需要提前安装Go环境和Redis即可。 消息推送使用的「钉钉」,需要提前配置好钉钉机器人(企业群类型、带webhook的机器人)。 使用方法 下载本项目 拷贝根目录下

ROC 4 Jun 29, 2022
Productivity analytics monitor 🧮

Productivity analytics monitor ??

John Forstmeier 0 Oct 8, 2021
Monitor a process and trigger a notification.

noti Monitor a process and trigger a notification. Never sit and wait for some long-running process to finish. Noti can alert you when it's done. You

Jaime Piña 3.9k Jun 29, 2022
Gomon - Go language based system monitor

Copyright © 2021 The Gomon Project. Welcome to Gomon, the Go language based system monitor Welcome to Gomon, the Go language based system monitor Over

zosmac 2 May 17, 2022
Fast, zero config web endpoint change monitor

web monitor fast, zero config web endpoint change monitor. for comparing responses, a selected list of http headers and the full response body is stor

Robin Verton 41 Jun 21, 2022
Monitor pipe progress via output to standard error.

Pipe Monitor Monitor pipe progress via output to standard error. Similar to functionality provided by the Pipe Viewer (pv) command, except this comman

SoftCoil Development 5 May 2, 2022
With this package you can create your own syslog server with your own handlers for different kind of syslog messages

Using this library you can easy implement your own syslog server that: Can listen on multiple UDP ports and unix domain sockets. Can pass parsed syslo

Michał Derkacz 68 Dec 15, 2021
BRUS - Parses your web server (e.g. nginx) log files and checks with GreyNoise how much noise your website is exposed to.

BRUS bbbbbb rrrrrr u u sssss b b r r u u s bbbbbb rrrrrr u u sssss b b r r u u s bbbbbb r r

dubs3c 1 May 29, 2022