Skip to content

InfluxDB

InfluxDB is the most commonly used destination for Butler SOS metrics. It's a time-series database optimized for storing measurements and metrics.

Why InfluxDB?

  • Purpose-built for metrics - Optimized for time-stamped data
  • Pairs with Grafana - Create powerful dashboards
  • Data retention policies - Automatically purge old data
  • Aggregation - Summarize historical data to save space

Supported versions

VersionStatus
InfluxDB 1.x✅ Supported
InfluxDB 2.x✅ Supported
InfluxDB Cloud⚠️ Reported to work, not officially tested
InfluxDB 3.x❌ Not supported

Data retention

Butler SOS stores data in full detail without aggregation. Consider:

  • Storage growth - More servers + frequent polling + long retention = lots of data
  • Recommended retention - 10-14 days is usually sufficient for operational monitoring
  • Extended history - Use InfluxDB's aggregation features for longer-term trends

TIP

The retention policy in the config file only applies when Butler SOS creates a new database. Existing databases keep their current settings.

Configuration

yaml
Butler-SOS:
  influxdbConfig:
    enable: true
    host: influxdb.mycompany.com
    port: 8086
    version: 1 # 1 or 2

    # InfluxDB 2.x settings
    v2Config:
      org: myorg
      bucket: mybucket
      description: Butler SOS metrics
      token: mytoken
      retentionDuration: 10d

    # InfluxDB 1.x settings
    v1Config:
      auth:
        enable: false
        username: <username>
        password: <password>
      dbName: SenseOps
      retentionPolicy:
        name: 10d
        duration: 10d

    # Control what data is stored
    includeFields:
      activeDocs: false # Can generate lots of data
      loadedDocs: false # Can generate lots of data
      inMemoryDocs: false # Can generate lots of data

Key settings

SettingDescription
enableEnable/disable InfluxDB storage
hostInfluxDB hostname or IP address
portInfluxDB port (usually 8086)
versionSet to 1 for InfluxDB 1.x, 2 for InfluxDB 2.x
includeFieldsControl which document lists are stored

InfluxDB 2.x specific

SettingDescription
orgYour InfluxDB organization
bucketBucket to store data in
tokenAuthentication token
retentionDurationHow long to keep data

InfluxDB 1.x specific

SettingDescription
dbNameDatabase name
auth.enableWhether authentication is required
retentionPolicyDefault retention policy for new databases

Document lists

The includeFields settings control whether lists of active, loaded, and in-memory documents are stored:

Caution

Enabling activeDocs, loadedDocs, or inMemoryDocs can generate significant data volume, especially in environments with many apps.

  • activeDocs - Apps where users are currently working
  • loadedDocs - Apps loaded in memory with active sessions
  • inMemoryDocs - Apps in memory but without active sessions

Released under the MIT License.