Marc Wäckerlin
a0ff15f717
|
7 years ago | |
---|---|---|
LICENSE | 7 years ago | |
README.md | 7 years ago | |
diskio.sh | 7 years ago | |
gluster-geo-replication.sh | 7 years ago | |
load_per_cpu.sh | 7 years ago | |
mountpoint.sh | 7 years ago |
README.md
Icinga Check Scripts
Various check scripts for use in icinga.
All scripts support option --help
, so call ./scriptname --help
for
more information.
load_per_cpu.sh
Icinga plugin to check load average per CPU. Shows 1min, 5min 15min average per CPU. Different to check_load, the load is divided by the number of CPU units and therefore normalized. So the same warning and critical levels fit for any server.
If a server's load is often high, you can find tipps in Isolating Linux High System Load, in short words:
- see the load average in
uptime
- check system logs with
dmesg
- see
vmstat
:- high
WA
(wait) column: CPU is often waiting, you probably have high disk load- check
swap
→si
andso
, if they are often much above 0, you are out of memory- check memory usage of processes with
ps awwlx --sort=vsz
- solution: add more memory
- check memory usage of processes with
- check
- if
cpu
→ID
(idle) is around 0, your CPU is overloaded- if
SY
(system) is high, there could be large directories, e.g. mail spam - if
SY
(system) is high, it could be the firewall iptables - if
US
(user-space) is high, check withtop
for CPU consuming processes
- if
- if
io
→bi
andbo
(in/out) are high, check withiostat
orsudo iotop
- high
mountpoint.sh
Icinga plugin to check whether a given mountpoint is available. Detects problems, e.g. with glusterfs: In case of a problem, there is an error message such as "socket not connected". Called with path to check.
diskio.sh
Icinga plugin to check whether a given path is writable and checks the
performance of the given path. Detects problems with the filesystem or
specific io performance. Writes a test file using dd
and reports
write speed. It is recommended to use a subdirectory tmp for writing
test files.
gluster-geo-replication.sh
Icinga plugin to check gluster geo replication. Returns OK, if no connection is Faulty and one connection is Active. Returns CRITICAL, if one connection is Faulty- Returns WARNING, if no connection is Active.
Installation
Install
Checkout to a path, e.g. /opt/icinga-checks
:
cd /opt
sudo git co https://mrw.sh/admin-scripts/icinga-checks.git
Update
cd /opt/icinga-checks
sudo git pull
Configure
Go to Icinga Director, in Commands
add one:
- Command type:
Plugin Check Command
- Command name:
load per cpu
- Command:
check_by_ssh
After adding the command, add the following parameters:
-C /opt/icinga-checks/load_per_cpu.sh
-H $host.name$
-oStrictHostKeyChecking=no
The last argument -oStrictHostKeyChecking=no
is a key only ith no value.
To check mountpoint of /var/volumes
use argument name -C
with value /opt/icinga-checks/mountpount.sh /var/volumes
.
Then create a new Service Template, give it a name. e.g. load per cpu
and assign the check command just created.
Finally add a service, again you can use the same name and import the template just created, then assign the hosts to check. I use a host template for all linux servers, so the command is run in each of them.
Don't forget to deploy the activity log in Icinga Director.