Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

installation:zusaetzliche_software:nagios_server_client_-_config [2012/01/25 12:20]
ronnyk
installation:zusaetzliche_software:nagios_server_client_-_config [2017/02/07 17:03]
Zeile 1: Zeile 1:
- 
-====== Client Config ====== 
- 
- 
-<​code>​ 
-[root@crmsrv /]# apt-get install nagios-nrpe-server sudo 
-</​code>​ 
- 
-<​code>​ 
-[root@crmsrv /]# pico -w /​etc/​nagios/​nrpe.cfg 
-</​code>​ 
- 
-<​code>​ 
-server_address=192.168.0.20 
-allowed_hosts=127.0.0.1,​82.197.134.3 # Monitor-Server 
- 
-command[check_mysql]=/​usr/​lib/​nagios/​plugins/​check_mysql -H localhost -u root --password='​...'​ 
-command[check_load]=/​usr/​lib/​nagios/​plugins/​check_load -w 5,7,9 -c 10,15,20 
-command[check_3ware]=/​usr/​lib/​nagios/​plugins/​check_3ware 
-command[check_users]=/​usr/​lib/​nagios/​plugins/​check_users -w 3 -c 5 
-command[check_disk_root]=/​usr/​lib/​nagios/​plugins/​check_disk -w 20% -c 10% -p / 
-command[check_disk_data]=/​usr/​lib/​nagios/​plugins/​check_disk -w 20% -c 10% -p /data 
-command[check_disk_usr]=/​usr/​lib/​nagios/​plugins/​check_disk -w 20% -c 10% -p /usr 
-command[check_disk_var]=/​usr/​lib/​nagios/​plugins/​check_disk -w 20% -c 10% -p /var 
-command[check_procs]=/​usr/​lib/​nagios/​plugins/​check_procs -w 250 -c 400 -s RSZDT 
-command[check_zombie]=/​usr/​lib/​nagios/​plugins/​check_procs -w 250 -c 400 -s Z 
-command[check_swap]=/​usr/​lib/​nagios/​plugins/​check_swap -av -w 80% -c 20% 
-command[check_samba]=/​usr/​lib/​nagios/​plugins/​check_disk_smb -H 10.200.200.253 -s crm -u CRM --password='​...'​ 
-</​code>​ 
- 
- 
-====== Nagios Plugin - check_3ware ====== 
- 
- 
-<​code>​ 
-[root@crmsrv /]# pico -w /​usr/​lib/​nagios/​plugins/​check_3ware 
-</​code>​ 
- 
-Sie müssen dieses Skript an Ihre Bedürfnisse anpassen. 
- 
-<sxh php> 
- 
-  - !/​usr/​bin/​php -n 
-<?php 
- 
-define('​DEVICE',​ '​c0'​);​ 
-define('​SUDO',​ '/​usr/​bin/​sudo'​);​ 
-define('​TWCLI',​ '/​usr/​sbin/​tw-cli'​);​ 
- 
-$fp = popen(SUDO."​ "​.TWCLI."​ info "​.DEVICE,​ "​r"​);​ 
-$c  = explode("​\n",​ trim(stream_get_contents($fp)));​ 
-$h  = array_flip(explode("​ ", preg_replace('/​\s\s+/',​ ' ', $c[0]))); 
-$d  = explode("​ ", preg_replace('/​\s\s+/',​ ' ', $c[2])); 
- 
-if ($d[$h['​Status'​]] != '​OK'​) { 
-  echo $c[2]; 
-     if ($d[$h['​Status'​]] == '​REBUILDING'​) exit(1); 
-     ​else ​                                 exit(2); 
-} 
- 
-$h = array_flip(explode("​ ", preg_replace('/​\s\s+/',​ ' ', $c[4]))); 
- 
-for ($i=6; $i<​count($c);​ $i++) { 
- 
-    if (!trim($c[$i])) break; 
- 
-    $d = array_map('​trim',​ explode("​ ", preg_replace('/​\s\s+/',​ ' ', $c[$i]))); 
-    if (!isset($d[$h['​Status'​]]) || $d[$h['​Unit'​]] == '​-'​) continue; 
- 
-    if ($d[$h['​Status'​]] != '​OK'​) { 
-        echo $c[$i]; 
-        exit(2); 
-    } 
-} 
- 
-echo $c[2]; 
-exit(0); 
- 
-?> 
- 
-</​sxh>​ 
- 
-<​code>​ 
-[root@crmsrv /]# chmod +x /​usr/​lib/​nagios/​plugins/​check_3ware 
-</​code>​ 
- 
-<​code>​ 
-[root@crmsrv /]# visudo 
-</​code>​ 
- 
-Fügen Sie die folgenden Zeilen an das Ende der Datei an. 
- 
-<​code>​ 
-nagios ALL=NOPASSWD:​ /​usr/​sbin/​tw-cli 
-</​code>​ 
- 
-Sie können es nun testen. Sie können es ohne Password ausführen: 
- 
-<​code>​ 
-[root@crmsrv /]# sudo -u nagios /​usr/​lib/​nagios/​plugins/​check_3ware 
-</​code>​ 
- 
- 
-====== Nagios Plugin - check_lsi ====== 
- 
- 
-für LSI MegaRAID SAS-Controller 
- 
-Zuerst ist {{datei:​megactl_0_4_1.deb}} oder {{datei:​megactl_0_4_1_i386.deb}} zu installieren mit: 
- 
-<​code>​ 
-[root@crmsrv /]# dpkg -i Megactl_0.4.1.deb 
-</​code>​ 
- 
-<​code>​ 
-[root@crmsrv /]# pico -w /​usr/​lib/​nagios/​plugins/​check_lsi 
-</​code>​ 
- 
-Sie müssen dieses Skript an Ihre Bedürfnisse anpassen. 
- 
-<sxh bash> 
- 
-  - !/bin/bash 
- 
-HOST=$(hostname) 
-SUDO=/​usr/​bin/​sudo 
-MEGACTL=/​usr/​sbin/​megasasctl 
-ADMIN=test@example.com 
- 
-CHECKRAID=$($SUDO $MEGACTL | grep -i '​degraded\|fail'​) 
- 
-if (( $? != 0 )) 
-then 
-  echo "OK - $HOST - RAID OK" 
-     exit 0; 
-else 
-  echo -e "​$($SUDO $MEGACTL)"​ | mail $ADMIN -s "$HOST RAID Error" 
-     ​RAIDDETAILS=$($SUDO $MEGACTL | grep -i '​rebuild'​) 
-     if (( $? == 0 )) 
-     then 
-         echo "​WARNING - $HOST - RAID rebuilding"​ 
-         exit 1; 
-     else 
-         echo "​CRITICAL - $HOST - RAID critical"​ 
-         exit 2; 
-     fi 
-fi 
- 
-echo "​CRITICAL - $HOST - RAID unknown"​ 
-exit 3; 
- 
-</​sxh>​ 
- 
-<​code>​ 
-[root@crmsrv /]# chmod +x /​usr/​lib/​nagios/​plugins/​check_lsi 
-</​code>​ 
- 
-<​code>​ 
-[root@crmsrv /]# visudo 
-</​code>​ 
- 
-Fügen Sie die folgenden Zeilen an das Ende der Datei an. 
- 
-<​code>​ 
-nagios ALL=NOPASSWD:​ /​usr/​sbin/​megasasctl 
-</​code>​ 
- 
-Sie können es nun testen. Sie können es ohne Password ausführen: 
- 
-<​code>​ 
-[root@crmsrv /]# sudo -u nagios /​usr/​lib/​nagios/​plugins/​check_lsi 
-</​code>​ 
- 
- 
-====== Nagios Plugin - check_hpsmart ====== 
- 
- 
-für HP SmartArray Controller 
- 
-Zuerst HP Array Configuration Utility CLI installieren:​ 
- 
-Datei /​etc/​apt/​sources.list bearbeiten und folgende Zeile anfügen: 
- 
-<​code>​ 
-deb http://​hwraid.le-vert.net/​debian squeeze main 
-</​code>​ 
- 
-<​code>​ 
-[root@crmsrv /]# apt-get update 
-[root@crmsrv /]# apt-get install hpacucli 
-</​code>​ 
- 
-<​code>​ 
-[root@crmsrv /]# dpkg -i Megactl_0.4.1.deb 
-</​code>​ 
- 
-<​code>​ 
-[root@crmsrv /]# pico -w /​usr/​lib/​nagios/​plugins/​check_hpsmart 
-</​code>​ 
- 
-Sie müssen dieses Skript an Ihre Bedürfnisse anpassen. 
- 
-<sxh bash> 
- 
-  - !/bin/bash 
- 
-HOST=$(hostname) 
-SUDO=/​usr/​bin/​sudo 
-MEGACTL=/​usr/​sbin/​megasasctl 
-ADMIN=test@example.com 
- 
-CHECKRAID=$($SUDO $MEGACTL | grep -i '​degraded\|fail'​) 
- 
-if (( $? != 0 )) 
-then 
-  echo "OK - $HOST - RAID OK" 
-     exit 0; 
-else 
-  echo -e "​$($SUDO $MEGACTL)"​ | mail $ADMIN -s "$HOST RAID Error" 
-     ​RAIDDETAILS=$($SUDO $MEGACTL | grep -i '​rebuild'​) 
-     if (( $? == 0 )) 
-     then 
-         echo "​WARNING - $HOST - RAID rebuilding"​ 
-         exit 1; 
-     else 
-         echo "​CRITICAL - $HOST - RAID critical"​ 
-         exit 2; 
-     fi 
-fi 
- 
-echo "​CRITICAL - $HOST - RAID unknown"​ 
-exit 3; 
- 
-</​sxh>​ 
- 
-<​code>​ 
-[root@crmsrv /]# chmod +x /​usr/​lib/​nagios/​plugins/​check_lsi 
-</​code>​ 
- 
-<​code>​ 
-[root@crmsrv /]# visudo 
-</​code>​ 
- 
-Fügen Sie die folgenden Zeilen an das Ende der Datei an. 
- 
-<​code>​ 
-nagios ALL=NOPASSWD:​ /​usr/​sbin/​megasasctl 
-</​code>​ 
- 
-Sie können es nun testen. Sie können es ohne Password ausführen: 
- 
-<​code>​ 
-[root@crmsrv /]# sudo -u nagios /​usr/​lib/​nagios/​plugins/​check_lsi 
-</​code>​ 
- 
- 
-====== Nagios Plugin - check_3ware_temp ====== 
- 
- 
-<​code>​ 
-[root@crmsrv /]# apt-get install smartmontools 
-[root@crmsrv /]# pico -w /​usr/​lib/​nagios/​plugins/​check_3ware_temp 
-</​code>​ 
- 
-Sie müssen dieses Skript an Ihre Bedürfnisse anpassen. 
- 
-<​code>​ 
-#!/bin/bash 
- 
-ret=`/​usr/​bin/​sudo /​usr/​sbin/​smartctl -a -d 3ware,$1 /dev/twa0 | grep Temperature | awk '​{print $10}'` 
- 
-if [ $ret -gt 45 ]; 
-then 
-   echo "DISK $1 WARNING: Temperature high at Disk $1 ($ret °C)|hdtemp=$ret;";​ 
-   exit 1; 
-else 
-   echo "DISK $1 OK: Temperature normal at Disk $1 ($ret °C)|hdtemp=$ret;";​ 
-   exit 0 
-fi 
-</​code>​ 
- 
-<​code>​ 
-[root@crmsrv /]# chmod +x /​usr/​lib/​nagios/​plugins/​check_3ware_temp 
-</​code>​ 
- 
-<​code>​ 
-[root@crmsrv /]# visudo 
-</​code>​ 
- 
-Fügen Sie die folgenden Zeilen an das Ende der Datei an. 
- 
-<​code>​ 
-nagios ALL=NOPASSWD:​ /​usr/​sbin/​smartctl 
-</​code>​ 
- 
-Sie können es nun testen. Sie können es ohne Password ausführen: 
- 
-<​code>​ 
-[root@crmsrv /]# sudo -u nagios /​usr/​lib/​nagios/​plugins/​check_3ware_temp 0 
-</​code>​ 
- 
- 
-====== Restart NRPE-Server ====== 
- 
- 
-<​code>​ 
-[root@crmsrv /]# /​etc/​init.d/​nagios-nrpe-server restart 
-</​code>​ 
- 
- 
-====== Server Config ====== 
- 
- 
-<​code>​ 
-[root@monitor /]# pico -w /​etc/​nagios3/​conf.d/​_hostname_.cfg 
-</​code>​ 
- 
-Tauschen Sie '​host'​ mit dem hostnamen. 
- 
-<​code>​ 
-define host { 
-        use         ​linux-server 
-        host_name ​  host 
-        alias       ​intranet.host.com 
-        address ​    ​163.54.123.25 
-        } 
- 
-define service{ 
-        use                             ​remote-service 
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            PING 
-        check_command ​                  ​check_ping!300.0,​20%!500.0,​60% 
-        } 
- 
-define service{ 
-        use                             ​remote-service ​         
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            HTTPS 
-        check_command ​                  ​check_https 
-        } 
- 
-define service{ 
-        use                             ​remote-service ​         
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            SSH 
-        check_command ​                  ​check_ssh_port!22 
-        } 
- 
-define service{ 
-        use                             ​remote-service 
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            USERS 
-        check_command ​                  ​check_nrpe!check_users 
-        } 
- 
-define service{ 
-        use                             ​remote-service 
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            LOAD 
-        check_command ​                  ​check_nrpe!check_load 
-        } 
- 
-define service{ 
-        use                             ​remote-service 
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            DISK / 
-        check_command ​                  ​check_nrpe!check_disk_root 
-        } 
- 
-define service{ 
-        use                             ​remote-service 
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            DISK /data 
-        check_command ​                  ​check_nrpe!check_disk_data 
-        } 
- 
-define service{ 
-        use                             ​remote-service 
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            DISK /usr 
-        check_command ​                  ​check_nrpe!check_disk_usr 
-        } 
- 
-define service{ 
-        use                             ​remote-service 
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            DISK /var 
-        check_command ​                  ​check_nrpe!check_disk_var 
-        } 
- 
-define service{ 
-        use                             ​remote-service 
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            ​ZOMBIE 
-        check_command ​                  ​check_nrpe!check_zombie 
-        } 
- 
-define service{ 
-        use                             ​remote-service 
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            PROCS 
-        check_command ​                  ​check_nrpe!check_procs 
-        } 
- 
-define service{ 
-        use                             ​remote-service 
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            MYSQL 
-        check_command ​                  ​check_nrpe!check_mysql 
-        } 
- 
-define service{ 
-        use                             ​remote-service 
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            SWAP 
-        check_command ​                  ​check_nrpe!check_swap 
-        } 
- 
-define service{ 
-        use                             ​remote-service 
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            CPU 
-        check_command ​                  ​check_nrpe!check_cpu 
-        } 
- 
-define service{ 
-        use                             ​remote-service 
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            MEM 
-        check_command ​                  ​check_nrpe!check_mem 
-        } 
- 
-define service{ 
-        use                             ​remote-service 
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            3WARE 
-        check_command ​                  ​check_nrpe!check_3ware 
-        } 
- 
-define service{ 
-        use                             ​remote-service 
-        host_name ​                      host 
-        contact_groups ​                 admins 
-        service_description ​            SAMBA 
-        check_command ​                  ​check_nrpe!check_samba 
-        } 
- 
-</​code>​ 
- 
-<​code>​ 
-[root@monitor /]# /​etc/​init.d/​nagios3 restart 
-</​code>​