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

Comments
  • 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

    enhancement 
    opened by akoken 5
  • feature(slack): Add option to specify channel name

    feature(slack): Add option to specify channel name

    Slack supports specifying channel in the message body so that the same webhook can send messages in different channels. It would be useful to have this feature.

    enhancement 
    opened by dineshdb 5
  • 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

    enhancement 
    opened by happinesslijian 4
  • 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
  • Feature: Allow to run without cluster permissions

    Feature: Allow to run without cluster permissions

    Is your feature request related to a problem? Please describe. It will be useful if kwatch can run in a namespace with only namespace permissions. This will allow to run in multitenant environments easier.

    Currently deploying in with namespace permissions will error with message:

    E0711 12:25:32.001077       1 reflector.go:138] pkg/mod/k8s.io/[email protected]/tools/cache/reflector.go:167: Failed to watch *v1.Pod: failed to list *v1.Pod: pods is forbidden: User "system:serviceaccount:customer1:kwatch-kwatch" cannot list resource "pods" in API group "" at the cluster scope
    

    Describe the solution you'd like Select if you want to run a single kwatch instance per cluster or a single kwatch instance per namespace. Namespace admins should be able to control notifications for their own namespace.

    opened by kdihalas 2
  • ⬆️ Bump k8s.io/apimachinery from 0.25.3 to 0.25.4

    ⬆️ Bump k8s.io/apimachinery from 0.25.3 to 0.25.4

    Bumps k8s.io/apimachinery from 0.25.3 to 0.25.4.

    Commits
    • 4fbe8e4 Merge pull request #112218haoruan/automated-cherry-pick-of-#111936
    • b4db414 Marshal MicroTime to json and proto at the same precision
    • See full diff 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.25.3 to 0.25.4

    ⬆️ Bump k8s.io/api from 0.25.3 to 0.25.4

    Bumps k8s.io/api from 0.25.3 to 0.25.4.

    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.25.2 to 0.25.3

    ⬆️ Bump k8s.io/api from 0.25.2 to 0.25.3

    Bumps k8s.io/api from 0.25.2 to 0.25.3.

    Commits
    • 8384a1b Update dependencies to v0.25.3 tag
    • e7b469b Merge pull request #112808cheftako/automated-cherry-pick-of-#112689
    • 1102e6f Updated vendor to the new preferred versions.
    • See full diff 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
  • Ignore Killing Stopped container

    Ignore Killing Stopped container

    Is your feature request related to a problem? Please describe.

    Kwatch sends notifications anytime a pod is killed as part of a normal Argo Rollouts update.

    Example:

    image

    Describe the solution you'd like Ignore pods that are killed as part of normal kubernetes operations.

    opened by beejiujitsu 0
  • ignoreContainerNames is not working

    ignoreContainerNames is not working

    Describe the bug ignoreContainerNames setting in configuration file is not working.

    To Reproduce Use config with defined ignoreContainerNames eg.:

    / # cat /config/config.yaml 
    maxRecentLogLines: 10
    ignoreFailedGracefulShutdown: true
    ignoreContainerNames:
      - article-extractor
    alert:
      slack:
        webhook: https://hooks.slack.com/services/XXX
    
    

    Expected behavior Don't send notification about ignored container

    Actual behavior time="2022-11-15T13:58:52Z" level=info msg="sending event: {Name:article-extractor-57b7d64674-xl7wd Container:article-extractor Namespace:services Reason:CrashLoopBackOff Events:[2022-11-15 13:52:17 +0000 UTC] Pulled Container.(trimed)" Version/Commit 0.6.1

    opened by adamw-linadm 1
  • Describe the

    Describe the "reasons" config-field

    Is your feature request related to a problem? Please describe. As it is a very handy feature to not alert on every pod shutting down/killing/whatever event, the reasons field could be very handy. However, there is a) no mentioning about it except this github repo (its missing on the page) b) there is no documentation about it (e.g. about what potential values are)

    This makes it very hard to start using it Describe the solution you'd like Having a config-field which expects certain enums should document the enum-values

    opened by Figedi 0
  • Add Cluster Name to kwatch notifications

    Add Cluster Name to kwatch notifications

    Our environments consist of hundreds of clusters. We generally have the daemonsets running on them. So, when a daemonset pod crashes. its very hard to figure out on which cluster it crashed since the namespace its deployed to will be the same accross all clusters. For example, fluent-bit will be deployed to all clusters in the same namespace. Can the cluster name please be added to the kwatch notifications? This would help us immensely.

    enhancement 
    opened by Anindya-Banerjee 0
  • MultiArch Docker image

    MultiArch Docker image

    Hello, the Kubernetes cluster I use is only with ARM machines (Raspberry Pi, Rock64). Why not create a multi-arch Docker image to ensure compatibility of Amd64 and Arm64 at the same time.

    Documentation : https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/

    enhancement 
    opened by QJoly 1
  • No information displayed

    No information displayed

    Describe the bug I get a kwatch notification in teams with no information that can help me to know what kubernetes component failed

    2022-08-16 16_02_32-Window

    I already have received notification with correct inforamtion

    Expected behavior Display the name of the pod that failed.

    Actual behavior I gives me no information about the kubernetes component that failed.

    Version/Commit 0.6.1

    opened by CondormanFr 0
Releases(v0.6.1)
  • v0.6.1(Jul 24, 2022)

    What's Changed

    • 🎉 release v0.6.0 by @abahmed in https://github.com/abahmed/kwatch/pull/118
    • 🎉 release v0.6.1 by @abahmed in https://github.com/abahmed/kwatch/pull/119

    Full Changelog: https://github.com/abahmed/kwatch/compare/v0.6.0...v0.6.1

    Source code(tar.gz)
    Source code(zip)
  • v0.6.0(Jul 24, 2022)

    What's Changed

    • Improve Documentation by @oguzhanoyan in https://github.com/abahmed/kwatch/pull/87
    • Refactor/helm by @eremeevfd in https://github.com/abahmed/kwatch/pull/88
    • ⬆️ Bump github.com/spf13/viper from 1.10.1 to 1.11.0 by @dependabot in https://github.com/abahmed/kwatch/pull/89
    • ⬆️ Bump github.com/bwmarrin/discordgo from 0.24.0 to 0.25.0 by @dependabot in https://github.com/abahmed/kwatch/pull/90
    • ⬆️ Bump k8s.io/client-go from 0.23.5 to 0.23.6 by @dependabot in https://github.com/abahmed/kwatch/pull/93
    • ⬆️ Bump github.com/slack-go/slack from 0.10.2 to 0.10.3 by @dependabot in https://github.com/abahmed/kwatch/pull/94
    • Fix typo by @unixfox in https://github.com/abahmed/kwatch/pull/95
    • ⬆️ Bump k8s.io/client-go from 0.23.6 to 0.24.0 by @dependabot in https://github.com/abahmed/kwatch/pull/96
    • ⬆️ Bump k8s.io/client-go from 0.24.0 to 0.24.1 by @dependabot in https://github.com/abahmed/kwatch/pull/99
    • ⬆️ Bump github.com/spf13/viper from 1.11.0 to 1.12.0 by @dependabot in https://github.com/abahmed/kwatch/pull/102
    • Allow filtering by reasons by @simonfrey in https://github.com/abahmed/kwatch/pull/104
    • feat: truncate logs to respect Discord's API requirements by @Tchoupinax in https://github.com/abahmed/kwatch/pull/105
    • ⬆️ Bump github.com/slack-go/slack from 0.10.3 to 0.11.0 by @dependabot in https://github.com/abahmed/kwatch/pull/106
    • ⬆️ Bump k8s.io/client-go from 0.24.1 to 0.24.2 by @dependabot in https://github.com/abahmed/kwatch/pull/107
    • Fix copy-paste mistake for reasons parsing by @simonfrey in https://github.com/abahmed/kwatch/pull/110
    • Run in a namespace context by @kdihalas in https://github.com/abahmed/kwatch/pull/115
    • ⬆️ Bump k8s.io/client-go from 0.24.2 to 0.24.3 by @dependabot in https://github.com/abahmed/kwatch/pull/114
    • ⬆️ Bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0 by @dependabot in https://github.com/abahmed/kwatch/pull/116
    • ⬆️ Bump github.com/slack-go/slack from 0.11.0 to 0.11.1 by @dependabot in https://github.com/abahmed/kwatch/pull/117

    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

    • @oguzhanoyan made their first contribution in https://github.com/abahmed/kwatch/pull/87
    • @eremeevfd made their first contribution in https://github.com/abahmed/kwatch/pull/88
    • @unixfox made their first contribution in https://github.com/abahmed/kwatch/pull/95
    • @Tchoupinax made their first contribution in https://github.com/abahmed/kwatch/pull/105
    • @kdihalas made their first contribution in https://github.com/abahmed/kwatch/pull/115

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

    Source code(tar.gz)
    Source code(zip)
  • 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 42 Nov 18, 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 Nov 29, 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 8 Nov 8, 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 223 Dec 2, 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 25 Nov 16, 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 Nov 9, 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 18 Nov 4, 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 10.6k Dec 4, 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 40 Nov 10, 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 6 Oct 13, 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 4k Nov 28, 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 3 Nov 18, 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 39 Nov 17, 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 6 Nov 14, 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 67 Nov 9, 2022
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