Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
tutorial:adm:server_monitoring [2019/03/25 10:28]
fiserp [Implementation]
tutorial:adm:server_monitoring [2019/03/25 11:26]
fiserp [Implementation]
Line 36: Line 36:
   * All probes are located in their default installation location ''/usr/lib64/nagios/plugins/''.   * All probes are located in their default installation location ''/usr/lib64/nagios/plugins/''.
   * We use one external probe check\_mem which can be downloaded here: [[https://exchange.nagios.org/directory/Plugins/System-Metrics/Memory/check_mem-2Esh/details]]. This probe, however, returns bad results on RHEL7 because of the different meaning of the ''free'' command output. The fixed version is:   * We use one external probe check\_mem which can be downloaded here: [[https://exchange.nagios.org/directory/Plugins/System-Metrics/Memory/check_mem-2Esh/details]]. This probe, however, returns bad results on RHEL7 because of the different meaning of the ''free'' command output. The fixed version is:
-<code bash>+<file shell check_mem>
 #!/bin/bash #!/bin/bash
  
Line 79: Line 79:
         exit         exit
 fi fi
-</code>+</file>
  
 **Deployment** **Deployment**
  
-First, install the necessary packages:+First, install necessary packages:
 <code> <code>
 yum install nrpe nagios-plugins-nrpe nagios-plugins-swap nagios-plugins-disk nagios-plugins-load nagios-plugins-procs nagios-plugins-ntp nagios-plugins-http nagios-plugins-pgsql yum install nrpe nagios-plugins-nrpe nagios-plugins-swap nagios-plugins-disk nagios-plugins-load nagios-plugins-procs nagios-plugins-ntp nagios-plugins-http nagios-plugins-pgsql
 </code> </code>
-If you use SELinux, we need to permit the check_disk plugin access to the ///sys/kernel/...//:+If you use SELinux, we need to permit the check_disk plugin access to the ''/sys/kernel/...''. Easiest way (but not necessarily the most correct) is to set permissive mode for some plugins:
 <code> <code>
 yum install policycoreutils-python yum install policycoreutils-python
 semanage permissive -a nagios_checkdisk_plugin_t semanage permissive -a nagios_checkdisk_plugin_t
 </code> </code>
-Edit the ///etc/nagios/nrpe.cfg// file and add your monitoring server address to the allowed_hosts directive:+Edit the ''/etc/nagios/nrpe.cfg'' file and add your monitoring server address to the allowed\_hosts directive:
 <code> <code>
 allowed_hosts=127.0.0.1,IPofMonitoringServer allowed_hosts=127.0.0.1,IPofMonitoringServer
 </code> </code>
-Create a configuration of system checks in the file ///etc/nrpe.d/checks.cfg//. Fill in the //YOUR_NTP_SERVER// and //IDM_SERVICE_DOMAIN_NAME// accordingly. The //MONITORING_USER// and //MONITORING_USER_PASSWORD// are values filled with credentials of an user which is capable to log into the PostgreSQL database. Create separate user just for this purpose. +Create a configuration of system checks in the file ''/etc/nrpe.d/checks.cfg''. Fill in the ''YOUR_NTP_SERVER'' and ''IDM_SERVICE_DOMAIN_NAME'' accordingly. The ''MONITORING_USER'' and ''MONITORING_USER_PASSWORD'' are values filled with credentials of an user which is capable to log into the PostgreSQL database. **Create separate user just for this purpose**
-<code>+<file txt checks.cfg>
 command[check_swap]=/usr/lib64/nagios/plugins/check_swap -w 50% -c 10% command[check_swap]=/usr/lib64/nagios/plugins/check_swap -w 50% -c 10%
 command[check_disk]=/usr/lib64/nagios/plugins/check_disk -w 90 -c 95 command[check_disk]=/usr/lib64/nagios/plugins/check_disk -w 90 -c 95
Line 109: Line 109:
 command[check_httpd_cert]=/usr/lib64/nagios/plugins/check_http -H IDM_SERVICE_DOMAIN_NAME -S -p443 -C30,7 command[check_httpd_cert]=/usr/lib64/nagios/plugins/check_http -H IDM_SERVICE_DOMAIN_NAME -S -p443 -C30,7
 command[check_postgres]=/usr/lib64/nagios/plugins/check_pgsql -H 127.0.0.1 -P 5432 -d template1 -l MONITORING_USER -p MONITORING_USER_PASSWORD -w0.5 -c1 command[check_postgres]=/usr/lib64/nagios/plugins/check_pgsql -H 127.0.0.1 -P 5432 -d template1 -l MONITORING_USER -p MONITORING_USER_PASSWORD -w0.5 -c1
-</code+</file
-Add the //check_mem// script to the ///usr/lib64/nagios/plugins/// directory, make it executable:+Add the ''check_mem'' script to the ''/usr/lib64/nagios/plugins/'' directory, make it executable:
 <code> <code>
 cp check_mem /usr/lib64/nagios/plugins/ cp check_mem /usr/lib64/nagios/plugins/
 chmod 755 /usr/lib64/nagios/plugins/check_mem chmod 755 /usr/lib64/nagios/plugins/check_mem
 </code> </code>
-Create the MONITORING_USER in the PostgreSQL. Please generate some strong password - you can use //pwgen// for that.+Create the ''MONITORING_USER'' in the PostgreSQL. Generate some strong password - you can use ''pwgen'' for that.
 <code> <code>
 create user monitoring password 'somepassword'; create user monitoring password 'somepassword';
Line 124: Line 124:
 systemctl enable nrpe systemctl enable nrpe
 </code> </code>
-To test the probes, you can use //check_nrpe// plugin:+To test the probes, you can use ''check_nrpe'' plugin:
 <code> <code>
 /usr/lib64/nagios/plugins/check_nrpe -H 127.0.0.1 -b 127.0.0.1 -c check_swap /usr/lib64/nagios/plugins/check_nrpe -H 127.0.0.1 -b 127.0.0.1 -c check_swap
Line 133: Line 133:
 This is a sample configuration for the Nagios server. It is meant more as an inspiration, feel free to adapt it to your Nagios deployment. This is a sample configuration for the Nagios server. It is meant more as an inspiration, feel free to adapt it to your Nagios deployment.
  
-Configure the check_nrpe command (you probably already have this in your Nagios configuration):+Configure the ''check_nrpe'' command (you probably already have this in your Nagios configuration):
 <code> <code>
 define command{ define command{
  • by urbanl