Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
I
icinga-checks
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
IML Open Source
icinga-checks
Commits
a244d2dc
Commit
a244d2dc
authored
1 year ago
by
Hahn Axel (hahn)
Browse files
Options
Downloads
Patches
Plain Diff
rename backup server check
parent
f83f0304
No related branches found
No related tags found
1 merge request
!217
rename backup server check
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
check_iml_backup_server
+149
-0
149 additions, 0 deletions
check_iml_backup_server
with
149 additions
and
0 deletions
check_iml_backup_server
0 → 100755
+
149
−
0
View file @
a244d2dc
#!/bin/bash
# ======================================================================
#
# Check IML BACKUP SERVER
#
# requires access to storage_helper.sh
# in /opt/imlbackup/server/
#
# ----------------------------------------------------------------------
# 2020-07-27 v0.x <axel.hahn@iml.unibe.ch>
# 2023-12-20 v0.2 <axel.hahn@iml.unibe.ch>
# 2023-12-21 v1.0 <axel.hahn@iml.unibe.ch> first version
# ======================================================================
.
$(
dirname
$0
)
/inc_pluginfunctions
export
self_APPVERSION
=
1.0
sInstalldir
=
/opt/imlbackup/server
sScript
=
storage_helper.sh
sMode
=
# ----------------------------------------------------------------------
# FUNCTIONS
# ----------------------------------------------------------------------
function
showHelp
(){
local
_self
;
_self
=
$(
basename
$0
)
cat
<<
EOF
$(
ph.showImlHelpHeader
)
Show status of backup server.
You can get the count of connections or the status of server backup.
See https://os-docs.iml.unibe.ch/iml-backup-server/
SYNTAX:
$_self
[-d DIRECTORY] -m MODE
OPTIONS:
-h or --help show this help.
-d or --dir set installation dir of iml deployment to find its check skript
default dir:
${
sInstalldir
}
script:
${
sInstalldir
}
/
${
sScript
}
-m or --mode mode: set type of result; one of status|backupstatus
backupstatus status of backup sets of all servers
status count of connected servers
EXAMPLE:
$_self
-m status
$_self
-m backupstatus
EOF
}
function
_getServerOfStatus
(){
local
_key
=
"
$1
"
local
_data
=
"
$2
"
grep
"
$_key
.*| [0-9].* |"
<<<
"
$_data
"
}
function
_getStatusCount
(){
_getServerOfStatus
"
$1
"
"
$2
"
|
wc
-l
}
# ----------------------------------------------------------------------
# MAIN
# ----------------------------------------------------------------------
# --- check param -h
while
[[
"$#"
-gt
0
]]
;
do case
$1
in
-h
|
--help
)
showHelp
;
exit
0
;;
-d
|
--dir
)
sInstalldir
=
$2
;
shift
;
shift
;;
-m
|
--mode
)
sMode
=
$2
;
shift
;
shift
if
!
grep
-E
"^(status|backupstatus)$"
<<<
"
$sMode
"
>
/dev/null
;
then
ph.abort
"ERROR: unknown mode [
$sMode
]."
fi
;;
*
)
echo
"ERROR: Unknown parameter:
$1
"
;
showHelp
;
exit
1
;
esac
;
done
if
[
-z
"
$sMode
"
]
;
then
ph.abort
"ERROR: The mode was not set. Use parameter -m for it. Get help wit -h."
fi
myscript
=
"
$sInstalldir
/
$sScript
"
if
[
!
-x
"
$myscript
"
]
;
then
ph.abort
"UNKNOWN:
$myscript
is not available / executable. Use -d to fix the installation dir. Get help wit -h."
fi
# --- read data
data
=
$(
"
$myscript
"
"
$sMode
"
)
case
"
$sMode
"
in
"backupstatus"
)
typeset
-i
iTotal
;
iTotal
=
$(
grep
"^total : "
<<<
"
$data
"
|
cut
-f
2
-d
":"
|
awk
'{ print $1 }'
)
typeset
-i
iErrors
;
iErrors
=
$(
grep
"^errors: "
<<<
"
$data
"
|
cut
-f
2
-d
":"
)
typeset
-i
iOK
;
iOK
=
$(
_getStatusCount
"
\.
"
"
$data
"
)
typeset
-i
iNotStarted
;
iNotStarted
=
$(
_getStatusCount
"
\?
"
"
$data
"
)
typeset
-i
iDisable
;
iDisable
=
$(
_getStatusCount
"D"
"
$data
"
)
typeset
-i
iRunning
;
iRunning
=
$(
_getStatusCount
"R"
"
$data
"
)
if
[
$iErrors
-gt
0
]
;
then
ph.setStatus critical
fi
if
[
$iNotStarted
-eq
$iTotal
]
;
then
ph.setStatus unknown
fi
ph.status
"Server Backups -
$iTotal
servers in backup -
$iErrors
errors -
$iDisable
disbled -
$iRunning
running"
echo
List of server backups grouped by status
echo
(
# draw 1st line with table header
echo
"
$data
"
|
grep
"server.*start.*end"
echo
# show servers grouped by status
for
mystatus
in
E D R
"
\?
"
D
"
\.
"
do
_getServerOfStatus
"
$mystatus
"
"
$data
"
done
echo
-e
"
\e
[0m"
echo
"
$data
"
|
grep
"server.*start.*end"
echo
)
|
tr
'|'
':'
ph.perfadd
"notstarted"
"
${
iNotStarted
}
"
""
""
0
$iTotal
ph.perfadd
"disabled"
"
${
iDisable
}
"
""
""
0
$iTotal
ph.perfadd
"ok"
"
${
iOK
}
"
""
""
0
$iTotal
ph.perfadd
"running"
"
${
iRunning
}
"
""
""
0
$iTotal
ph.perfadd
"error"
"
${
iErrors
}
"
""
""
0
$iTotal
;;
"status"
)
typeset
-i
iRunning
;
iRunning
=
$(
grep
"STATUS"
<<<
"
$data
"
|
cut
-f
2
-d
" "
)
typeset
-i
iMax
;
iMax
=
$(
grep
"STATUS"
<<<
"
$data
"
|
cut
-f
8
-d
" "
|
tr
-d
'.'
)
# --- status output
ph.status
"Backups running:
$iRunning
(max
$iMax
)"
# echo "$data"
ph.perfadd
"running"
"
${
iRunning
}
"
""
""
0
$iMax
;;
esac
ph.exit
# ----------------------------------------------------------------------
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
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!
Save comment
Cancel
Please
register
or
sign in
to comment