Skip to content
This repository has been archived by the owner on Jun 29, 2020. It is now read-only.
Matt West edited this page May 31, 2014 · 5 revisions

Saigon was created out of the need to be able to manage and reliably build Nagios configuration files for large scale infrastructure, with a focus on dynamic host detection / integration.

What you will find here is an attempt to solve this problem, in a manner that allows for a central service to interact with many other services and still build the same testable, reproducible, and reliable file information. The service can be run on a single machine or as scale requires across multiple nodes. The system has a User Interface, an API for programmatic access, and consumers which call in for all of the appropriate data to build Nagios or NRPE configuration or plugin files.

Core Requirements:

  • Redis - ( Datastore for metadata )

  • Beanstalkd - ( Job queue for config test / show / diff consumer )

  • PHP 5.3+ - ( UI / API / Library / Nagios configuration consumer language )

  • Tested against CentOS 5.x(v5.3.3)/6.x(v5.3.3) and Ubuntu 12.04 LTS(v5.3.10)

  • php modules:

    • php-common - ( PHP's common core package )
    • php-cli - ( PHP's command line interface package )
    • php-process - ( PHP's DSO for system integration package )
  • phpredis - PHP Redis Module

  • composer modules - ( composer.json ) - ( Supplemental PHP Library Manager )

  • Perl - ( NRPE / Nagios Plugin / ModGearman consumer language )

  • Tested against CentOS 5.x(v5.8.8)/6.x(v5.10.1) and Ubuntu 12.04 LTS(v5.14.2)

  • cpan modules:

    • Config::Auto - ( Config parsing module )
    • Config::IniFiles - ( Config::Auto dependency )
    • Digest::MD5 - ( MD5 creation and verification module )
    • File::Copy - ( File copying module )
    • IO::Interface::Simple - ( IO interface parsing module )
    • JSON - ( JSON encode and decode module )
    • LWP::UserAgent - ( Curl interface module )
    • LWP::Protocol::https - ( SSL Curl module )
    • MIME::Base64 - ( Base64 encode and decode module )
  • Apache - ( PHP Handler for UI / API )

Extended Requirements:

  • php-ldap - ( PHP's LDAP integration package used by Saigon LDAPAuth module code )
  • Monit - ( Nagios test / show / diff consumer process watch dog )
  • Nginx - ( SSL Termination / API Request Cache )

Todo: Finish Public Documentation ;)

Clone this wiki locally