mentix

Configuration for the Mentix service

Mentix (Mesh Entity Exchanger) is a service to read and write mesh topology data to and from one or more sources (e.g., a GOCDB instance) and export it to various targets like an HTTP endpoint or Prometheus.

General settings

Services

Connectors

Mentix is decoupled from the actual sources of the mesh data by using so-called connectors. A connector is used to gather the data from a certain source, which are then converted into Mentix’ own internal format.

Supported connectors:

  • gocdb The GOCDB is a database specifically designed to organize the topology of a mesh of distributed sites and services. In order to use GOCDB with Mentix, its instance address has to be configured (see here).

  • localfile The localfile connector reads sites from a local JSON file. The file must contain an array of sites adhering to the meshdata.Site structure.

Importers

Mentix can import mesh data from various sources and write it to one or more targets through the corresponding connectors.

Supported importers:

  • sitereg Mentix can import new sites via an HTTP endpoint using the sitereg importer. Data can be sent to the configured relative endpoint (see here).

Exporters

Mentix exposes its gathered data by using one or more exporters. Such exporters can, for example, write the data to a file in a specific format, or offer the data via an HTTP endpoint.

Supported exporters:

  • webapi Mentix exposes its data via an HTTP endpoint using the webapi exporter. Data can be retrieved at the configured relative endpoint (see here). The web API currently doesn’t support any parameters but will most likely be extended in the future.
  • cs3api Similar to the WebAPI exporter, the cs3api exporter exposes its data via an HTTP endpoint. Data can be retrieved at the configured relative endpoint (see here). The data is compliant with the CS3API ProviderInfo structure.
  • siteloc The Site Locations exporter siteloc exposes location information of all sites to be consumed by Grafana at the configured relative endpoint (see here).
  • promsd Prometheus supports discovering new services it should monitor via external configuration files (hence, this is called file-based service discovery). Mentix can create such files using the promsd exporter. To use this exporter, you have to specify the target output files in the configuration (see here). You also have to set up the discovery service in Prometheus by adding a scrape configuration like the following example to the Prometheus configuration (for more information, visit the official Prometheus documentation):

      - job_name: 'sciencemesh'
        file_sd_configs:
          - files:
             - '/usr/share/prom/sciencemesh_services.json'
  • metrics The Metrics exporter exposes various site-specific metrics through Prometheus.

Site Accounts service

Mentix uses the Reva site accounts service to query information about site accounts. The following settings must be configured properly:


cs3api

Configuration for the CS3API of the Mentix service

gocdb

Configuration for the GOCDB connector of the Mentix service

localfile

Configuration for the local file connector of the Mentix service

metrics

Configuration for the Metrics exporter of the Mentix service

promsd

Configuration for the Prometheus SD exporter of the Mentix service

siteloc

Configuration for the Site Locations exporter of the Mentix service

sitereg

Configuration for site registration service

webapi

Configuration for the WebAPI of the Mentix service