Configure Lenses to load info from Connector

Question

I am unable to create a new connector or the connector appears to users which the RBAC model should not allow it

Lenses displays this error when a new connector is created:


"Failed to load connector's properties"

Answer

For a new connector plugin Lenses does not know about, additional information is required. This information is used to extract the topic[-s] list a connector plugin instance uses. As a result, the connector instance is rendered in the topology screen and RBAC rules are applied to it.

For more information about registering your connector with Lenses, please check Lenses Topology Options

Here is the configuration to provide to lenses.conf:

connectors.info = [
    {
      class.name = "The connector full classpath"
      name = "The name which will be presented in the UI"
      instance = "Details about the instance. Contains the connector configuration field which holds the information. If  a database is involved it would be  the DB connection details, if it is a file it would be the file path, etc"
      sink = true
      extractor.class = "The full classpath for the implementation knowing how to extract the Kafka topics involved. This is only required for a Source"
      icon = "file.png"
      description = "A description for the connector"
      author = "The connector author"
    }
]

Example

Let’s assume you want to register com.splunk.kafka.connect.SplunkSinkConnector sink connector with Lenses. To configure Lenses to load this connector, pass the following options in lenses.conf

connectors.info = [
  {
    class.name = "com.splunk.kafka.connect.SplunkSinkConnector"
    name = "Splunk Sink",
    instance = "splunk.hec.uri"
    sink = true,
    extractor.class = "io.lenses.core.kafka.connect.SimpleTopicsExtractor"
    icon = "splunk.png",
    description = "Stores Kafka data in Splunk"
    docs = "https://github.com/splunk/kafka-connect-splunk",
    author = "Splunk"
  }
]