diff --git a/devops/monitor-docker/main.go b/devops/monitor-docker/main.go index d39b116..978f108 100644 --- a/devops/monitor-docker/main.go +++ b/devops/monitor-docker/main.go @@ -2,6 +2,7 @@ package main import ( "context" + "flag" "fmt" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/container" @@ -12,18 +13,8 @@ import ( "strings" ) -var monitorNames = []string{ - "juno-minio", - "kibana", - "logstash", - "elasticsearch", - "drone-runner", - "drone-server", - "mysql", - "gitlab", - "postgres", - "redis", -} +var args string +var tag string func sendFeedback(msg string) error { url := fmt.Sprintf("https://api.day.app/tFaz24oYAmdzLbJhpnoZCG/%s?group=juno-monitor", msg) @@ -32,6 +23,10 @@ func sendFeedback(msg string) error { } func main() { + flag.StringVar(&args, "args", "", "args a,b,c") + flag.StringVar(&tag, "tag", "", "tag n1") + flag.Parse() + ctx := context.Background() cli, err := client.NewClientWithOpts(client.FromEnv, func(c *client.Client) error { c.ClientVersion() @@ -48,6 +43,7 @@ func main() { } log.Println("get container list success, size: ", len(containerList)) + monitorNames := strings.Split(args, ",") log.Println("monitorNames", monitorNames) containerNames := lo.Map(containerList, func(c types.Container, _ int) string { @@ -57,7 +53,7 @@ func main() { log.Println("container find names", containerNames) for _, targetName := range monitorNames { if lo.IndexOf(containerNames, targetName) == -1 { - err := sendFeedback(fmt.Sprintf("⚠️警告,容器[%s]已挂掉", targetName)) + err := sendFeedback(fmt.Sprintf("⚠️警告,容器[%s]已挂掉,tag: %s", targetName, tag)) if err != nil { log.Println("send feedback failed", err) }