What's New in Nagios Core 4
Eric Stanley
Nagios Core 4 - Overview
Released Sep 20, 2013
In development since about June, 2012
Primary developer Andreas Ericsson
Nagios Core 4 - Performance
Core Workers lightweight processes which perform simple tasks
Configuration Verification each configuration item only checked once
Event Queue Insertions now O(log n)
Macro ResolutionSorted on start-up
$ARGx$, $USERx$, $HOSTADDRESS$
Nagios Core 4 Query Handler
External interface to main Nagios Core process
Uses Unix-domain socket/usr/local/nagios/var/rw/nagios.qh
Simple protocol
Nagios Core 4 Query Handler
core - provides Nagios Core management and information
wproc - provides worker process registration, management and information
nerd - provides a subscription service to the Nagios Event Radio Dispatcher (NERD)
help - provides help for the query handler
echo - implements a basic query handler that simply echoes back the queries sent to it
Nagios Core 4 Core Workers
Nagios CoreInitialization
Scheduling
Initiate Host/Service Checks
Retrieve Host/Service Check Results
Handle Downtime
Send Notifications
Process External Commands
Nagios Core 4 Core Workers
Nagios Core 3Entire process forked twice for each check
Check results written to and read from disk
Nagios Core 4 Core Workers
Nagios Core 4Core workers forked at Nagios start
Core workers only contain code needed to perform their tasks
Only need to fork for actual check when check is complex
Check results passed to main Nagios process in memory
Nagios Core 4 Core Workers
Workers register using query handler interface
Workers can register for specific checksSpecialized workers
Future possibilitiesRemote workers
Workers for specific hosts
Nagios Core 4 Object Changes
Hourly Value (hosts and services)Intended to convey value of the host or service to the organization
Integer value
Example: development server would have low value but e-commerce web server would have high value
Nagios Core 4 Object Changes
Minimum Value (contacts)If hourly value of host or service is less than contact's minimum value, contact is NOT notified of problems
Value of host is host's hourly value plus hourly values of all host's services
Example: sysadmin might have low minimum value, but CIO might have a high minimum value
Nagios Core 4 Object Changes
Service parentsAnalogous to host parents
Can be used in place of service dependencies for most cases
Example: check_by_ssh checks could have check_ssh as parent
Host address attribute is now optionalSet to host name when missing
Nagios Core 4 Object Changes
obsess_over_host and obsess_over_service now support shorter attribute obsess
failure_prediction_enabled has been removed
Nagios Core Object Behavior
Contact InheritanceContacts only inherited by services from hosts if service has no contacts or contact groups in its definition
Time PeriodsProblems resolved where time periods contained both exclusions and exceptions
Nagios Core 4 Configuration
status_file and object_cache_file can be set to /dev/nullCGIs still need these files
log_current_states determines whether current states are logged when logs are rotated
check_workers specifies number of core workers forked at Nagios startWhen unspecified, number of workers is calculated based on number of CPU cores
Nagios Core 4 - Configuration
query_socket location of query handler socket
enable_environment_macros determines whether macros are exported to environment when commands are run
All paths in nagios.cfg can now be relative to location of nagios.cfg
check_result_reaper_frequency and max_check_result_reaper_time deprecated
Object definitions in nagios.cfg prohibited
Nagios Core 4 - Macros
$CHECKSOURCE$ - new macro containing name of worker that performed check
When use_large_installation_tweaks set, $HOSTGROUPMEMBERS$ and $SERVICEGROUPMEMBERS$ no longer exported
enable_environment_macros configuration option (discussed earlier)
Macro-related performance enhancements
Nagios Core 4 - Miscellaneous
libnagios contains code to support worker development
Documentation some doxygen formatted docs now available (make dox)
Test Suite significantly updated
nagios.spec overhauled to bring up to current standards
Object IDs each object has a unique now has a unique ID, but it is not persistent
Nagios Core 4 Deprecated Features
Extended Host and Service Information now available in host and service definitions
-x/--dont-verify-paths command line option Don't check for circular object paths
Configuration variablescheck_result_reaper_frequency
max_check_result_reaper_time
sleep_time
external_command_buffer_slots
command_check_interval
Nagios Core 4 Obsoleted Features
Embedded PerlMost problematic part of Nagios Core
Speed improvement obviates need for embedded perl
Is possible to write embedded perl core worker
Failure predictionNever implemented
Would have broken Nagios Core paradigm
-o/--dont-verify-objects command line option
Nagios Core 4 More Information
Nagios Core Documentationhttp://nagios.sourceforge.net/docs/nagioscore/4/en/
What's New page
Doxygen Documentationmake dox
nagios-*.tar.gzUse the Source, Luke
Nagios Core 4 Experience
One person's experience2300 hosts, 4500 services
Nagios Core 3.4.0 to 4.0.0
24 core system, 32 GB RAM
Nagios Core 4 - Thanks
Andreas Ericsson
Robin Sonefors
Eric Stanley
Max Sikstrm
Dan Wittenberg
Ricardo Maraschini
Anton Lfgren
many others
Nagios Core 4 - Questions
Questions?
Click to edit the outline text format
Second Outline Level
Third Outline Level
Fourth Outline Level
Fifth Outline Level
Sixth Outline Level
Seventh Outline Level
Eighth Outline Level
Ninth Outline Level
Click to edit the title text format
Click to edit the title text format
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline LevelSeventh Outline LevelEighth Outline LevelNinth Outline Level