Configuring InstrumentalD

InstrumentalD accepts a simple config file formatted in toml. Here's an example:

project_token = "YOUR_PROJECT_TOKEN"
system = ["cpu", "disk", "load", "memory", "network", "swap"]
docker = ["unix:///var/run/docker.sock"]
redis = ["tcp://localhost:6379"]
memcached = ["localhost:11211"]
mongodb = ["localhost:27017"]
nginx = ["http://localhost:80/status"]
mysql = ["root@tcp(localhost:3306)/"]
postgresql = ["postgres://postgres@localhost?sslmode=disable"]

By default, InstrumentalD will look for /etc/instrumentald.toml. Alternatively, you can override that value by passing a path to the process via flag when starting:

instrumentald -c './conf/instrumental.toml'

Config Options

The following options are accepted:

  • project_token
  • docker
  • memcached
  • mongodb
  • nginx
  • mysql
  • postgresql
  • redis
  • system
  • project_token

    A project token. Note: Passing a token via the k command line flag will override the value from the config file.

    project_token = "PROJECT_TOKEN"
    

    docker

    An array of addresses for the Docker process.

    docker = ["unix:///var/run/docker.sock"]
    

    Learn more about Docker metrics that InstrumentalD collects

    memcached

    An array of addresses for the memcached servers you want to monitor.

    memcached = ["localhost:11211"]
    

    Learn more about Memcached metrics that InstrumentalD collects

    mongodb

    An array of URIs for the MongoDB servers you want to monitor.

    mongodb = ["localhost:27017"]

    Learn more about MongoDB metrics that InstrumentalD collects

    mysql

    An array of URLs for the MySQL servers you want to monitor.

    mysql = ["root@tcp(localhost:3306)/"]
    

    URLs must match this pattern:

    [username[:password]@][protocol[(address)]]/[?tls=[true|false|skip-verify]]
    

    Learn more about MySQL metrics that InstrumentalD collects

    nginx

    An array of URLs for the Nginx servers you want to monitor.

    nginx = ["http://localhost:80/status"]
    

    URLs must match this pattern:

    [protocol://]address[:port][/path-to-status]
    

    Learn more about Nginx metrics that InstrumentalD collects

    postgresql

    An array of URLs for the PostgresQL servers you want to monitor.

    postgresql = ["postgres://postgres@localhost?sslmode=disable"]
    

    URLs must match this pattern:

    postgres://[pqgotest[:password]]@localhost[/dbname]\?sslmode=[disable|verify-ca|verify-full]
    

    Learn more about PostgreSQL metrics that InstrumentalD collects

    redis

    An array of URLs for the redis servers you want to monitor.

    redis = ["tcp://localhost:6379"]

    URLs must match this pattern:

    [protocol://][:password]@address[:port]
    

    Learn more about Redis metrics that InstrumentalD collects

    system

    An array of the namespaces of system metrics you want to collect. The following are all of the possible values:

    system = ["cpu", "disk", "load", "memory", "network", "swap"]

    Pass an empty array ([]) to collect no system metrics. Boolean true and false are also acceptable, and represent "collect all system metrics" and "collect no system metrics" respectively.

    Learn more about the system metrics that InstrumentalD collects

    Questions? We can help!