Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. InfluxDB
  3. Graphios

Graphios

Python

A program to send Nagios performance data to Graphite, StatsD, Librato, and InfluxDB.

GitHubGitHub
287 stars98 forks0 contributors

What is Graphios?

Graphios is a Python script that forwards performance data from Nagios, Icinga, or Naemon monitoring systems to external time-series databases and metrics platforms like Graphite, StatsD, Librato, and InfluxDB. It solves the problem of integrating traditional monitoring systems with modern graphing and analytics tools, enabling better visualization and long-term trend analysis of infrastructure metrics.

Target Audience

Intermediate to advanced Nagios, Icinga, or Naemon administrators who want to export performance data to graphing systems for visualization and analysis.

Value Proposition

Developers choose Graphios because it supports multiple backends simultaneously, offers flexible metric naming through custom variables or automatic service descriptions, and integrates seamlessly with existing Nagios configurations without replacing the monitoring system itself.

Overview

A program to send nagios perf data to graphite (carbon) / statsd / librato / influxdb

Use Cases

Best For

  • Sending Nagios perfdata to Graphite for long-term metric storage
  • Forwarding monitoring metrics to StatsD for real-time aggregation
  • Exporting performance data to InfluxDB for time-series analysis
  • Integrating Nagios with Librato for cloud-based metrics visualization
  • Using service descriptions for automatic metric naming without custom variables
  • Adding a universal prefix to all metrics for multi-source environments

Not Ideal For

  • Teams using modern monitoring stacks like Prometheus that natively export metrics without Nagios
  • Environments requiring Python 3.x compatibility for future development
  • Projects needing real-time, sub-second metric streaming due to file-based batch processing with configurable intervals
  • Setups with highly inconsistent plugin output units, as Graphios doesn't handle unit normalization

Pros & Cons

Pros

Multi-Backend Flexibility

Simultaneously sends metrics to Graphite, StatsD, Librato, and InfluxDB, enabling integration with diverse graphing systems without replacing Nagios.

Customizable Metric Naming

Uses Nagios custom variables (_graphiteprefix, _graphitepostfix) or service descriptions to construct hierarchical metric names, offering fine-grained control.

Backend-Specific Optimizations

Adapts naming for backends like Librato by omitting hostnames as separate source dimensions, ensuring compatibility with their metrics model.

Automatic Naming Option

Allows using service descriptions for metric naming without custom variables, simplifying setup for environments with consistent service labels.

Cons

Python 2.x Dependency

Only supports Python 2.6 or later, not Python 3.x, which is outdated and limits adoption in modern Python ecosystems.

Complex Configuration

Requires manual modifications to Nagios.cfg, custom command definitions, and graphios.cfg, making installation error-prone for non-experts.

File-Based Processing Overhead

Relies on moving and processing spool files at intervals (e.g., 15 seconds), which may not scale well for high-volume, low-latency metric streams.

Frequently Asked Questions

Quick Stats

Stars287
Forks98
Contributors0
Open Issues36
Last commit9 years ago
CreatedSince 2011

Tags

#graphite#nagios#icinga#monitoring#time-series#influxdb#statsd#metrics

Built With

P
Python

Included in

InfluxDB817
Auto-fetched 4 hours ago

Related Projects

glancesglances

Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, macOS and Windows operating systems.

Stars33,836
Forks1,840
Last commit12 hours ago
cAdvisorcAdvisor

Analyzes resource usage and performance characteristics of running containers.

Stars19,497
Forks2,499
Last commit11 days ago
gatlinggatling

Modern Load Testing as Code

Stars6,954
Forks1,209
Last commit2 days ago
RiemannRiemann

A network event stream processing system, in Clojure.

Stars4,267
Forks503
Last commit6 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub