/titan

Titan is a Mac Monitoring Client

Primary LanguagePythonMIT LicenseMIT

Titan

Titan was designed with one large goal in mind, continuous reporting. The framework is tied closely with the Mac OS X core to detect an active Internet connection and push any reports which may have been blocked.

Origination

Titan spawned from the hard work of the MIDAS/Tripyarn project, a Etsy/Facebook masterpiece. We wanted to create a framework that was easily extended and simply managed by utilities like Chef/Puppet. Additionally, MIDAS used Syslog to report back to a centralized logging service. This is great, but we wanted a solution that would store/queue results and relay them when an Internet connection was detected.

Features

The following features are currently supported in Titan:

  • Dynamic module loading
  • Easy 3rd-party module installation
  • Supports Python, Ruby, Bash, Perl or PHP module runtimes
  • REST endpoint and reporting via Olympus
  • Inventory management [in dev]
  • Local report viewing [in dev]
  • Customizable reporting mechanism [in dev]

Usage

Installation:

Configuration:

Default configuration expects Titan to exist in /usr/local/titan/. Of course, you can change this and update TITAN_PATH in /etc/profile.d or /etc/environments depending on what system you are using. You can use the titan.conf-example file as a boilerplate for your configuration which should be named titan.conf.

cd /path/to/titan
cp titan.conf-example titan.conf
vi titan.conf

Adding Modules:

Adding modules is simple using git clone in the modules/ directory.

cd /path/to/titan/modules
git clone https://github.com/titan-modules/git_repository.git

The autoloader will identify and load the module on next run.

Creating Modules:

Take a look at some of the existing modules until we are able formalize our documentation.

Contributors

Titan Contributors

Original MIDAS Contributors

Enjoy.