Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OSUG
RESIF
monitoring_summer_snapshots
Commits
0240807f
Commit
0240807f
authored
May 31, 2021
by
Jonathan Schaeffer
Browse files
Manage also total and used space
parent
26d3ce6c
Pipeline
#68006
passed with stage
in 35 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
monitor_summer_snapshots/monitor_summer_snapshots.py
View file @
0240807f
...
...
@@ -72,41 +72,41 @@ def main():
logging
.
debug
(
"Getting data from volume %s"
,
volume
[
'mountpoint'
])
ssh_stdin
,
ssh_stdout
,
ssh_stderr
=
client
.
exec_command
(
"volume show -volume %s"
%
volume
[
'name'
])
for
eline
in
ssh_stdout
.
readlines
():
if
re
.
search
(
'Volume Size Used by Snapshot Copies:'
,
eline
):
if
re
.
search
(
'
^\s+
Volume Size Used by Snapshot Copies:'
,
eline
):
logging
.
debug
(
eline
)
size_with_unit
=
re
.
split
(
r
":\s+"
,
eline
.
rstrip
())[
-
1
]
logging
.
debug
(
size_with_unit
)
snapshot_size
=
to_bytes
(
size_with_unit
)
logging
.
debug
(
snapshot_size
)
continue
if
re
.
search
(
'Available Size:'
,
eline
):
if
re
.
search
(
'
^\s+
Available Size:'
,
eline
):
logging
.
debug
(
eline
)
size_with_unit
=
re
.
split
(
r
":\s+"
,
eline
.
rstrip
())[
-
1
]
availabile_size
=
to_bytes
(
size_with_unit
)
logging
.
debug
(
"Available size: %s"
,
availabile_size
)
continue
if
re
.
search
(
'Used Size:'
,
eline
):
if
re
.
search
(
'
^\s+
Used Size:'
,
eline
):
logging
.
debug
(
eline
)
size_with_unit
=
re
.
split
(
r
":\s+"
,
eline
.
rstrip
())[
-
1
]
used_size
=
to_bytes
(
size_with_unit
)
logging
.
debug
(
"Used size: %s"
,
used_size
)
continue
if
re
.
search
(
'Filesystem Size:'
,
eline
):
if
re
.
search
(
'
^\s+
Filesystem Size:'
,
eline
):
logging
.
debug
(
eline
)
size_with_unit
=
re
.
split
(
r
":\s+"
,
eline
.
rstrip
())[
-
1
]
total_size
=
to_bytes
(
size_with_unit
)
logging
.
debug
(
"Total size: %s"
,
total_size
)
continue
if
re
.
search
(
'Space Reserved for Snapshot Copies'
,
eline
):
if
re
.
search
(
'
^\s+
Space Reserved for Snapshot Copies'
,
eline
):
logging
.
debug
(
eline
)
reserved_snapshot_percent
=
float
(
re
.
split
(
r
':\s+'
,
eline
.
rstrip
().
strip
(
'%'
))[
-
1
])
continue
if
re
.
search
(
'Snapshot Reserve Used:'
,
eline
):
if
re
.
search
(
'
^\s+
Snapshot Reserve Used:'
,
eline
):
logging
.
debug
(
eline
)
snapshot_reserve_used_with_unit
=
re
.
split
(
r
":\s+"
,
eline
.
rstrip
())[
-
1
]
snapshot_reserve_used
=
snapshot_reserve_used_with_unit
[:
-
1
]
logging
.
debug
(
snapshot_reserve_used
)
if
re
.
search
(
'Used Percentage:'
,
eline
):
if
re
.
search
(
'
^\s+
Used Percentage:'
,
eline
):
logging
.
debug
(
eline
)
volume_used_with_unit
=
re
.
split
(
r
":\s+"
,
eline
.
rstrip
())[
-
1
]
volume_used
=
volume_used_with_unit
[:
-
1
]
...
...
@@ -116,7 +116,6 @@ def main():
ssh_stdin
.
close
()
ssh_stdout
.
close
()
ssh_stderr
.
close
()
logging
.
info
(
"Volume %s Snapshot %d"
,
volume
,
snapshot_size
)
# Metric for Zabbix
if
cfg
[
'zabbix'
][
'active'
]:
zabbix_packet
.
append
(
ZabbixMetric
(
cfg
[
'zabbix'
][
'host'
],
...
...
@@ -134,14 +133,15 @@ def main():
{
"measurement"
:
cfg
[
'influxdb'
][
'measurement'
],
"tags"
:
{
"lif"
:
lif
[
'name'
],
"volume"
:
volume
[
'mountpoint'
]
"volume"
:
volume
[
'mountpoint'
],
"qtree"
:
None
},
"time"
:
strftime
(
"%Y-%m-%dT%H:%M:%SZ"
,
now
),
"fields"
:
{
"snapshot_used"
:
snapshot_size
,
"available"
:
availabile_size
,
"used"
:
used_size
,
"total"
:
total_size
,
"snapshot_used"
:
snapshot_size
,
"snapshot_reserve"
:
int
(
total_size
*
reserved_snapshot_percent
/
100.
)
}
}
...
...
@@ -190,8 +190,8 @@ def main():
},
"time"
:
strftime
(
"%Y-%m-%dT%H:%M:%SZ"
,
now
),
"fields"
:
{
"
disk
_used"
:
disk_used
,
"
disk
_limit"
:
disk_limit
"
qtree
_used"
:
disk_used
,
"
qtree
_limit"
:
disk_limit
,
}
}
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment