@@ -50,6 +50,7 @@ type Controller struct {
5050 numTestsTotal * prometheus.GaugeVec
5151 numTestsNA * prometheus.GaugeVec
5252 numTestsPassed * prometheus.GaugeVec
53+ numTestsWarn * prometheus.GaugeVec
5354}
5455
5556func NewController (ctx context.Context , cfg * rest.Config , namespace , name string , imgConfig * cisoperatorapiv1.ScanImageConfig ) (ctl * Controller , err error ) {
@@ -186,6 +187,7 @@ func initializeMetrics(ctl *Controller) error {
186187 "scan_name" ,
187188 // name of the clusterScanProfile used for scanning
188189 "scan_profile_name" ,
190+ "cluster_name" ,
189191 },
190192 )
191193 if err := prometheus .Register (ctl .numTestsFailed ); err != nil {
@@ -202,6 +204,7 @@ func initializeMetrics(ctl *Controller) error {
202204 "scan_name" ,
203205 // name of the clusterScanProfile used for scanning
204206 "scan_profile_name" ,
207+ "cluster_name" ,
205208 },
206209 )
207210 if err := prometheus .Register (ctl .numScansComplete ); err != nil {
@@ -218,6 +221,7 @@ func initializeMetrics(ctl *Controller) error {
218221 "scan_name" ,
219222 // name of the clusterScanProfile used for scanning
220223 "scan_profile_name" ,
224+ "cluster_name" ,
221225 },
222226 )
223227 if err := prometheus .Register (ctl .numTestsTotal ); err != nil {
@@ -234,6 +238,7 @@ func initializeMetrics(ctl *Controller) error {
234238 "scan_name" ,
235239 // name of the clusterScanProfile used for scanning
236240 "scan_profile_name" ,
241+ "cluster_name" ,
237242 },
238243 )
239244 if err := prometheus .Register (ctl .numTestsPassed ); err != nil {
@@ -250,6 +255,7 @@ func initializeMetrics(ctl *Controller) error {
250255 "scan_name" ,
251256 // name of the clusterScanProfile used for scanning
252257 "scan_profile_name" ,
258+ "cluster_name" ,
253259 },
254260 )
255261 if err := prometheus .Register (ctl .numTestsSkipped ); err != nil {
@@ -266,11 +272,29 @@ func initializeMetrics(ctl *Controller) error {
266272 "scan_name" ,
267273 // name of the clusterScanProfile used for scanning
268274 "scan_profile_name" ,
275+ "cluster_name" ,
269276 },
270277 )
271278 if err := prometheus .Register (ctl .numTestsNA ); err != nil {
272279 return err
273280 }
274281
282+ ctl .numTestsWarn = prometheus .NewGaugeVec (
283+ prometheus.GaugeOpts {
284+ Name : "cis_scan_num_tests_warn" ,
285+ Help : "Number of tests having warn status in the CIS scans, partioned by scan_name, scan_profile_name" ,
286+ },
287+ []string {
288+ // scan_name will be set to "manual" for on-demand manual scans and the actual name set for the scheduled scans
289+ "scan_name" ,
290+ // name of the clusterScanProfile used for scanning
291+ "scan_profile_name" ,
292+ "cluster_name" ,
293+ },
294+ )
295+ if err := prometheus .Register (ctl .numTestsWarn ); err != nil {
296+ return err
297+ }
298+
275299 return nil
276300}
0 commit comments