Grafana api (#104)

* TP-27996 | use grafana api to fetch dashboard screenshot
This commit is contained in:
Tushar Kumar Saha
2023-06-20 15:14:15 +05:30
committed by GitHub Enterprise
parent 733bcea4bf
commit 2d4a4d83e2
2 changed files with 18 additions and 11 deletions

View File

@@ -65,7 +65,11 @@ func takeScreenShotUrl(logger *zap.Logger, fileList *[]string, url string) {
}
defer file.Close()
_, err = io.Copy(file, resp.Body)
link := upload(logger, fileName)
link, err := upload(logger, fileName)
if err != nil {
return
}
os.Remove(fileName)
*fileList = append(*fileList, link)
}
@@ -86,24 +90,27 @@ func takeScreenShot(logger *zap.Logger, fileList *[]string, url string) {
if err := os.WriteFile(fileName, buf, 0644); err != nil {
logger.Fatal(err.Error())
}
link := upload(logger, fileName)
link, err := upload(logger, fileName)
if err != nil {
logger.Error("failed", zap.Error(err))
return
}
os.Remove(fileName)
*fileList = append(*fileList, link)
}
func upload(logger *zap.Logger, fileName string) string {
func upload(logger *zap.Logger, fileName string) (string, error) {
s3Operations := s3.NewS3Operations(logger)
s3BucketName := viper.GetString("S3_BUCKET_NAME")
_, err := s3Operations.UploadFile(s3BucketName, filepath.Join(), fileName, fileName)
output, err := s3Operations.UploadFile(s3BucketName, filepath.Join(), fileName, fileName)
link, err := s3Operations.GetFileLink(s3BucketName, fileName)
if err != nil {
logger.Info("upload failed")
logger.Fatal(err.Error())
} else {
logger.Info("upload success")
logger.Info(link)
logger.Error("upload failed", zap.Error(err), zap.Any("output", output))
return "", err
}
return link
logger.Info("upload success", zap.String("link", link), zap.Any("s3_output", output), zap.Error(err))
return link, nil
}
func setHeaders(host string, imageBuf *[]byte) chromedp.Tasks {

View File

@@ -37,7 +37,7 @@ func NewDiagnosticCommandProcessor(logger *zap.Logger, socketModeClient *socketm
diagnosticCommandActions: []action.DiagnosticCommandActionHandler{
action.NewGrafanaActionHandler(logger, socketModeClient, repository),
//action.NewKibanaActionHandler(logger, socketModeClient),
action.NewDeploymentPortalActionHandler(logger, socketModeClient, repository),
//action.NewDeploymentPortalActionHandler(logger, socketModeClient, repository),
},
}
}