• [+] expand all

services.xml - 'admin'

Reference documentation for <admin> in services.xml.

admin [version]
    adminserver [hostalias]
    cluster-controllers
        cluster-controller [hostalias, baseport, jvmargs]
    configserver [hostalias, baseport, jvmargs]

    configservers
        configserver [hostalias, baseport, jvmargs]
    logserver
    slobroks
        slobrok [hostalias, baseport, jvmargs]
    monitoring
        interval
        systemname
    metrics
        consumer [id]
            metric-set [id]
            metric [id]
            cloudwatch [region, namespace]
                shared-credentials [file, profile]
AttributeRequiredValueDefaultDescription
version required number 2.0 in this version of Vespa

Example:

<admin version="2.0">
  <adminserver hostalias="node0" />
  <configservers>
    <configserver hostalias="node1" />
    <configserver hostalias="node2" />
    <configserver hostalias="node3" />
  </configservers>
  <logserver hostalias="node1" />
  <slobroks>
    <slobrok hostalias="node1" />
    <slobrok hostalias="node2" />
    <slobrok hostalias="node3" />
  </slobroks>
</admin>

adminserver

The configured node will be the default administration node in your Vespa system, which means that unless configured otherwise all administrative services - i.e. the log server, the configuration server, the slobrok, and so on - will run on this node. Use configservers, logserver, slobroks elements if you need to specify baseport or jvmargs for any of these services.

AttributeRequiredValueDefaultDescription
hostalias required string
baseport optional number

cluster-controllers

Container for one or more cluster-controller elements. When having one or more content clusters, configuring at least one cluster controller is required.

AttributeRequiredValueDefaultDescription
standalone-zookeeper optional true/false false Will by default share the ZooKeeper instance with configserver. If configured to true a separate ZooKeeper instance will be configured and started on the set of nodes where you run cluster controller on. The set of cluster controllers nodes cannot overlap with the set of nodes where config server is running. If this setting is changed from false to true in a running system all previous cluster state information will be lost as the underlying ZooKeeper changes. Cluster controllers will re-discover the state, but nodes that have been manually set as down will again be considered to be up.

cluster-controller

Specifies a host on which to run the Cluster Controller service. The Cluster Controller manages the state of the cluster in order to provide elasticity and failure detection.

AttributeRequiredValueDefaultDescription
hostalias required string
baseport optional number
jvmargs optional string

Example:

<cluster-controllers standalone-zookeeper="true">
  <cluster-controller hostalias="node1" />
  <cluster-controller hostalias="node2" />
  <cluster-controller hostalias="node3" />
</cluster-controllers>

configservers

Container for one or more configserver elements.

configserver

Specifies a host on which to run the Configuration Server service. If contained directly below <admin> you may only have one, so if you need to configure multiple instances of this service, contain them within the <configservers> element.

AttributeRequiredValueDefaultDescription
hostalias required string
baseport optional number
jvmargs optional string

Example:

<configservers>
  <configserver hostalias="node1" />
  <configserver hostalias="node2" />
  <configserver hostalias="node3" />
</configservers>

logserver

Specifies a host on which to run the Vespa Log Server service.

AttributeRequiredValueDefaultDescription
hostalias required string
baseport optional number
jvmargs optional string

Example:

<logserver hostalias="node1" />

slobroks

This is a container for one or more slobrok elements.

slobrok

Specifies a host on which to run the Service Location Broker (slobrok) service.

AttributeRequiredValueDefaultDescription
hostalias required string
baseport optional number
jvmargs optional string

Example:

<slobroks>
  <slobrok hostalias="node1" baseport="12345"/>
  <slobrok hostalias="node2" baseport="12345"/>
  <slobrok hostalias="node3" baseport="12345"/>
</slobroks>

monitoring

Settings for how to pass metrics to a monitoring service - see monitoring.

<monitoring>
  <interval>1</interval>
  <systemname>name-in-metrics-system</systemname>
</monitoring>
interval Currently unused, (the rate at which metrics are passed to the monitoring system, in minutes)
systemname The name of the application in question in the monitoring system, default is "vespa"

metrics

Used for configuring the forwarding of metrics to graphing applications - add consumer child elements. Also see monitoring. Example:

<metrics>
  <consumer id="my-yamas-namespace">
    <metric-set id="default" />
    <metric id="my-custom-metric" />
      <cloudwatch region="us-east-1" namespace="my-vespa">
        <shared-credentials file="/path/to/credentials-file" profile="default" />
      </cloudwatch>
  </consumer>
</metrics>

consumer

Configure a metrics consumer. The metrics contained in this element will be exported to the consumer with the given id. For example one can do /prometheus/v1/values?consumer=my-consumer.

Add metric and/or metric-set children.

AttributeRequiredValueDefaultDescription
id required string The name of the consumer to export metrics to.

metric-set

Include a pre-defined set of metrics to the consumer.

AttributeRequiredValueDefaultDescription
id required string The id of the metric set to include, currently "default" and "vespa" are valid

metric

Configure a metric.

AttributeRequiredValueDefaultDescription
id required string The name of the metric as defined in your code or in process metrics api

Note that metric id needs to include the metric specific suffix, e.g. .average.

In this example, there is one metric added to a custom consumer in addition to the default metric set. Use &consumer=my-custom-consumer parameter for the prometheus endpoint. Also notice the .count suffix, see process metrics api.

The per process metrics api endpoint /state/v1/metrics also includes a description of each emitted metric. The /state/v1/metrics endpoint also includes the metric aggregates (.count, .average, .rate, .max).

<metrics>
  <consumer id="my-custom-consumer">
    <metric-set id="default" />
    <metric id="vds.idealstate.garbage_collection.documents_removed.count" />
  </consumer>
</metrics>

cloudwatch

Specifies that the metrics from this consumer should be forwarded to CloudWatch.

AttributeRequiredValueDefaultDescription
region required string Your AWS region
namespace required string The metrics namespace in CloudWatch

Example:

<cloudwatch region="us-east-1" namespace="my-vespa">
  <shared-credentials file="/path/to/credentials-file" profile="default" />
</cloudwatch>

shared-credentials

Specifies that a profile from a shared-credentials file should be used for authentication to CloudWatch.

AttributeRequiredValueDefaultDescription
file required string The path to the shared-credentials file
profile optional string default The profile in the shared-credentials file