SlideShare a Scribd company logo
NRDS: 
Enhancements 
Mike Weber 
mweber@spidertools.com
NRDS: Introduction 
• Basic Functionality 
Passive checks with Active Config Updates 
• Multiple Configurations 
Group Check Categories 
Create Multiple Check Times 
• Store­and­Forward 
Create timestamps to maintain data in disconnects.
Basic Functions 
• Passive Checks 
• Active Configuration Updates
Multiple Configurations 
• Multiple Group Checks 
Grouping checks based on type provide more efficient management 
aspects. (Linux_OS, Oracle, Apache, etc.) 
• Multiple Check Times 
Multiple check times lessens the load on the server and provides best 
practice use of resources. (5 min., 30 min.,etc.) 
• Multiple Download Options 
NRDS can be used to download, packages, plugins, scripts,etc.
Multiple Configurations 
Why Multiple Configurations 
• Reduce Load on Server 
• Logs Analyzed for Summaries 
daily, weekly, monthly 
• Low Tech Skills 
• Limited Host Access
Multiple Configurations 
Spreading the Load on a Busy Server 
command[Calls: Daily Guest]=/usr/lib/nagios/plugins/daily_guest.sh 
2am 
command[Calls: Daily Summary]=/usr/lib/nagios/plugins/daily_summary.sh 
command[Calls: Daily Voicemail]=/usr/lib/nagios/plugins/daily_voice.sh 
2.10am 
command[Daily Web Consol Use]=/usr/lib/nagios/plugins/check_web_consol 
command[Calls: Daily Room]=/usr/lib/nagios/plugins/daily_room.sh 
2.20am 
command[Calls: Daily Room­Room]=/ 
usr/lib/nagios/plugins/daily_room_room.sh 
2.30am 
command[Calls: Daily Admin]=/usr/lib/nagios/plugins/daily_admin.sh 
2.35am 
command[Calls: Daily Admin­Guest]=/ 
usr/lib/nagios/plugins/daily_admin_guest.sh 
2.45am 
command[Calls: Daily Admin­Room]=/ 
usr/lib/nagios/plugins/daily_admin_room.sh 
2.55am 
command[Calls: Daily Admin­VoiceM]=/ 
usr/lib/nagios/plugins/daily_admin_voicemail.sh
Multiple Configurations 
calls/min/ave/max 
Calls: Daily Guest 2013­09­05 
12:31:46 
from_guest:1054/0/18/446 
Calls: Daily Room 2013­09­01 
20:07:23 
from_room:127/0/15/194 
Calls: Daily Room­Room 
2013­09­01 
20:07:23 
from_room_to_room:2/0/0/1 
Calls: Daily Voicemail 2013­09­01 
20:07:23 
from_guest_to_voicemail:24/3/15/56 
Calls: Monthly Guest 2013­09­05 
03:20:26 
from_guest:1054/0/18/446 
Calls: Monthly Room 2013­09­05 
03:41:04 
from_room:127/0/15/194 
Calls: Monthly Room­Room 
2013­09­05 
03:51:08 
from_room_to_room:2/0/0/1
Multiple Configurations
Multiple Configurations 
Install Procedure 
SSH into the hotel pbx and become root. 
sudo su 
cd /tmp 
wget ­­no­check­certificate 
­O 
install.tar.gz "https://192.168.1.1/nrdp/? 
cmd=nrdsgetclient&token=Gh78TFcD&configname= 
Unpack the package 
tar xzvf install.tar.gz 
Install the package 
cd clients 
./installnrds install 30 
Note, this install script will be used for every hotel. It is going to 
install NRDS and download the package for the rest of the installation. 
Any host called install in the Unconfigured Objects should be removed,
Multiple Configurations 
Install the Package 
cd /tmp 
tar xvf package64.tar 
cd package 
Now you will execute a script that will ask for the name of the hotel 
server and the IP Address of the hotel server, be sure these are 
absolutely correct as the script will change all of the files to reflect the 
options entered. 
Enter the host when asked. 
Now execute the install script. 
./install.sh
Multiple Configurations 
Purpose of package64.tar 
• Download All Plugins 
• Download All NRDS Groups 
When the script executes it will detect and setup the proper 
groups. 
• Download install.sh
Multiple Configurations
Multiple Configurations
Multiple Configurations 
Group Configuration Files All Point to One Hostname 
admin_server.cfg admin_server.pl admin_server_updater.pl 
app_server.cfg app_server.pl app_server_updater.pl 
custom.cfg custom.pl custom_server_updater.pl 
oracle_db_server60.cfg oracle_db_server60.pl oracle_db_server60_updater.pl 
oracle_db_server.cfg oracle_db_server.pl oracle_db_server_updater.pl
Multiple Configurations 
Admin_Server.cfg 
CONFIG_VERSION="0.2" 
CONFIG_OS="Linux" 
CONFIG_NAME="oracle_admin_server" 
URL="http://192.168.5.5/nrdp/" 
TOKEN="j5pj5adf89" 
PLUGIN_DIR="/usr/local/nagios/libexec" 
SEND_NRDP="/usr/local/nrdp/clients/send_nrdp.sh" 
TMPDIR="/usr/local/nrdp/clients/tmp" 
COMMAND_PREFIX="" 
LOG_FILE="" 
UPDATE_CONFIG="1" 
UPDATE_PLUGINS="1"
Multiple Configurations 
Admin_Server.pl 
Required Changes to Custom Groups 
my $nrds_updater = "/usr/local/nrdp/clients/nrds/admin_server_updater.pl"; 
my $configfile = "/usr/local/nrdp/clients/nrds/admin_server.cfg";
Multiple Configurations 
Admin_Server_updater.pl 
Required Changes to Custom Groups 
my $configfile = "/usr/local/nrdp/clients/nrds/admin_server.cfg";
Multiple Configurations 
Install.sh 
#!/bin/bash 
CHECK_ORACLE_HEALTH_FILE=/usr/local/nagios/libexec/check_oracle_heal 
th 
DEFAULT_CONFIG_FILE="/tmp/package64/nrds/custom.cfg" 
##### 64 Bit Nagios Monitoring Install ##### 
arch=$(uname ­m) 
if [ ${arch} == 'x86_64' ]; then 
echo "64_bit Operating System Detected" 
yum install ­y 
libaio 
rpm ­Uvh 
/tmp/package64/rpms/oracle­instantclient11.2­basic­11.2.0.2.0. 
x86_64.rpm 
rpm ­Uvh 
/tmp/package64/rpms/oracle­instantclient11.2­devel­11.2.0.2.0. 
x86_64.rpm
Multiple Configurations 
Install.sh 
##### Install Nagios Directories and Plugins ##### 
useradd nagios 
mkdir ­p 
/usr/local/nagios/libexec 
cd plugins 
cp check* /usr/local/nagios/libexec/ 
cp urlize /usr/local/nagios/libexec/ 
cp negate /usr/local/nagios/libexec/ 
chown ­R 
nagios:nagios /usr/local/nagios/libexec/ 
chmod +x /usr/local/nagios/libexec/*
Multiple Configurations 
Install.sh 
##### Install check_oracle_health ##### 
cd .. 
cd support 
export ORACLE_HOME="/usr/lib/oracle/11.2/client64" 
export LD_LIBRARY_PATH="$ORACLE_HOME/lib" 
tar zxvf check_oracle_health­1.7.8.1. 
tar.gz 
cd check_oracle_health­1.7.8.1 
./configure 
make 
make install 
mkdir /var/tmp/check_oracle_health 
chown ­R 
nagios /var/tmp/check_oracle_health
Multiple Configurations 
Install.sh 
##### VNC Ports ##### 
config_file=${DEFAULT_CONFIG_FILE} 
VNC_START_PORT=5900 
vnc_ports=$(sudo netstat ­anptu 
| grep 'vnc[[:space:]]*$'| tr ­s 
' '|cut ­d 
' ' ­f4| 
cut ­d 
':' ­f2) 
i=0 
for port in ${vnc_ports} ; do 
: $((i++)) 
printf "command[Check VNC %02d]=/usr/local/nagios/libexec/check_tcp ­H 
localhost ­p 
%d ­w 
5 ­c 
8 ­e 
n" ${i} ${port} >> ${config_file} 
done
Multiple Configurations 
Install.sh 
##### CPU Core Set Up ##### 
arg0=2 
arg1=1.5 
arg2=1 
arg3=3 
arg4=2.5 
arg5=0.5 
cpu_nb=$(grep ­c 
^processor /proc/cpuinfo) 
arg0=$((cpu_nb * arg0)) 
arg1=$(echo "scale=1;${cpu_nb} * ${arg1}" | bc) 
arg1=$(echo ${arg1} | sed ­e 
's/.0$//') 
arg2=$((cpu_nb * arg2))
Multiple Configurations 
Install.sh 
##### Set Hostname ##### 
host=$(hostname) 
echo $host 
echo "#####" 
echo "Use the hostname above as a base as you type the server name" 
read name 
echo "#####" 
oldString="txb" 
newString="$name" 
dpath="/tmp/package64/nrds/*.cfg" 
sed ­i 
"s/${oldString}/${newString}/g" /tmp/package64/crontab 
for i in $dpath; do
Multiple Configurations 
Install.sh 
##### Determine Linux Version ##### 
version=$(lsb_release ­rs| 
cut ­f1 
­d.) 
echo $version 
if [ $version == '6' ]; then 
echo "version 6" 
yum install ­y 
glibc* perl­YAML 
perl­Time­HiRes 
elif [ $version == '5' ]; then 
echo "version 5" 
yum install ­y 
glibc* perl­YAML 
rpm ­ivh 
/tmp/package64/rhel5/perl­Time­HiRes­1.9724­1. 
el4.rfx.x86_64.rpm 
else
Multiple Configurations 
Install.sh 
##### Manage Nagios Environement ##### 
echo 'NAGPATH=/usr/local/nagios/libexec; export NAGPATH' >> 
/home/nagios/.bash_profile 
echo 'LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib; export 
LD_LIBRARY_PATH' >> /home/nagios/.bash_profile 
echo 'ORACLE_HOME=/usr/lib/oracle/11.2/client64; export ORACLE_HOME' 
>> /home/nagios/.bash_profile 
echo 'TNS_ADMIN=/home/nagios; export TNS_ADMIN' >> 
/home/nagios/.bash_profile 
echo 'PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/nagios/bin: 
$ORACLE_HOME/bin; export PATH' >> /home/nagios/.bash_profile 
echo 'HOME=/home/nagios; export HOME' >> /home/nagios/.bash_profile
Multiple Configurations 
Install.sh 
##### Oracle DB Plugins Install ##### 
cp /tmp/package64/nrds/oracle_db* /usr/local/nrdp/clients/nrds/
Multiple Configurations 
Install.sh 
##### App Server Install ##### 
APP_SERVER=$(ps ­ef| 
grep tnslsnr|grep ­v 
grep|wc ­l) 
if [ ${APP_SERVER} == '1' ]; then 
echo "Installing Application Server" 
cp /tmp/package64/nrds/oracle_app* /usr/local/nrdp/clients/nrds/ 
sed ­i 
's/#*/5/*5/' /tmp/package64/crontab 
else 
echo "No Application Server Installed...no plugins will be installed for App 
Server" 
fi
Multiple Configurations 
Install.sh 
##### Admin Server Install ##### 
ADMIN_SERVER=$(ps ­ef| 
grep FNDLIBR|grep ­v 
grep|wc ­l) 
if [ ${ADMIN_SERVER} == '1' ]; then 
echo "Installing Admin Server" 
cp /tmp/package64/nrds/oracle_admin* /usr/local/nrdp/clients/nrds/ 
sed ­i 
's/#*/6/*6/' /tmp/package64/crontab 
else 
echo "No Admin Server Installed...no plugins will be installed for Admin 
Server" 
fi
Multiple Configurations 
Install.sh 
##### Move New Configs ##### 
cd /tmp/package64/nrds 
cp nrds* /usr/local/nrdp/clients/nrds/ 
cp custom* /usr/local/nrdp/clients/nrds/ 
chown nagios:nagios /usr/local/nrdp/clients/nrds/* 
##### Install Cron Jobs ##### 
/tmp/package64/crontab 
exit
Multiple Configurations 
Crontab Script 
#!/bin/bash 
crontab ­u 
nagios ­r 
crontab ­u 
nagios ­l 
| { cat; echo "### Cron Jobs for nagios ### 
##### OS Metric Checks and Oracle Server Checks ##### 
*/5 * * * * /usr/local/nrdp/clients/nrds/nrds.pl ­H 
txb 2>&1 
*/4 * * * * /usr/local/nrdp/clients/nrds/custom.pl ­H 
txb 2>&1 
*/6 * * * * /usr/local/nrdp/clients/nrds/oracle_db_server.pl ­H 
txb 2>&1 
#*/5 * * * * /usr/local/nrdp/clients/nrds/oracle_app_server.pl ­H 
txb 2>&1 
#*/6 * * * * /usr/local/nrdp/clients/nrds/oracle_admin_server.pl ­H 
txb 2>&1 
01 * * * * /usr/local/nrdp/clients/nrds/oracle_db_server60.pl ­H 
txb 2>&1"; } | 
crontab ­u 
nagios ­exit
Store-and-Forward 
• Basic Problem 
Network connections broken for multiple days. 
• Solution: NRDS Timestamps 
Using timestamps NRDS is able to rebuild data and 
graphing on the Nagios server.
Store-and-Forward 
• Example: Broken Connection 
Network connections breaks 5:17 AM.
Store-and-Forward 
• Example: Broken Connection 
Network connections breaks 5:17 AM.
Store-and-Forward 
• Example: Broken Connection 
Network connections restored 6:30 AM.
Store-and-Forward 
• Example: Broken Connection 
Network connections restored 6:30 AM.
Store-and-Forward 
• Example: Broken Connection 
Network connections breaks 2:20 PM.
Store-and-Forward 
• Example: Broken Connection 
Network connections breaks 2:20 PM.
Store-and-Forward 
• Example: Broken Connection 
Network connections restored 6:26 AM (16 hours).
Store-and-Forward 
• Example: Broken Connection 
Network connections restored 6:26 AM (16 hours).
Store-and-Forward 
NRDS Client 
Add a cache line in /usr/local/nrdp/clients/nrds/nrds.cfg 
CACHEDIR="/usr/local/nrdp/clients/cache" 
Create folder /usr/local/nrdp/clients/cache 
The cache needs to collect timestamped data in order to rebuild the information 
later. 
mkdir /usr/local/nrdp/clients/cache 
chown nagios.nagios /usr/local/nrdp/clients/cache 
chmod 0775 /usr/local/nrdp/clients/cache 
Timestamps Being Created 
drwxr­xr­x 
2 nagios nagios 4096 Sep 20 07:39 mylock 
­rw­­­­­­­1 
nagios nagios 1742 Sep 20 07:24 nrdp.6pvqRR1IJ 
­rw­­­­­­­1 
nagios nagios 1742 Sep 20 07:30 nrdp.B6qVekdsa
Store-and-Forward 
NRDS Client 
Replace /usr/local/nrdp/clients/send_nrdp.sh 
original 
if [ "x$url" == "x" ­o 
"x$token" == "x" ] 
echo "Usage: send_nrdp ­u 
url ­t 
token" 
Reference to cache directory 
if [ "x$url" == "x" ­o 
"x$token" == "x" ­o 
"x$directory" == "x" ] 
echo "Usage: send_nrdp ­u 
url ­t 
token ­D 
directory"
Store-and-Forward 
NRDS Client 
Replace /usr/local/nagios/libexec/process_perfdata.pl 
chown nagios.nagios /usr/local/nagios/libexec/process_perfdata.pl 
chmod 0755 /usr/local/nagios/libexec/process_perfdata.pl 
if ( $NAGIOS{PERFDATA} =~ /s*__check_timestamp__=(d+)/ ) { 
$NAGIOS{TIMET} = $1; 
print_log( "Found encoded timestamp ($NAGIOS{TIMET}) in 
$NAGIOS{HOSTNAME} / $NAGIOS{SERVICEDESC} 
($NAGIOS{PERFDATA})", 1 ); 
# remove encoded timestamp 
$NAGIOS{PERFDATA} =~ s/(s*__check_timestamp__=d+)//; 
print_log( "Perfdata now is: ($NAGIOS{PERFDATA})", 2 ); 
218a231,232
Script Downloads 
NRDS Modifications: 
Beginlinuxservers.com/nagiosconf 
User: nagiosconference 
Password: 54TBwh9 
Only available during conference.
Conclusion 
Mike Weber 
mweber@spidertools.com

More Related Content

PDF
IT Automation with Ansible
Rayed Alrashed
 
PDF
ITB2019 NGINX Overview and Technical Aspects - Kevin Jones
Ortus Solutions, Corp
 
PPTX
Vagrant, Ansible, and OpenStack on your laptop
Lorin Hochstein
 
DOCX
Ansible ex407 and EX 294
IkiArif1
 
PDF
Ansible, best practices
Bas Meijer
 
PPTX
Hadoop single cluster installation
Minh Tran
 
PPTX
Ansible for beginners
Kuo-Le Mei
 
PDF
Automation with ansible
Khizer Naeem
 
IT Automation with Ansible
Rayed Alrashed
 
ITB2019 NGINX Overview and Technical Aspects - Kevin Jones
Ortus Solutions, Corp
 
Vagrant, Ansible, and OpenStack on your laptop
Lorin Hochstein
 
Ansible ex407 and EX 294
IkiArif1
 
Ansible, best practices
Bas Meijer
 
Hadoop single cluster installation
Minh Tran
 
Ansible for beginners
Kuo-Le Mei
 
Automation with ansible
Khizer Naeem
 

What's hot (20)

PDF
Ansible is the simplest way to automate. MoldCamp, 2015
Alex S
 
PPTX
Ansible presentation
Kumar Y
 
PPTX
Introduction to Ansible
CoreStack
 
PPTX
Herd your chickens: Ansible for DB2 configuration management
Frederik Engelen
 
PPT
Ansible presentation
John Lynch
 
PDF
#OktoCampus - Workshop : An introduction to Ansible
Cédric Delgehier
 
PDF
Ansible tips & tricks
bcoca
 
PPTX
Ansible - Crash course
Simone Soldateschi
 
PDF
Single node hadoop cluster installation
Mahantesh Angadi
 
PPTX
Hadoop single node setup
Mohammad_Tariq
 
PPTX
Introduction to ansible
Omid Vahdaty
 
PDF
Ansible 實戰:top down 觀點
William Yeh
 
PDF
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce
StackIQ
 
PPT
Learn basic ansible using docker
Larry Cai
 
PDF
10 Million hits a day with WordPress using a $15 VPS
Paolo Tonin
 
PDF
Ansible roles done right
Dan Vaida
 
PPTX
Best practices for ansible
George Shuklin
 
PDF
Ansible - Introduction
Stephane Manciot
 
PDF
CoreOS: Control Your Fleet
Matthew Jones
 
PDF
DevOpsDaysCPT Ansible Infrastrucutre as Code 2017
Jumping Bean
 
Ansible is the simplest way to automate. MoldCamp, 2015
Alex S
 
Ansible presentation
Kumar Y
 
Introduction to Ansible
CoreStack
 
Herd your chickens: Ansible for DB2 configuration management
Frederik Engelen
 
Ansible presentation
John Lynch
 
#OktoCampus - Workshop : An introduction to Ansible
Cédric Delgehier
 
Ansible tips & tricks
bcoca
 
Ansible - Crash course
Simone Soldateschi
 
Single node hadoop cluster installation
Mahantesh Angadi
 
Hadoop single node setup
Mohammad_Tariq
 
Introduction to ansible
Omid Vahdaty
 
Ansible 實戰:top down 觀點
William Yeh
 
StackiFest16: Stacki 1600+ Server Journey - Dave Peterson, Salesforce
StackIQ
 
Learn basic ansible using docker
Larry Cai
 
10 Million hits a day with WordPress using a $15 VPS
Paolo Tonin
 
Ansible roles done right
Dan Vaida
 
Best practices for ansible
George Shuklin
 
Ansible - Introduction
Stephane Manciot
 
CoreOS: Control Your Fleet
Matthew Jones
 
DevOpsDaysCPT Ansible Infrastrucutre as Code 2017
Jumping Bean
 
Ad

Viewers also liked (20)

PPTX
Nagios Conference 2014 - Nick Winn - Using Nagios XI to Empower Your Develope...
Nagios
 
PPTX
Nagios Conference 2014 - Andrzej Augustynowicz - Nagios With The Decision Eng...
Nagios
 
PPTX
Nagios Conference 2014 - Bryan Heden - 10,000 Services Across The State of Ohio
Nagios
 
PDF
Nagios Conference 2014 - Jess Portnoy - Nagios Monitoring Kaltura - The Open ...
Nagios
 
PPTX
Nagios Conference 2014 - Rob Hassing - How To Maintain Over 20 Monitoring App...
Nagios
 
PPTX
Nagios Conference 2014 - Sean Falzon - Nagios as a PC Health Monitor
Nagios
 
ODP
Nagios Conference 2014 - Troy Lea - JavaScript and jQuery - Nagios XI Tips, T...
Nagios
 
PPTX
Nagios Conference 2014 - Jose Marroquin - How Revenue Increased After Impleme...
Nagios
 
PPTX
Nagios Conference 2014 - Rodrigo Faria - Developing your Plugin
Nagios
 
PPTX
Nagios Conference 2014 - James Clark - Nagios Cool Tips and Tricks
Nagios
 
PPTX
Nagios Conference 2014 - Tanja Lewit - Nagios and Kentix System Partners - Cr...
Nagios
 
ODP
Nagios Conference 2014 - Luke Groschen - Using Nagios Network Analyzer and NS...
Nagios
 
ODP
Nagios Conference 2014 - Leland Lammert - Distributed Heirarchical Nagios
Nagios
 
PPTX
Nagios Conference 2014 - Frank Pantaleo - Nagios Monitoring of Netezza Databases
Nagios
 
PPTX
Nagios Conference 2014 - Anna-Sofia Lejman - The Experience of Inheriting a N...
Nagios
 
ODP
Nagios Conference 2014 - Andy Brist - Intro to Incident Manager
Nagios
 
PPTX
Nagios Conference 2014 - Rob Seiwert - Graphing and Trend Prediction in Nagios
Nagios
 
PPTX
Nagios Conference 2014 - Abbas Haider Ali - Proactive Alerting and Intelligen...
Nagios
 
PPTX
Nagios Conference 2014 - Fernando Covatti - Nagios in Power Transmission Util...
Nagios
 
PDF
Nagios Conference 2014 - Jeremy Rust - Avoiding Downtime Using Linux High Ava...
Nagios
 
Nagios Conference 2014 - Nick Winn - Using Nagios XI to Empower Your Develope...
Nagios
 
Nagios Conference 2014 - Andrzej Augustynowicz - Nagios With The Decision Eng...
Nagios
 
Nagios Conference 2014 - Bryan Heden - 10,000 Services Across The State of Ohio
Nagios
 
Nagios Conference 2014 - Jess Portnoy - Nagios Monitoring Kaltura - The Open ...
Nagios
 
Nagios Conference 2014 - Rob Hassing - How To Maintain Over 20 Monitoring App...
Nagios
 
Nagios Conference 2014 - Sean Falzon - Nagios as a PC Health Monitor
Nagios
 
Nagios Conference 2014 - Troy Lea - JavaScript and jQuery - Nagios XI Tips, T...
Nagios
 
Nagios Conference 2014 - Jose Marroquin - How Revenue Increased After Impleme...
Nagios
 
Nagios Conference 2014 - Rodrigo Faria - Developing your Plugin
Nagios
 
Nagios Conference 2014 - James Clark - Nagios Cool Tips and Tricks
Nagios
 
Nagios Conference 2014 - Tanja Lewit - Nagios and Kentix System Partners - Cr...
Nagios
 
Nagios Conference 2014 - Luke Groschen - Using Nagios Network Analyzer and NS...
Nagios
 
Nagios Conference 2014 - Leland Lammert - Distributed Heirarchical Nagios
Nagios
 
Nagios Conference 2014 - Frank Pantaleo - Nagios Monitoring of Netezza Databases
Nagios
 
Nagios Conference 2014 - Anna-Sofia Lejman - The Experience of Inheriting a N...
Nagios
 
Nagios Conference 2014 - Andy Brist - Intro to Incident Manager
Nagios
 
Nagios Conference 2014 - Rob Seiwert - Graphing and Trend Prediction in Nagios
Nagios
 
Nagios Conference 2014 - Abbas Haider Ali - Proactive Alerting and Intelligen...
Nagios
 
Nagios Conference 2014 - Fernando Covatti - Nagios in Power Transmission Util...
Nagios
 
Nagios Conference 2014 - Jeremy Rust - Avoiding Downtime Using Linux High Ava...
Nagios
 
Ad

Similar to Nagios Conference 2014 - Mike Weber - Expanding NRDS Capabilities on Linux Systems (20)

PPT
Introduction to JumpStart
Scott McDermott
 
PDF
Hadoop meet Rex(How to construct hadoop cluster with rex)
Jun Hong Kim
 
PDF
Dependencies Managers in C/C++. Using stdcpp 2014
biicode
 
PDF
02 Hadoop deployment and configuration
Subhas Kumar Ghosh
 
PPTX
BuildStuff.LT 2018 InSpec Workshop
Mandi Walls
 
ODP
Asian Spirit 3 Day Dba On Ubl
newrforce
 
PDF
Practical Chef and Capistrano for Your Rails App
SmartLogic
 
PDF
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
Leo Lorieri
 
PPTX
InSpec Workshop at Velocity London 2018
Mandi Walls
 
PDF
20090514 Introducing Puppet To Sasag
garrett honeycutt
 
PDF
Deploying to Ubuntu on Linode
WO Community
 
PPTX
Hadoop on osx
Devopam Mittra
 
PPTX
DevOps for database
Osama Mustafa
 
PDF
Ansible is the simplest way to automate. SymfonyCafe, 2015
Alex S
 
PDF
Automating complex infrastructures with Puppet
Kris Buytaert
 
PPTX
DevOpsDays InSpec Workshop
Mandi Walls
 
KEY
Cooking with Chef
Ken Robertson
 
PDF
Docker, c'est bonheur !
Alexandre Salomé
 
PDF
Belvedere
Colin Panisset
 
PDF
Deployment Tactics
Ian Barber
 
Introduction to JumpStart
Scott McDermott
 
Hadoop meet Rex(How to construct hadoop cluster with rex)
Jun Hong Kim
 
Dependencies Managers in C/C++. Using stdcpp 2014
biicode
 
02 Hadoop deployment and configuration
Subhas Kumar Ghosh
 
BuildStuff.LT 2018 InSpec Workshop
Mandi Walls
 
Asian Spirit 3 Day Dba On Ubl
newrforce
 
Practical Chef and Capistrano for Your Rails App
SmartLogic
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
Leo Lorieri
 
InSpec Workshop at Velocity London 2018
Mandi Walls
 
20090514 Introducing Puppet To Sasag
garrett honeycutt
 
Deploying to Ubuntu on Linode
WO Community
 
Hadoop on osx
Devopam Mittra
 
DevOps for database
Osama Mustafa
 
Ansible is the simplest way to automate. SymfonyCafe, 2015
Alex S
 
Automating complex infrastructures with Puppet
Kris Buytaert
 
DevOpsDays InSpec Workshop
Mandi Walls
 
Cooking with Chef
Ken Robertson
 
Docker, c'est bonheur !
Alexandre Salomé
 
Belvedere
Colin Panisset
 
Deployment Tactics
Ian Barber
 

More from Nagios (20)

PPTX
Nagios XI Best Practices
Nagios
 
PDF
Jesse Olson - Nagios Log Server Architecture Overview
Nagios
 
PDF
Trevor McDonald - Nagios XI Under The Hood
Nagios
 
PDF
Sean Falzon - Nagios - Resilient Notifications
Nagios
 
PDF
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise Edition
Nagios
 
PDF
Janice Singh - Writing Custom Nagios Plugins
Nagios
 
PDF
Dave Williams - Nagios Log Server - Practical Experience
Nagios
 
PDF
Mike Weber - Nagios and Group Deployment of Service Checks
Nagios
 
PDF
Mike Guthrie - Revamping Your 10 Year Old Nagios Installation
Nagios
 
PDF
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Nagios
 
PDF
Matt Bruzek - Monitoring Your Public Cloud With Nagios
Nagios
 
PDF
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
Nagios
 
PDF
Eric Loyd - Fractal Nagios
Nagios
 
PDF
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Nagios
 
PDF
Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...
Nagios
 
PPTX
Nagios World Conference 2015 - Scott Wilkerson Opening
Nagios
 
PDF
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
Nagios
 
PDF
Nagios Log Server - Features
Nagios
 
PDF
Nagios Network Analyzer - Features
Nagios
 
PPTX
Nagios Conference 2014 - Dorance Martinez Cortes - Customizing Nagios
Nagios
 
Nagios XI Best Practices
Nagios
 
Jesse Olson - Nagios Log Server Architecture Overview
Nagios
 
Trevor McDonald - Nagios XI Under The Hood
Nagios
 
Sean Falzon - Nagios - Resilient Notifications
Nagios
 
Marcus Rochelle - Landis+Gyr - Monitoring with Nagios Enterprise Edition
Nagios
 
Janice Singh - Writing Custom Nagios Plugins
Nagios
 
Dave Williams - Nagios Log Server - Practical Experience
Nagios
 
Mike Weber - Nagios and Group Deployment of Service Checks
Nagios
 
Mike Guthrie - Revamping Your 10 Year Old Nagios Installation
Nagios
 
Bryan Heden - Agile Networks - Using Nagios XI as the platform for Monitoring...
Nagios
 
Matt Bruzek - Monitoring Your Public Cloud With Nagios
Nagios
 
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
Nagios
 
Eric Loyd - Fractal Nagios
Nagios
 
Marcelo Perazolo, Lead Software Architect, IBM Corporation - Monitoring a Pow...
Nagios
 
Thomas Schmainda - Tracking Boeing Satellites With Nagios - Nagios World Conf...
Nagios
 
Nagios World Conference 2015 - Scott Wilkerson Opening
Nagios
 
Nrpe - Nagios Remote Plugin Executor. NRPE plugin for Nagios Core
Nagios
 
Nagios Log Server - Features
Nagios
 
Nagios Network Analyzer - Features
Nagios
 
Nagios Conference 2014 - Dorance Martinez Cortes - Customizing Nagios
Nagios
 

Recently uploaded (20)

PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
The Future of Artificial Intelligence (AI)
Mukul
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Software Development Methodologies in 2025
KodekX
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 

Nagios Conference 2014 - Mike Weber - Expanding NRDS Capabilities on Linux Systems

  • 2. NRDS: Introduction • Basic Functionality Passive checks with Active Config Updates • Multiple Configurations Group Check Categories Create Multiple Check Times • Store­and­Forward Create timestamps to maintain data in disconnects.
  • 3. Basic Functions • Passive Checks • Active Configuration Updates
  • 4. Multiple Configurations • Multiple Group Checks Grouping checks based on type provide more efficient management aspects. (Linux_OS, Oracle, Apache, etc.) • Multiple Check Times Multiple check times lessens the load on the server and provides best practice use of resources. (5 min., 30 min.,etc.) • Multiple Download Options NRDS can be used to download, packages, plugins, scripts,etc.
  • 5. Multiple Configurations Why Multiple Configurations • Reduce Load on Server • Logs Analyzed for Summaries daily, weekly, monthly • Low Tech Skills • Limited Host Access
  • 6. Multiple Configurations Spreading the Load on a Busy Server command[Calls: Daily Guest]=/usr/lib/nagios/plugins/daily_guest.sh 2am command[Calls: Daily Summary]=/usr/lib/nagios/plugins/daily_summary.sh command[Calls: Daily Voicemail]=/usr/lib/nagios/plugins/daily_voice.sh 2.10am command[Daily Web Consol Use]=/usr/lib/nagios/plugins/check_web_consol command[Calls: Daily Room]=/usr/lib/nagios/plugins/daily_room.sh 2.20am command[Calls: Daily Room­Room]=/ usr/lib/nagios/plugins/daily_room_room.sh 2.30am command[Calls: Daily Admin]=/usr/lib/nagios/plugins/daily_admin.sh 2.35am command[Calls: Daily Admin­Guest]=/ usr/lib/nagios/plugins/daily_admin_guest.sh 2.45am command[Calls: Daily Admin­Room]=/ usr/lib/nagios/plugins/daily_admin_room.sh 2.55am command[Calls: Daily Admin­VoiceM]=/ usr/lib/nagios/plugins/daily_admin_voicemail.sh
  • 7. Multiple Configurations calls/min/ave/max Calls: Daily Guest 2013­09­05 12:31:46 from_guest:1054/0/18/446 Calls: Daily Room 2013­09­01 20:07:23 from_room:127/0/15/194 Calls: Daily Room­Room 2013­09­01 20:07:23 from_room_to_room:2/0/0/1 Calls: Daily Voicemail 2013­09­01 20:07:23 from_guest_to_voicemail:24/3/15/56 Calls: Monthly Guest 2013­09­05 03:20:26 from_guest:1054/0/18/446 Calls: Monthly Room 2013­09­05 03:41:04 from_room:127/0/15/194 Calls: Monthly Room­Room 2013­09­05 03:51:08 from_room_to_room:2/0/0/1
  • 9. Multiple Configurations Install Procedure SSH into the hotel pbx and become root. sudo su cd /tmp wget ­­no­check­certificate ­O install.tar.gz "https://192.168.1.1/nrdp/? cmd=nrdsgetclient&token=Gh78TFcD&configname= Unpack the package tar xzvf install.tar.gz Install the package cd clients ./installnrds install 30 Note, this install script will be used for every hotel. It is going to install NRDS and download the package for the rest of the installation. Any host called install in the Unconfigured Objects should be removed,
  • 10. Multiple Configurations Install the Package cd /tmp tar xvf package64.tar cd package Now you will execute a script that will ask for the name of the hotel server and the IP Address of the hotel server, be sure these are absolutely correct as the script will change all of the files to reflect the options entered. Enter the host when asked. Now execute the install script. ./install.sh
  • 11. Multiple Configurations Purpose of package64.tar • Download All Plugins • Download All NRDS Groups When the script executes it will detect and setup the proper groups. • Download install.sh
  • 14. Multiple Configurations Group Configuration Files All Point to One Hostname admin_server.cfg admin_server.pl admin_server_updater.pl app_server.cfg app_server.pl app_server_updater.pl custom.cfg custom.pl custom_server_updater.pl oracle_db_server60.cfg oracle_db_server60.pl oracle_db_server60_updater.pl oracle_db_server.cfg oracle_db_server.pl oracle_db_server_updater.pl
  • 15. Multiple Configurations Admin_Server.cfg CONFIG_VERSION="0.2" CONFIG_OS="Linux" CONFIG_NAME="oracle_admin_server" URL="http://192.168.5.5/nrdp/" TOKEN="j5pj5adf89" PLUGIN_DIR="/usr/local/nagios/libexec" SEND_NRDP="/usr/local/nrdp/clients/send_nrdp.sh" TMPDIR="/usr/local/nrdp/clients/tmp" COMMAND_PREFIX="" LOG_FILE="" UPDATE_CONFIG="1" UPDATE_PLUGINS="1"
  • 16. Multiple Configurations Admin_Server.pl Required Changes to Custom Groups my $nrds_updater = "/usr/local/nrdp/clients/nrds/admin_server_updater.pl"; my $configfile = "/usr/local/nrdp/clients/nrds/admin_server.cfg";
  • 17. Multiple Configurations Admin_Server_updater.pl Required Changes to Custom Groups my $configfile = "/usr/local/nrdp/clients/nrds/admin_server.cfg";
  • 18. Multiple Configurations Install.sh #!/bin/bash CHECK_ORACLE_HEALTH_FILE=/usr/local/nagios/libexec/check_oracle_heal th DEFAULT_CONFIG_FILE="/tmp/package64/nrds/custom.cfg" ##### 64 Bit Nagios Monitoring Install ##### arch=$(uname ­m) if [ ${arch} == 'x86_64' ]; then echo "64_bit Operating System Detected" yum install ­y libaio rpm ­Uvh /tmp/package64/rpms/oracle­instantclient11.2­basic­11.2.0.2.0. x86_64.rpm rpm ­Uvh /tmp/package64/rpms/oracle­instantclient11.2­devel­11.2.0.2.0. x86_64.rpm
  • 19. Multiple Configurations Install.sh ##### Install Nagios Directories and Plugins ##### useradd nagios mkdir ­p /usr/local/nagios/libexec cd plugins cp check* /usr/local/nagios/libexec/ cp urlize /usr/local/nagios/libexec/ cp negate /usr/local/nagios/libexec/ chown ­R nagios:nagios /usr/local/nagios/libexec/ chmod +x /usr/local/nagios/libexec/*
  • 20. Multiple Configurations Install.sh ##### Install check_oracle_health ##### cd .. cd support export ORACLE_HOME="/usr/lib/oracle/11.2/client64" export LD_LIBRARY_PATH="$ORACLE_HOME/lib" tar zxvf check_oracle_health­1.7.8.1. tar.gz cd check_oracle_health­1.7.8.1 ./configure make make install mkdir /var/tmp/check_oracle_health chown ­R nagios /var/tmp/check_oracle_health
  • 21. Multiple Configurations Install.sh ##### VNC Ports ##### config_file=${DEFAULT_CONFIG_FILE} VNC_START_PORT=5900 vnc_ports=$(sudo netstat ­anptu | grep 'vnc[[:space:]]*$'| tr ­s ' '|cut ­d ' ' ­f4| cut ­d ':' ­f2) i=0 for port in ${vnc_ports} ; do : $((i++)) printf "command[Check VNC %02d]=/usr/local/nagios/libexec/check_tcp ­H localhost ­p %d ­w 5 ­c 8 ­e n" ${i} ${port} >> ${config_file} done
  • 22. Multiple Configurations Install.sh ##### CPU Core Set Up ##### arg0=2 arg1=1.5 arg2=1 arg3=3 arg4=2.5 arg5=0.5 cpu_nb=$(grep ­c ^processor /proc/cpuinfo) arg0=$((cpu_nb * arg0)) arg1=$(echo "scale=1;${cpu_nb} * ${arg1}" | bc) arg1=$(echo ${arg1} | sed ­e 's/.0$//') arg2=$((cpu_nb * arg2))
  • 23. Multiple Configurations Install.sh ##### Set Hostname ##### host=$(hostname) echo $host echo "#####" echo "Use the hostname above as a base as you type the server name" read name echo "#####" oldString="txb" newString="$name" dpath="/tmp/package64/nrds/*.cfg" sed ­i "s/${oldString}/${newString}/g" /tmp/package64/crontab for i in $dpath; do
  • 24. Multiple Configurations Install.sh ##### Determine Linux Version ##### version=$(lsb_release ­rs| cut ­f1 ­d.) echo $version if [ $version == '6' ]; then echo "version 6" yum install ­y glibc* perl­YAML perl­Time­HiRes elif [ $version == '5' ]; then echo "version 5" yum install ­y glibc* perl­YAML rpm ­ivh /tmp/package64/rhel5/perl­Time­HiRes­1.9724­1. el4.rfx.x86_64.rpm else
  • 25. Multiple Configurations Install.sh ##### Manage Nagios Environement ##### echo 'NAGPATH=/usr/local/nagios/libexec; export NAGPATH' >> /home/nagios/.bash_profile echo 'LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib; export LD_LIBRARY_PATH' >> /home/nagios/.bash_profile echo 'ORACLE_HOME=/usr/lib/oracle/11.2/client64; export ORACLE_HOME' >> /home/nagios/.bash_profile echo 'TNS_ADMIN=/home/nagios; export TNS_ADMIN' >> /home/nagios/.bash_profile echo 'PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/nagios/bin: $ORACLE_HOME/bin; export PATH' >> /home/nagios/.bash_profile echo 'HOME=/home/nagios; export HOME' >> /home/nagios/.bash_profile
  • 26. Multiple Configurations Install.sh ##### Oracle DB Plugins Install ##### cp /tmp/package64/nrds/oracle_db* /usr/local/nrdp/clients/nrds/
  • 27. Multiple Configurations Install.sh ##### App Server Install ##### APP_SERVER=$(ps ­ef| grep tnslsnr|grep ­v grep|wc ­l) if [ ${APP_SERVER} == '1' ]; then echo "Installing Application Server" cp /tmp/package64/nrds/oracle_app* /usr/local/nrdp/clients/nrds/ sed ­i 's/#*/5/*5/' /tmp/package64/crontab else echo "No Application Server Installed...no plugins will be installed for App Server" fi
  • 28. Multiple Configurations Install.sh ##### Admin Server Install ##### ADMIN_SERVER=$(ps ­ef| grep FNDLIBR|grep ­v grep|wc ­l) if [ ${ADMIN_SERVER} == '1' ]; then echo "Installing Admin Server" cp /tmp/package64/nrds/oracle_admin* /usr/local/nrdp/clients/nrds/ sed ­i 's/#*/6/*6/' /tmp/package64/crontab else echo "No Admin Server Installed...no plugins will be installed for Admin Server" fi
  • 29. Multiple Configurations Install.sh ##### Move New Configs ##### cd /tmp/package64/nrds cp nrds* /usr/local/nrdp/clients/nrds/ cp custom* /usr/local/nrdp/clients/nrds/ chown nagios:nagios /usr/local/nrdp/clients/nrds/* ##### Install Cron Jobs ##### /tmp/package64/crontab exit
  • 30. Multiple Configurations Crontab Script #!/bin/bash crontab ­u nagios ­r crontab ­u nagios ­l | { cat; echo "### Cron Jobs for nagios ### ##### OS Metric Checks and Oracle Server Checks ##### */5 * * * * /usr/local/nrdp/clients/nrds/nrds.pl ­H txb 2>&1 */4 * * * * /usr/local/nrdp/clients/nrds/custom.pl ­H txb 2>&1 */6 * * * * /usr/local/nrdp/clients/nrds/oracle_db_server.pl ­H txb 2>&1 #*/5 * * * * /usr/local/nrdp/clients/nrds/oracle_app_server.pl ­H txb 2>&1 #*/6 * * * * /usr/local/nrdp/clients/nrds/oracle_admin_server.pl ­H txb 2>&1 01 * * * * /usr/local/nrdp/clients/nrds/oracle_db_server60.pl ­H txb 2>&1"; } | crontab ­u nagios ­exit
  • 31. Store-and-Forward • Basic Problem Network connections broken for multiple days. • Solution: NRDS Timestamps Using timestamps NRDS is able to rebuild data and graphing on the Nagios server.
  • 32. Store-and-Forward • Example: Broken Connection Network connections breaks 5:17 AM.
  • 33. Store-and-Forward • Example: Broken Connection Network connections breaks 5:17 AM.
  • 34. Store-and-Forward • Example: Broken Connection Network connections restored 6:30 AM.
  • 35. Store-and-Forward • Example: Broken Connection Network connections restored 6:30 AM.
  • 36. Store-and-Forward • Example: Broken Connection Network connections breaks 2:20 PM.
  • 37. Store-and-Forward • Example: Broken Connection Network connections breaks 2:20 PM.
  • 38. Store-and-Forward • Example: Broken Connection Network connections restored 6:26 AM (16 hours).
  • 39. Store-and-Forward • Example: Broken Connection Network connections restored 6:26 AM (16 hours).
  • 40. Store-and-Forward NRDS Client Add a cache line in /usr/local/nrdp/clients/nrds/nrds.cfg CACHEDIR="/usr/local/nrdp/clients/cache" Create folder /usr/local/nrdp/clients/cache The cache needs to collect timestamped data in order to rebuild the information later. mkdir /usr/local/nrdp/clients/cache chown nagios.nagios /usr/local/nrdp/clients/cache chmod 0775 /usr/local/nrdp/clients/cache Timestamps Being Created drwxr­xr­x 2 nagios nagios 4096 Sep 20 07:39 mylock ­rw­­­­­­­1 nagios nagios 1742 Sep 20 07:24 nrdp.6pvqRR1IJ ­rw­­­­­­­1 nagios nagios 1742 Sep 20 07:30 nrdp.B6qVekdsa
  • 41. Store-and-Forward NRDS Client Replace /usr/local/nrdp/clients/send_nrdp.sh original if [ "x$url" == "x" ­o "x$token" == "x" ] echo "Usage: send_nrdp ­u url ­t token" Reference to cache directory if [ "x$url" == "x" ­o "x$token" == "x" ­o "x$directory" == "x" ] echo "Usage: send_nrdp ­u url ­t token ­D directory"
  • 42. Store-and-Forward NRDS Client Replace /usr/local/nagios/libexec/process_perfdata.pl chown nagios.nagios /usr/local/nagios/libexec/process_perfdata.pl chmod 0755 /usr/local/nagios/libexec/process_perfdata.pl if ( $NAGIOS{PERFDATA} =~ /s*__check_timestamp__=(d+)/ ) { $NAGIOS{TIMET} = $1; print_log( "Found encoded timestamp ($NAGIOS{TIMET}) in $NAGIOS{HOSTNAME} / $NAGIOS{SERVICEDESC} ($NAGIOS{PERFDATA})", 1 ); # remove encoded timestamp $NAGIOS{PERFDATA} =~ s/(s*__check_timestamp__=d+)//; print_log( "Perfdata now is: ($NAGIOS{PERFDATA})", 2 ); 218a231,232
  • 43. Script Downloads NRDS Modifications: Beginlinuxservers.com/nagiosconf User: nagiosconference Password: 54TBwh9 Only available during conference.