Connectors Introduction

Optionally, you can configure Graphistry to use database connectors. Graphistry will orchestrate cross-database query generation, pushing them down through the database API, and returning the combined results to the user. This means Graphistry can reuse your existing scaleout infrastructure and make data across systems more accessible to your users.

Security Notes

  • Graphistry only needs `read only` access to the database
  • Only one system-wide connector can be used per database per Graphistry virtual server at this time. Ex: You can have Splunk user 1 + Neo4j user 2 on one running Graphistry container, and Splunk user 3 + Neo4j user 2 on another running Graphistry container.
  • [Templates](templates.md) and other embedding modes do not require further Graphistry configuration be beyond potentially API key generation. However, Graphistry implementors will still need access to external dashboards, APIs, etc., into which they'll be embedding Graphistry views.

Get started

  1. Edit lines of `data/config/custom.env` corresponding to your connector and restart Graphistry (see `.env` for commented out examples):
    ES_HOST=...
    SPLUNK_HOST=...
    
  2. Restart `graphistry`, or at least the `pivot` service: `docker compose stop && docker compose up -d` or `docker compose stop nginx pivot && docker compose up -d`
  3. Test
    • In `/pivot/connectors`, configured databases should appear in the live connectors section, and clicking the status check should turn them green
    • Running a sample investigation with a database query should return results

See also connector configuration examples for Splunk and Neo4j

Variants

  • Run a bastion server between Graphistry and your database, such as a new Splunk search head
  • Create fine-grained permissions by running multiple Graphistry virtual servers, with a new Splunk role per instance