From c837b83ab45d66a1743184d54653537e753e1f14 Mon Sep 17 00:00:00 2001
From: Abdelrahman Ahmed <16365652+abahmed@users.noreply.github.com>
Date: Wed, 29 May 2024 23:18:56 +0300
Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20Support=20zenduty=20(#302)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* 🚀 support zenduty
* 🚀 support zenduty
---
README.md | 12 +++
alertmanager/alertmanager.go | 4 +
alertmanager/alertmanager_test.go | 3 +
alertmanager/zenduty/zenduty.go | 150 +++++++++++++++++++++++++++
alertmanager/zenduty/zenduty_test.go | 131 +++++++++++++++++++++++
assets/zenduty.png | Bin 0 -> 335024 bytes
6 files changed, 300 insertions(+)
create mode 100644 alertmanager/zenduty/zenduty.go
create mode 100644 alertmanager/zenduty/zenduty_test.go
create mode 100644 assets/zenduty.png
diff --git a/README.md b/README.md
index ead3a994..683106a3 100644
--- a/README.md
+++ b/README.md
@@ -285,6 +285,18 @@ title
| `alert.feishu.webhook` | FeiShu bot webhook URL |
| `alert.feishu.title` | Customized title in message |
+#### Zenduty
+
+
+
+
+If you want to enable Zenduty, provide IntegrationKey with optional alert type
+
+| Parameter | Description |
+|:-------------------------------|:----------------------------|
+| `alert.zenduty.integrationKey` | Zenduty integration Key |
+| `alert.zenduty.alertType` | Optional alert type of incident: critical, acknowledged, resolved, error, warning, info (default: critical) |
+
#### Custom webhook
If you want to enable custom webhook, provide url with optional headers and
diff --git a/alertmanager/alertmanager.go b/alertmanager/alertmanager.go
index 62bc428b..8bf1cca9 100644
--- a/alertmanager/alertmanager.go
+++ b/alertmanager/alertmanager.go
@@ -17,6 +17,7 @@ import (
"github.com/abahmed/kwatch/alertmanager/teams"
"github.com/abahmed/kwatch/alertmanager/telegram"
"github.com/abahmed/kwatch/alertmanager/webhook"
+ "github.com/abahmed/kwatch/alertmanager/zenduty"
"github.com/abahmed/kwatch/config"
"github.com/abahmed/kwatch/event"
"github.com/sirupsen/logrus"
@@ -67,7 +68,10 @@ func (a *AlertManager) Init(
pvdr = feishu.NewFeiShu(v, appCfg)
} else if lowerCaseKey == "webhook" {
pvdr = webhook.NewWebhook(v, appCfg)
+ } else if lowerCaseKey == "zenduty" {
+ pvdr = zenduty.NewZenduty(v, appCfg)
}
+
if !reflect.ValueOf(pvdr).IsNil() {
a.providers = append(a.providers, pvdr)
}
diff --git a/alertmanager/alertmanager_test.go b/alertmanager/alertmanager_test.go
index 46afa511..4ca311ab 100644
--- a/alertmanager/alertmanager_test.go
+++ b/alertmanager/alertmanager_test.go
@@ -89,6 +89,9 @@ func TestGetProviders(t *testing.T) {
"webhook": {
"url": "test",
},
+ "zenduty": {
+ "integrationKey": "test",
+ },
}
alertmanager := AlertManager{}
diff --git a/alertmanager/zenduty/zenduty.go b/alertmanager/zenduty/zenduty.go
new file mode 100644
index 00000000..c25fc56d
--- /dev/null
+++ b/alertmanager/zenduty/zenduty.go
@@ -0,0 +1,150 @@
+package zenduty
+
+import (
+ "bytes"
+ "encoding/json"
+ "fmt"
+ "io"
+ "net/http"
+ "slices"
+
+ "github.com/abahmed/kwatch/config"
+ "github.com/abahmed/kwatch/constant"
+ "github.com/abahmed/kwatch/event"
+ "github.com/sirupsen/logrus"
+)
+
+const (
+ defaultZendutyTitle = "kwatch detected a crash in pod: %s"
+ defaultZendutyText = "There is an issue with container (%s) in pod (%s)"
+ zendutyAPIURL = "https://www.zenduty.com/api/events"
+)
+
+var AlertTypes = []string{
+ "critical",
+ "acknowledged",
+ "resolved",
+ "error",
+ "warning",
+ "info",
+}
+
+type Zenduty struct {
+ integrationkey string
+ url string
+ alertType string
+
+ // reference for general app configuration
+ appCfg *config.App
+}
+
+type zendutyPayload struct {
+ Message string `json:"message"`
+ Summary string `json:"summary"`
+ AlertType string `json:"alert_type"`
+}
+
+// NewZenduty returns new zenduty instance
+func NewZenduty(config map[string]interface{}, appCfg *config.App) *Zenduty {
+ integrationKey, ok := config["integrationKey"].(string)
+ if !ok || len(integrationKey) == 0 {
+ logrus.Warnf("initializing zenduty with empty webhook url")
+ return nil
+ }
+
+ logrus.Infof("initializing zenduty with secret apikey")
+
+ // If alert type is not provided, or provided with invalid value
+ // it will fallback to critical type
+ alertType, ok := config["alertType"].(string)
+ if !ok || !slices.Contains(AlertTypes, alertType) {
+ alertType = "critical"
+ }
+
+ return &Zenduty{
+ integrationkey: integrationKey,
+ url: zendutyAPIURL,
+ alertType: alertType,
+ appCfg: appCfg,
+ }
+}
+
+// Name returns name of the provider
+func (m *Zenduty) Name() string {
+ return "Zenduty"
+}
+
+// SendMessage sends text message to the provider
+func (m *Zenduty) SendMessage(msg string) error {
+ return nil
+}
+
+// SendEvent sends event to the provider
+func (m *Zenduty) SendEvent(e *event.Event) error {
+ return m.sendAPI(m.buildMessage(e))
+}
+
+// sendAPI sends http request to Zenduty API
+func (m *Zenduty) sendAPI(content []byte) error {
+ client := &http.Client{}
+ buffer := bytes.NewBuffer(content)
+ url := m.url + "/" + m.integrationkey + "/"
+ request, err := http.NewRequest(http.MethodPost, url, buffer)
+ if err != nil {
+ return err
+ }
+
+ response, err := client.Do(request)
+ if err != nil {
+ return err
+ }
+ defer response.Body.Close()
+
+ if response.StatusCode != 201 {
+ body, _ := io.ReadAll(response.Body)
+ return fmt.Errorf(
+ "call to zenduty alert returned status code %d: %s",
+ response.StatusCode,
+ string(body))
+ }
+
+ return nil
+}
+
+func (m *Zenduty) buildMessage(e *event.Event) []byte {
+ payload := zendutyPayload{
+ AlertType: m.alertType,
+ }
+
+ logs := constant.DefaultLogs
+ if len(e.Logs) > 0 {
+ logs = (e.Logs)
+ }
+
+ events := constant.DefaultEvents
+ if len(e.Events) > 0 {
+ events = (e.Events)
+ }
+
+ payload.Message = fmt.Sprintf(defaultZendutyTitle, e.Name)
+ payload.Summary = fmt.Sprintf(
+ "An alert has been triggered for\n\n"+
+ "cluster: %s\n"+
+ "Pod Name: %s\n"+
+ "Container: %s\n"+
+ "Namespace: %s\n"+
+ "Reason: %s\n\n"+
+ "Events:\n%s\n\n"+
+ "Logs:\n%s\n\n",
+ m.appCfg.ClusterName,
+ e.Name,
+ e.Container,
+ e.Namespace,
+ e.Reason,
+ events,
+ logs,
+ )
+
+ str, _ := json.Marshal(payload)
+ return str
+}
diff --git a/alertmanager/zenduty/zenduty_test.go b/alertmanager/zenduty/zenduty_test.go
new file mode 100644
index 00000000..9ba1b57b
--- /dev/null
+++ b/alertmanager/zenduty/zenduty_test.go
@@ -0,0 +1,131 @@
+package zenduty
+
+import (
+ "net/http"
+ "net/http/httptest"
+ "testing"
+
+ "github.com/abahmed/kwatch/config"
+ "github.com/abahmed/kwatch/event"
+ "github.com/stretchr/testify/assert"
+)
+
+func TestZendutyEmptyConfig(t *testing.T) {
+ assert := assert.New(t)
+
+ c := NewZenduty(map[string]interface{}{}, &config.App{ClusterName: "dev"})
+ assert.Nil(c)
+}
+
+func TestZenduty(t *testing.T) {
+ assert := assert.New(t)
+
+ configMap := map[string]interface{}{
+ "integrationKey": "testtest",
+ }
+ c := NewZenduty(configMap, &config.App{ClusterName: "dev"})
+ assert.NotNil(c)
+
+ assert.Equal(c.Name(), "Zenduty")
+}
+
+func TestSendMessage(t *testing.T) {
+ assert := assert.New(t)
+
+ configMap := map[string]interface{}{
+ "integrationKey": "test",
+ }
+ c := NewZenduty(configMap, &config.App{ClusterName: "dev"})
+ assert.NotNil(c)
+
+ assert.Nil(c.SendMessage("test"))
+}
+
+func TestSendEvent(t *testing.T) {
+ assert := assert.New(t)
+
+ s := httptest.NewServer(
+ http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+ w.WriteHeader(http.StatusCreated)
+ w.Write([]byte(`{"isOk": true}`))
+ }))
+
+ defer s.Close()
+
+ configMap := map[string]interface{}{
+ "integrationKey": "test",
+ }
+ c := NewZenduty(configMap, &config.App{ClusterName: "dev"})
+ assert.NotNil(c)
+
+ c.url = s.URL
+
+ ev := event.Event{
+ Name: "test-pod",
+ Container: "test-container",
+ Namespace: "default",
+ Reason: "OOMKILLED",
+ Logs: "test\ntestlogs",
+ Events: "event1-event2-event3-event1-event2-event3-event1-event2-" +
+ "event3\nevent5\nevent6-event8-event11-event12",
+ }
+ assert.Nil(c.SendEvent(&ev))
+}
+
+func TestSendEventError(t *testing.T) {
+ assert := assert.New(t)
+
+ s := httptest.NewServer(
+ http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+ w.WriteHeader(http.StatusBadGateway)
+ }))
+
+ defer s.Close()
+
+ configMap := map[string]interface{}{
+ "integrationKey": "test",
+ }
+ c := NewZenduty(configMap, &config.App{ClusterName: "dev"})
+ assert.NotNil(c)
+
+ c.url = s.URL
+
+ ev := event.Event{
+ Name: "test-pod",
+ Container: "test-container",
+ Namespace: "default",
+ Reason: "OOMKILLED",
+ Logs: "test\ntestlogs",
+ Events: "event1-event2-event3-event1-event2-event3-event1-event2-" +
+ "event3\nevent5\nevent6-event8-event11-event12",
+ }
+ assert.NotNil(c.SendEvent(&ev))
+}
+
+func TestInvaildHttpRequest(t *testing.T) {
+ assert := assert.New(t)
+
+ configMap := map[string]interface{}{
+ "integrationKey": "test",
+ }
+ c := NewZenduty(configMap, &config.App{ClusterName: "dev"})
+ assert.NotNil(c)
+ c.url = "h ttp://localhost"
+
+ ev := event.Event{
+ Name: "test-pod",
+ Container: "test-container",
+ Namespace: "default",
+ Reason: "OOMKILLED",
+ Logs: "test\ntestlogs",
+ Events: "event1-event2-event3-event1-event2-event3-event1-event2-" +
+ "event3\nevent5\nevent6-event8-event11-event12",
+ }
+ assert.NotNil(c.SendEvent(&ev))
+
+ c = NewZenduty(configMap, &config.App{ClusterName: "dev"})
+ assert.NotNil(c)
+ c.url = "http://localhost:132323"
+
+ assert.NotNil(c.SendEvent(&ev))
+}
diff --git a/assets/zenduty.png b/assets/zenduty.png
new file mode 100644
index 0000000000000000000000000000000000000000..5d4b6e4e705c5b6c05fc61ab1ffb9140633be871
GIT binary patch
literal 335024
zcmb5V1ymc~w+2c}fffqIDORM#t);jZcMA~QDQ*eDr9g2grMMRf?(UT0P@Ldy!CiyB
z^nd?X)_ZHc-@UWeWKL%0_}TmH{e64FRF!40G08AdP*AYtWF^&6P%slvP|%24tE8a731!gu
z_UiPIUd;S}8zXs2^!CwqYy<1m9fevAH~;j^ogbI#8A|zD7~KsDu0_kuq<7`ZPRts*
z_hO+W15Qm(f&ETJPmki~ySgiA9G-|tMGeO1qKY*?^^ktTL1{CJpmxPS38F=rB*nem
z*w{FwQTCrfp9`f)*!c+X8E
z2eH>(!MGS07J+!Y56Qc?sM$L$m(z^EK4RT6t;3yHbf%T=^^h(a1A+F*MkN^*UjrUKwNMYZxuZ&(8;o@LiQ98XZ8tW@|F4)?M1Ktik9jG
z(N%A2mVibN#2IzvOS70L>jH_VYY?j*X+0}TWM<7HPau_+gtd$-ZO(>?xoFkU$Xjby
zu4x(~oie{a(X>;OS>Dwlp1zkO4>Y&lGr{+EVQgJE#_$Tj4B9^96w2$F7bSSM-QW6;
zM-M$|mkk1!OgB!||128H?3L6B!jpjQ(Sf?Dbh+`y4`s#2)Yy2X&yD^38OrU#>bl>xpk?RR
zOdL&=VX7@TIy6k2M1$wYY*{#&Tt3Dx|M+94MSpZcHT?DJS%50;i#0L)q-QxJUvBlE
z<^?1hzhQi0VN9xxHsv2>j5YJbHSqrD6AHBaUph`N^q=tl5^nHn`h_)$vE)DUJm5Pn
zv$)JT9zhp=rA!(g{aWBN+Ev+?KfdNt?}R>&q5T+hBTK6Otwe(7Eq9;D#(NNE&n
zHdYN4Y7%o^M6xN)YXUQ~7;VmkV7ZD}Z6+;$O*4o#fj-<;8)GWMrz?z)(sBjI2_t0X
zgzr^mz(^0t`ra|6yYNzgQK#UE$Q`-A{QGw^1VS$;e)EY7m@sF3RsA$0%_qr+nh9n9
zEl3+vpio2K)M@!4EJ-fylfI(9%7TQDoE?J*{bj7|JD(rI{i%dF^DvY2#74>spHLwV&r4wg9eo2*O`Hu8HL{Tw%^(MGd5&7GlkMy;#%StB-<1Z
zY5nr7)JvF_;`rq0E#6pQL%)H7L7Au0nwl_0m;|@3W`O_@618gxJ1a^rqJq^-?oZCx
z5KQLUC`{HBr)xClTn5WSb=B?*`X{}2@olg#xGrceP@|N=xz1MJa}>ICr5UdAm+I*y
z4u!+&nYo4qhFQL1_f?+d=sKP9fu$X=q*Ap)XYKU_>2`VpaNOtI&)>F8htg9>xSDHa
zb+vT;b-hbXOWAbuYu`+KXyQ*-f{(!`>c>Y$n`^@6rsgOP6c0EL7U%5ed<1j_*acn)
zOt>&ZzU{bdn>J}RQ7qamLYrhbMK?qP|FCcjD=Rq|H+O3$LCoFrtq{a!oLu7^w-D`#YK
zl&ed_rfIfj=)5|)R;NWLX7)`r#ugzs&m-kV{_OLa2o^y^CGkf#8@5B;A8g49qzT1r
zBRXyMRdw<;y2dbLn0=|`P$hd!S#6u6MD0m!vMInGyqI7$STj^*;ONzjQwy#gtSGK&
zwu_!?p2a$tp0AIljy!%%L#8IYmJpbNI+*nXO#j=&Xd&Ly
z)YxJ`-Go-YS5A#|&^Kl>7}suXb^6DV#_=13)$aDsF|ai6H{VUuBU-1~70`VAp}-Wx
z-?n-W$m_-%rkAc4-5lf1x}}G*!r~x~~2>&a2#>8LedLS&FWR#FgTb43Jgc2=BvC
zn^FU0f0HE0$;oEP$?S;?PbLMkC%h5lceUJa=6h^_I$y2XuR%|SUhKXgz_-C)VnBbF
zz~CB5&hIeQpdg1X_dB=8Tpc8STDS3V;=c}zI!aj)$TI&u6gEYWuhjCs-&p-J*DMys
z0A`?)rOADlx375fJ8DAOUST=-Vc$3flWx&MCpk`?+l-{Lfql_xJRqRt6b520D0!tU?@}O+WW=dcr(=9Z6!S
zV4l0O4mVTDAiRJR{Pd^M@TW%tZ3tm8Tb08U?r1wk(EjTl)$NTDA}F
zx^9%ZrMtlqRFC*~3idBbCDlQ;{?h?bSSLZhgX|-uIdq%1^_bevO_KpSQnQKOE!`x3
zloxv`Mi>dXY}R_abuOKpYn)?Mse?X=M~u^~9ISpVru*TD_{exD%W_#t%dU8kLU#`=
z4mJ*>wEaEJRaUFrYDJ(KmZR5IZJdkE_{Xk?qS%zQ*0D|#2SXjH
zd&Q+iEOof`gmxZH+$MXC%Sr7pyN@$kbq9N{W0&73KM3mDEZEw(k{#;nMoh`udbuji
zKrGyT9rg%>G!1#VT*V!rc|pB0j}&Izzq3baRGD^`}ZzlNb&iOXoPfq*^f*24g;VPFI@}d_F9-y<3l~%58G%XSRovo96b7E&0ojkPc%*Y*YX
z?sa*H|Wr3>-9HLzoUW{RIyYmJA;F-Lp5?rqNnr1eJ&nS1MX)I;ilqrno-mCS{xcjDRM
z+3ol%1eL3|xv$U_)5%2j2%!CYTgi>hZS9WUO#Lk?KPswe*;kfFqF=^R6XPiEt&}J>
z_$V&!A~})3w8srJwKSd0=XVSxd~XLL$Wb82kHSqP4~q*=jgPe4?*b6J1Sp}|PjTT-
zM#pkOc2{(ie9Pj9XoWEBFmF;)Vlf|-)YAC$k`f9tGW{Io*%LApG-T=t@)UVO{$FY7CyXel|GNJa1tr89<=MaAQAS?>9^aAY
z-#q_uMg0+sf`R;pk38LfKK;+PF%y2G{%0DE82Jq46F@>v4tWKbfh;T>z*def{e{b9
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 |Q@=Nm
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 =;Cnc
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 |