Skip to content

Commit 4c7d262

Browse files
committed
switch from go-common loganalytics client to azquery
Signed-off-by: Markus Blaschke <mblaschke82@gmail.com>
1 parent d4cb739 commit 4c7d262

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

auditor/auditor.loganalytics.go

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import (
44
"context"
55
"time"
66

7+
"github.com/Azure/azure-sdk-for-go/sdk/monitor/azquery"
78
armoperationalinsights "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/operationalinsights/armoperationalinsights/v2"
89
log "github.com/sirupsen/logrus"
910
azureCommon "github.com/webdevops/go-common/azuresdk/armclient"
10-
"github.com/webdevops/go-common/azuresdk/loganalytics"
1111
prometheusCommon "github.com/webdevops/go-common/prometheus"
1212
"github.com/webdevops/go-common/utils/to"
1313

@@ -80,48 +80,53 @@ func (auditor *AzureAuditor) queryLogAnalytics(ctx context.Context, logger *log.
8080
workspaceLogger.Panic(err)
8181
}
8282

83-
workspaces := []string{}
84-
83+
var workspaces []*string
8584
if config.AdditionalWorkspaces != nil {
8685
for _, additionalWorkspaceResourceId := range *config.AdditionalWorkspaces {
8786
additionalWorkspaceId, err := auditor.lookupWorkspaceResource(ctx, additionalWorkspaceResourceId)
8887
if err != nil {
8988
workspaceLogger.Panic(err)
9089
}
9190

92-
workspaces = append(workspaces, to.String(additionalWorkspaceId))
91+
workspaces = append(workspaces, additionalWorkspaceId)
9392
}
9493
}
9594

9695
workspaceLogger.WithField("workspaces", workspaces).Debug("sending query")
9796
startTime := time.Now()
9897

99-
queryResults, err := loganalytics.ExecuteQuery(
100-
ctx,
101-
auditor.azure.client,
102-
*mainWorkspaceId,
103-
*config.Query,
104-
config.Timespan,
105-
&workspaces,
106-
)
98+
clientOpts := azquery.LogsClientOptions{*auditor.azure.client.NewAzCoreClientOptions()}
99+
logsClient, err := azquery.NewLogsClient(auditor.azure.client.GetCred(), &clientOpts)
100+
if err != nil {
101+
workspaceLogger.Error(err)
102+
return
103+
}
104+
105+
opts := azquery.LogsClientQueryWorkspaceOptions{}
106+
queryBody := azquery.Body{
107+
Query: config.Query,
108+
Timespan: config.Timespan,
109+
Workspaces: workspaces,
110+
}
111+
queryResults, err := logsClient.QueryWorkspace(ctx, *mainWorkspaceId, queryBody, &opts)
107112
if err != nil {
108113
workspaceLogger.Error(err)
109114
return
110115
}
111116

112117
// parse and process result
113-
resultTables := *queryResults.Tables
118+
resultTables := queryResults.Tables
114119
for _, table := range resultTables {
115120
if table.Rows == nil || table.Columns == nil {
116121
// no results found, skip table
117122
continue
118123
}
119124

120-
for _, v := range *table.Rows {
125+
for _, v := range table.Rows {
121126
auditLine := map[string]interface{}{}
122127
auditLine["resource.id"] = mainWorkspaceResourceId
123128
auditLine["subscription.id"] = mainWorkspaceInfo.Subscription
124-
for colNum, colName := range *resultTables[0].Columns {
129+
for colNum, colName := range resultTables[0].Columns {
125130
fieldName := to.String(colName.Name)
126131
fieldValue := v[colNum]
127132

0 commit comments

Comments
 (0)