4
4
"log"
5
5
"strconv"
6
6
"strings"
7
- "github.com/rubrikinc/rubrik-sdk-for-go/rubrikcdm"
7
+
8
8
"github.com/prometheus/client_golang/prometheus"
9
+ "github.com/rubrikinc/rubrik-sdk-for-go/rubrikcdm"
9
10
)
10
11
11
12
var (
@@ -36,29 +37,34 @@ func init() {
36
37
37
38
// GetMssqlFailedJobs ...
38
39
func GetMssqlFailedJobs (rubrik * rubrikcdm.Credentials , clusterName string ) {
39
- clusterVersion ,err := rubrik .ClusterVersion ()
40
+ clusterVersion , err := rubrik .ClusterVersion ()
40
41
if err != nil {
41
- log .Println ("Error from jobs.GetMssqlFailedJobs: " ,err )
42
+ log .Printf ("Error from jobs.GetMssqlFailedJobs: " , err )
43
+ return
42
44
}
43
- clusterMajorVersion ,err := strconv .ParseInt (strings .Split (clusterVersion ,"." )[0 ], 10 , 64 )
45
+ clusterMajorVersion , err := strconv .ParseInt (strings .Split (clusterVersion , "." )[0 ], 10 , 64 )
44
46
if err != nil {
45
- log .Println ("Error from jobs.GetMssqlFailedJobs: " ,err )
47
+ log .Printf ("Error from jobs.GetMssqlFailedJobs: " , err )
48
+ return
46
49
}
47
- clusterMinorVersion ,err := strconv .ParseInt (strings .Split (clusterVersion ,"." )[1 ], 10 , 64 )
50
+ clusterMinorVersion , err := strconv .ParseInt (strings .Split (clusterVersion , "." )[1 ], 10 , 64 )
48
51
if err != nil {
49
- log .Println ("Error from jobs.GetMssqlFailedJobs: " ,err )
52
+ log .Printf ("Error from jobs.GetMssqlFailedJobs: " , err )
53
+ return
50
54
}
51
55
if (clusterMajorVersion == 5 && clusterMinorVersion < 2 ) || clusterMajorVersion < 5 { // cluster version is older than 5.1
52
- eventData ,err := rubrik .Get ("internal" ,"/event_series?status=Failure&event_type=Backup&object_type=Mssql" )
56
+ eventData , err := rubrik .Get ("internal" , "/event_series?status=Failure&event_type=Backup&object_type=Mssql" , 60 )
53
57
if err != nil {
54
- log .Println ("Error from jobs.GetMssqlFailedJobs: " ,err )
58
+ log .Printf ("Error from jobs.GetMssqlFailedJobs: " , err )
59
+ return
55
60
}
56
- if ( eventData .(map [string ]interface {})["data" ] != nil ) {
61
+ if eventData != nil || eventData .(map [string ]interface {})["data" ] != nil {
57
62
for _ , v := range eventData .(map [string ]interface {})["data" ].([]interface {}) {
58
63
thisEventSeriesID := v .(map [string ]interface {})["eventSeriesId" ]
59
- eventSeriesData ,err := rubrik .Get ("internal" ,"/event_series/" + thisEventSeriesID .(string ))
64
+ eventSeriesData , err := rubrik .Get ("internal" , "/event_series/" + thisEventSeriesID .(string ), 60 )
60
65
if err != nil {
61
- log .Println ("Error from jobs.GetMssqlFailedJobs: " ,err )
66
+ log .Printf ("Error from jobs.GetMssqlFailedJobs: " , err )
67
+ return
62
68
}
63
69
hasFailedEvent := false
64
70
for _ , w := range eventSeriesData .(map [string ]interface {})["eventDetailList" ].([]interface {}) {
@@ -110,16 +116,18 @@ func GetMssqlFailedJobs(rubrik *rubrikcdm.Credentials, clusterName string) {
110
116
}
111
117
}
112
118
} else { // cluster version is 5.2 or newer
113
- eventData ,err := rubrik .Get ("v1" ,"/event/latest?event_status=Failure&event_type=Backup&object_type=Mssql" )
119
+ eventData , err := rubrik .Get ("v1" , "/event/latest?event_status=Failure&event_type=Backup&object_type=Mssql" , 60 )
114
120
if err != nil {
115
- log .Println ("Error from jobs.GetMssqlFailedJobs: " ,err )
121
+ log .Printf ("Error from jobs.GetMssqlFailedJobs: " , err )
122
+ return
116
123
}
117
- if ( eventData .(map [string ]interface {})["data" ] != nil ) {
124
+ if eventData != nil || eventData .(map [string ]interface {})["data" ] != nil {
118
125
for _ , v := range eventData .(map [string ]interface {})["data" ].([]interface {}) {
119
126
thisEventSeriesID := v .(map [string ]interface {})["latestEvent" ].(map [string ]interface {})["eventSeriesId" ]
120
- eventSeriesData ,err := rubrik .Get ("v1" ,"/event_series/" + thisEventSeriesID .(string ))
127
+ eventSeriesData , err := rubrik .Get ("v1" , "/event_series/" + thisEventSeriesID .(string ), 60 )
121
128
if err != nil {
122
- log .Println ("Error from jobs.GetMssqlFailedJobs: " ,err )
129
+ log .Printf ("Error from jobs.GetMssqlFailedJobs: " , err )
130
+ return
123
131
}
124
132
hasFailedEvent := false
125
133
for _ , w := range eventSeriesData .(map [string ]interface {})["eventDetailList" ].([]interface {}) {
@@ -169,4 +177,4 @@ func GetMssqlFailedJobs(rubrik *rubrikcdm.Credentials, clusterName string) {
169
177
}
170
178
}
171
179
}
172
- }
180
+ }
0 commit comments