Skip to content

Infrastructure discovery via Consul

You can configure Soveren to access your Consul installation for automatic discovery of your data storage systems, including self-managed databases and Kafka clusters.

Configuring the DAR sensor

To extract information from Consul, you must specify how your DAR sensor should connect to Consul and what data to retrieve. Here's how it's done:

crawler:
  cfg:
    discoveryservices:
      consul:
        enabled: false
        # Consul HTTP address
        address: ""
        # Interval between checking services in Consul
        checkinterval: "24h"
        # Settings for filtering Kafka services
        kafka:
            # Specifies the filter expression to query.
            # Example:
            # filter: "ServicePort==9092"
            # Must be filled in or the section will be skipped.
          - filter: ""
            # Specifies the datacenter to query.
            # If empty, defaults to the datacenter of the agent being queried.
            datacenter: ""
            # nodemeta is deprecated by Consul.
            # Use filter with NodeMeta selector instead.
            # This parameter is maintained for compatibility
            # with older versions of Consul.
            # Specifies the desired node metadata key:value pairs.
            nodemeta: []
        # Settings for filtering PostgreSQL services
        postgres:
            # Specifies the filter expression to query.
            # Example:
            # filter: "ServicePort==5432"
            # Must be filled in or the section will be skipped.
          - filter: ""
            # Specifies the datacenter to query.
            # If empty, defaults to the datacenter of the agent being queried.
            datacenter: ""
            # nodemeta is deprecated by Consul.
            # Use filter with NodeMeta selector instead.
            # This parameter is maintained for compatibility
            # with older versions of Consul.
            # Specifies the desired node metadata key:value pairs.
            nodemeta: []
        # Settings for filtering MySQL services
        mysql:
            # Specifies the filter expression to query.
            # Example:
            # filter: "ServicePort==3306"
            # Must be filled in or the section will be skipped.
          - filter: ""
            # Specifies the datacenter to query.
            # If empty, defaults to the datacenter of the agent being queried.
            datacenter: ""
            # nodemeta is deprecated by Consul.
            # Use filter with NodeMeta selector instead.
            # This parameter is maintained for compatibility
            # with older versions of Consul.
            # Specifies the desired node metadata key:value pairs.
            nodemeta: []
        # Settings for filtering MSSQL services
        mssql:
            # Specifies the filter expression to query.
            # Example:
            # filter: "ServicePort==1433"
            # Must be filled in or the section will be skipped.
          - filter: ""
            # Specifies the datacenter to query.
            # If empty, defaults to the datacenter of the agent being queried.
            datacenter: ""
            # nodemeta is deprecated by Consul.
            # Use filter with NodeMeta selector instead.
            # This parameter is maintained for compatibility
            # with older versions of Consul.
            # Specifies the desired node metadata key:value pairs.
            nodemeta: []

You must provide a non-empty filter expression each time; otherwise, the entire section will be skipped.

Currently, you can extract information about the following data storage systems: Kafka, PostgreSQL, MySQL, and SQL Server. To do so, specify the appropriate filter expressions in the configuration above.