Skip to content

Commit 5317cb4

Browse files
authored
Merge pull request #238 from qonto/MGSousa-add-more-instance-statuses
Merge chore: Added more important instance statuses
2 parents 283f027 + ec065e8 commit 5317cb4

File tree

4 files changed

+50
-21
lines changed

4 files changed

+50
-21
lines changed

configs/grafana/common.libsonnet

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ local options = link.dashboards.options;
1212
transparent: 'transparent',
1313
default: 'white',
1414
ok: 'green',
15+
info: 'blue',
1516
notice: 'yellow',
1617
warning: 'orange',
1718
danger: 'red',

configs/grafana/panels/instance.libsonnet

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,19 @@ local colors = common.colors;
119119
+ standardOptions.withMappings([
120120
standardOptions.mapping.ValueMap.withType('value')
121121
+ standardOptions.mapping.ValueMap.withOptions({
122-
'-1': { index: 0, color: 'purple', text: 'Unknown' },
123-
'0': { index: 1, color: colors.danger, text: 'Stopped' },
124-
'1': { index: 2, color: colors.ok, text: 'Available' },
125-
'2': { index: 3, color: colors.notice, text: 'Backing-up' },
122+
'-8': { index: 0, color: colors.info, text: 'Upgrading' },
123+
'-7': { index: 1, color: colors.danger, text: 'Storage-full' },
124+
'-6': { index: 2, color: colors.danger, text: 'Failed' },
125+
'-5': { index: 3, color: colors.warning, text: 'Rebooting' },
126+
'-4': { index: 4, color: colors.danger, text: 'Deleting' },
127+
'-3': { index: 5, color: colors.notice, text: 'Creating' },
128+
'-2': { index: 6, color: colors.notice, text: 'Stopping' },
129+
'-1': { index: 7, color: 'purple', text: 'Unknown' },
130+
'0': { index: 8, color: colors.danger, text: 'Stopped' },
131+
'1': { index: 9, color: colors.ok, text: 'Available' },
132+
'2': { index: 10, color: colors.notice, text: 'Backing-up' },
133+
'3': { index: 11, color: colors.ok, text: 'Starting' },
134+
'4': { index: 12, color: colors.info, text: 'Modifying' },
126135
}),
127136
]),
128137
},
@@ -386,13 +395,13 @@ local colors = common.colors;
386395
fieldOverride.byName.new('Replication slots')
387396
+ standardOptions.override.byType.withPropertiesFromOptions(
388397
color.withMode('fixed')
389-
+ color.withFixedColor('blue')
398+
+ color.withFixedColor(colors.info)
390399
+ custom.stacking.withMode('normal')
391400
),
392401
fieldOverride.byName.new('Other')
393402
+ standardOptions.override.byType.withPropertiesFromOptions(
394403
color.withMode('fixed')
395-
+ color.withFixedColor('orange')
404+
+ color.withFixedColor(colors.warning)
396405
+ custom.stacking.withMode('normal')
397406
),
398407
fieldOverride.byName.new('Used')
@@ -455,12 +464,19 @@ local colors = common.colors;
455464
+ standardOptions.withMappings([
456465
standardOptions.mapping.ValueMap.withType('value')
457466
+ standardOptions.mapping.ValueMap.withOptions({
458-
'-2': { index: -2, color: colors.warning, text: 'Stopping' },
459-
'-1': { index: -1, color: colors.notice, text: 'Unknown' },
460-
'0': { index: -1, color: colors.warning, text: 'Stopped' },
461-
'1': { index: -1, color: colors.ok, text: 'Available' },
462-
'2': { index: -1, color: colors.notice, text: 'Backing-up' },
463-
'3': { index: -1, color: colors.warning, text: 'Starting' },
467+
'-8': { index: 0, color: colors.info, text: 'Upgrading' },
468+
'-7': { index: 1, color: colors.danger, text: 'Storage-full' },
469+
'-6': { index: 2, color: colors.danger, text: 'Failed' },
470+
'-5': { index: 3, color: colors.warning, text: 'Rebooting' },
471+
'-4': { index: 4, color: colors.danger, text: 'Deleting' },
472+
'-3': { index: 5, color: colors.notice, text: 'Creating' },
473+
'-2': { index: 6, color: colors.notice, text: 'Stopping' },
474+
'-1': { index: 7, color: 'purple', text: 'Unknown' },
475+
'0': { index: 8, color: colors.danger, text: 'Stopped' },
476+
'1': { index: 9, color: colors.ok, text: 'Available' },
477+
'2': { index: 10, color: colors.notice, text: 'Backing-up' },
478+
'3': { index: 11, color: colors.ok, text: 'Starting' },
479+
'4': { index: 12, color: colors.info, text: 'Modifying' },
464480
}),
465481
])
466482
+ standardOptions.withMin(null)

internal/app/rds/rds.go

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ const (
6969
InstanceStatusStopping int = -2
7070
InstanceStatusCreating int = -3
7171
InstanceStatusDeleting int = -4
72+
InstanceStatusRebooting int = -5
73+
InstanceStatusFailed int = -6
74+
InstanceStatusStorageFull int = -7
75+
InstanceStatusUpgrading int = -8
7276
NoPendingMaintenanceOperation string = "no"
7377
UnknownMaintenanceOperation string = "unknown"
7478
UnscheduledPendingMaintenanceOperation string = "pending"
@@ -97,15 +101,19 @@ const (
97101
var tracer = otel.Tracer("github/qonto/prometheus-rds-exporter/internal/app/rds")
98102

99103
var instanceStatuses = map[string]int{
100-
"available": InstanceStatusAvailable,
101-
"backing-up": InstanceStatusBackingUp,
102-
"creating": InstanceStatusCreating,
103-
"deleting": InstanceStatusDeleting,
104-
"modifying": InstanceStatusModifying,
105-
"starting": InstanceStatusStarting,
106-
"stopped": InstanceStatusStopped,
107-
"stopping": InstanceStatusStopping,
108-
"unknown": InstanceStatusUnknown,
104+
"available": InstanceStatusAvailable,
105+
"backing-up": InstanceStatusBackingUp,
106+
"creating": InstanceStatusCreating,
107+
"deleting": InstanceStatusDeleting,
108+
"failed": InstanceStatusFailed,
109+
"modifying": InstanceStatusModifying,
110+
"rebooting": InstanceStatusRebooting,
111+
"starting": InstanceStatusStarting,
112+
"stopped": InstanceStatusStopped,
113+
"storage-full": InstanceStatusStorageFull,
114+
"stopping": InstanceStatusStopping,
115+
"unknown": InstanceStatusUnknown,
116+
"upgrading": InstanceStatusUpgrading,
109117
}
110118

111119
type RDSClient interface {

internal/app/rds/rds_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,11 +262,15 @@ func TestGetDBInstanceStatusCode(t *testing.T) {
262262
{input: "backing-up", want: rds.InstanceStatusBackingUp},
263263
{input: "creating", want: rds.InstanceStatusCreating},
264264
{input: "deleting", want: rds.InstanceStatusDeleting},
265+
{input: "failed", want: rds.InstanceStatusFailed},
265266
{input: "future", want: rds.InstanceStatusUnknown},
266267
{input: "modifying", want: rds.InstanceStatusModifying},
267268
{input: "stopped", want: rds.InstanceStatusStopped},
268269
{input: "stopping", want: rds.InstanceStatusStopping},
270+
{input: "storage-full", want: rds.InstanceStatusStorageFull},
271+
{input: "rebooting", want: rds.InstanceStatusRebooting},
269272
{input: "unknown", want: rds.InstanceStatusUnknown},
273+
{input: "upgrading", want: rds.InstanceStatusUpgrading},
270274
}
271275

272276
for _, tc := range tests {

0 commit comments

Comments
 (0)