API for managing log collection targets, sources, and TLS bundles.
Observability Service
─── TLS Bundles ───────────────────────────────────────────────────────────
ListCollectors returns the last-known heartbeat state of all log collectors (Alloy instances) that have polled ConfigService on this cluster.
A successful response.
| object | object | ||
| collectors15 fields | array[object] | ||
| id | string | ||
| lastSeen | string | ||
| alloyStatus | string |
Enum: Default: ALLOY_UNSPECIFIED | |
| configHash | string | ||
| remotecfgStatus | string |
Enum: Default: REMOTECFG_UNSPECIFIED | |
| pipelineHealth | string | ─── Collectors ────────────────────────────────────────────────────────────── PipelineHealth is the runtime health of the logging pipeline on one Alloy agent, derived by polling the Alloy HTTP API on a configurable cadence. DEGRADED covers component errors and runtime failures for a SUBSET of targets. ERROR means ALL configured exporters have active failures. UNKNOWN means the Alloy HTTP API was unreachable.
Enum: Default: UNSPECIFIED | |
| unhealthyComponents5 fields | array[object] | ||
| localId | string | ||
| name | string | ||
| state | string | ||
| message | string | ||
| updatedTime | string | ||
| pipelineCheckedAt | string | ||
| pipelineError | string | ||
| exporterSendFailedDelta | string | ||
| lokiDroppedEntriesDelta | string | ||
| failingExporters | array[string] | ||
| totalExporters | int32 | ||
| exporterSendFailedTotal | string | ||
| exporterQueueSize | string |
An unexpected error response.
GetCollector returns the heartbeat state for a single collector by ID.
| id | string |
A successful response.
| object | object | ||
| collector15 fields | object | CollectorStatus is the composite health view for one log collector (Alloy instance). | |
| id | string | ||
| lastSeen | string | ||
| alloyStatus | string |
Enum: Default: ALLOY_UNSPECIFIED | |
| configHash | string | ||
| remotecfgStatus | string |
Enum: Default: REMOTECFG_UNSPECIFIED | |
| pipelineHealth | string | ─── Collectors ────────────────────────────────────────────────────────────── PipelineHealth is the runtime health of the logging pipeline on one Alloy agent, derived by polling the Alloy HTTP API on a configurable cadence. DEGRADED covers component errors and runtime failures for a SUBSET of targets. ERROR means ALL configured exporters have active failures. UNKNOWN means the Alloy HTTP API was unreachable.
Enum: Default: UNSPECIFIED | |
| unhealthyComponents5 fields | array[object] | ||
| localId | string | ||
| name | string | ||
| state | string | ||
| message | string | ||
| updatedTime | string | ||
| pipelineCheckedAt | string | ||
| pipelineError | string | ||
| exporterSendFailedDelta | string | ||
| lokiDroppedEntriesDelta | string | ||
| failingExporters | array[string] | ||
| totalExporters | int32 | ||
| exporterSendFailedTotal | string | ||
| exporterQueueSize | string |
An unexpected error response.
sources
A successful response.
| object | object | ||
| sources6 fields | array[object] | ||
| name | string | ||
| enabled | boolean | ||
| logFormat | string |
Enum: Default: LOG_FORMAT_UNSPECIFIED | |
| minLevel | string | Enum: Default: UNSPECIFIED | |
| journald | object | ||
| syslogIdentifier | string | ||
| file2 fields | object | ||
| paths | array[string] | ||
| labels | object | ||
| * | string |
An unexpected error response.
sources
| object | object | ||
| name | string | ||
| enabled | boolean | ||
| logFormat | string |
Enum: Default: LOG_FORMAT_UNSPECIFIED | |
| minLevel | string | Enum: Default: UNSPECIFIED | |
| journald | object | ||
| syslogIdentifier | string | ||
| file2 fields | object | ||
| paths | array[string] | ||
| labels | object | ||
| * | string |
A successful response.
| object | object | ||
| source6 fields | object | ||
| name | string | ||
| enabled | boolean | ||
| logFormat | string |
Enum: Default: LOG_FORMAT_UNSPECIFIED | |
| minLevel | string | Enum: Default: UNSPECIFIED | |
| journald | object | ||
| syslogIdentifier | string | ||
| file2 fields | object | ||
| paths | array[string] | ||
| labels | object | ||
| * | string |
An unexpected error response.
{name}
| name | string |
A successful response.
| object | object | ||
| source6 fields | object | ||
| name | string | ||
| enabled | boolean | ||
| logFormat | string |
Enum: Default: LOG_FORMAT_UNSPECIFIED | |
| minLevel | string | Enum: Default: UNSPECIFIED | |
| journald | object | ||
| syslogIdentifier | string | ||
| file2 fields | object | ||
| paths | array[string] | ||
| labels | object | ||
| * | string |
An unexpected error response.
{name}
| name | string |
A successful response.
| object | object | ||
| deleted | boolean | True if the source existed and was removed; false if it was already absent. |
An unexpected error response.
{source.name}
| source.name | string |
| object | object | ||
| enabled | boolean | ||
| logFormat | string |
Enum: Default: LOG_FORMAT_UNSPECIFIED | |
| minLevel | string | Enum: Default: UNSPECIFIED | |
| journald | object | ||
| syslogIdentifier | string | ||
| file2 fields | object | ||
| paths | array[string] | ||
| labels | object | ||
| * | string |
A successful response.
| object | object | ||
| source6 fields | object | ||
| name | string | ||
| enabled | boolean | ||
| logFormat | string |
Enum: Default: LOG_FORMAT_UNSPECIFIED | |
| minLevel | string | Enum: Default: UNSPECIFIED | |
| journald | object | ||
| syslogIdentifier | string | ||
| file2 fields | object | ||
| paths | array[string] | ||
| labels | object | ||
| * | string |
An unexpected error response.
targets
A successful response.
| object | object | ||
| targets5 fields | array[object] | ||
| name | string | ||
| type | string | Enum: Default: TYPE_UNSPECIFIED | |
| enabled | boolean | ||
| loki4 fields | object | ||
| url | string | ||
| username | string | ||
| password | string | ||
| tlsBundle | string | Name of a TLSBundle. When set, overrides basic auth with TLS. | |
| rsyslog5 fields | object | ||
| endpoint | string | Hostname (RFC 1123) or IP address of the rsyslog server, host only with no port and no scheme, e.g. "rsyslog.example.com". Set the port in the port field. Hostnames are resolved by each node at connect time. | |
| port | int32 | TCP port of the rsyslog server, 1-65535. | |
| timeout | string | How long each node waits for a send to the rsyslog server before counting it as failed, as a Go duration string, e.g. "5s", "30s". Defaults to "5s" when empty. | |
| debug | boolean | When true, each node also prints every log record it sends to this target to the log collector's own log, for troubleshooting. | |
| tlsBundle | string | Name of a TLSBundle. When empty, connection is plain TCP (no TLS). |
An unexpected error response.
targets
| object | object | ||
| name | string | ||
| type | string | Enum: Default: TYPE_UNSPECIFIED | |
| enabled | boolean | ||
| loki4 fields | object | ||
| url | string | ||
| username | string | ||
| password | string | ||
| tlsBundle | string | Name of a TLSBundle. When set, overrides basic auth with TLS. | |
| rsyslog5 fields | object | ||
| endpoint | string | Hostname (RFC 1123) or IP address of the rsyslog server, host only with no port and no scheme, e.g. "rsyslog.example.com". Set the port in the port field. Hostnames are resolved by each node at connect time. | |
| port | int32 | TCP port of the rsyslog server, 1-65535. | |
| timeout | string | How long each node waits for a send to the rsyslog server before counting it as failed, as a Go duration string, e.g. "5s", "30s". Defaults to "5s" when empty. | |
| debug | boolean | When true, each node also prints every log record it sends to this target to the log collector's own log, for troubleshooting. | |
| tlsBundle | string | Name of a TLSBundle. When empty, connection is plain TCP (no TLS). |
A successful response.
| object | object | ||
| target5 fields | object | ||
| name | string | ||
| type | string | Enum: Default: TYPE_UNSPECIFIED | |
| enabled | boolean | ||
| loki4 fields | object | ||
| url | string | ||
| username | string | ||
| password | string | ||
| tlsBundle | string | Name of a TLSBundle. When set, overrides basic auth with TLS. | |
| rsyslog5 fields | object | ||
| endpoint | string | Hostname (RFC 1123) or IP address of the rsyslog server, host only with no port and no scheme, e.g. "rsyslog.example.com". Set the port in the port field. Hostnames are resolved by each node at connect time. | |
| port | int32 | TCP port of the rsyslog server, 1-65535. | |
| timeout | string | How long each node waits for a send to the rsyslog server before counting it as failed, as a Go duration string, e.g. "5s", "30s". Defaults to "5s" when empty. | |
| debug | boolean | When true, each node also prints every log record it sends to this target to the log collector's own log, for troubleshooting. | |
| tlsBundle | string | Name of a TLSBundle. When empty, connection is plain TCP (no TLS). |
An unexpected error response.
{name}
| name | string |
A successful response.
| object | object | ||
| target5 fields | object | ||
| name | string | ||
| type | string | Enum: Default: TYPE_UNSPECIFIED | |
| enabled | boolean | ||
| loki4 fields | object | ||
| url | string | ||
| username | string | ||
| password | string | ||
| tlsBundle | string | Name of a TLSBundle. When set, overrides basic auth with TLS. | |
| rsyslog5 fields | object | ||
| endpoint | string | Hostname (RFC 1123) or IP address of the rsyslog server, host only with no port and no scheme, e.g. "rsyslog.example.com". Set the port in the port field. Hostnames are resolved by each node at connect time. | |
| port | int32 | TCP port of the rsyslog server, 1-65535. | |
| timeout | string | How long each node waits for a send to the rsyslog server before counting it as failed, as a Go duration string, e.g. "5s", "30s". Defaults to "5s" when empty. | |
| debug | boolean | When true, each node also prints every log record it sends to this target to the log collector's own log, for troubleshooting. | |
| tlsBundle | string | Name of a TLSBundle. When empty, connection is plain TCP (no TLS). |
An unexpected error response.
{name}
| name | string |
A successful response.
| object | object | ||
| deleted | boolean | True if the target existed and was removed; false if it was already absent. |
An unexpected error response.
{target.name}
| target.name | string |
| object | object | ||
| type | string | Enum: Default: TYPE_UNSPECIFIED | |
| enabled | boolean | ||
| loki4 fields | object | ||
| url | string | ||
| username | string | ||
| password | string | ||
| tlsBundle | string | Name of a TLSBundle. When set, overrides basic auth with TLS. | |
| rsyslog5 fields | object | ||
| endpoint | string | Hostname (RFC 1123) or IP address of the rsyslog server, host only with no port and no scheme, e.g. "rsyslog.example.com". Set the port in the port field. Hostnames are resolved by each node at connect time. | |
| port | int32 | TCP port of the rsyslog server, 1-65535. | |
| timeout | string | How long each node waits for a send to the rsyslog server before counting it as failed, as a Go duration string, e.g. "5s", "30s". Defaults to "5s" when empty. | |
| debug | boolean | When true, each node also prints every log record it sends to this target to the log collector's own log, for troubleshooting. | |
| tlsBundle | string | Name of a TLSBundle. When empty, connection is plain TCP (no TLS). |
A successful response.
| object | object | ||
| target5 fields | object | ||
| name | string | ||
| type | string | Enum: Default: TYPE_UNSPECIFIED | |
| enabled | boolean | ||
| loki4 fields | object | ||
| url | string | ||
| username | string | ||
| password | string | ||
| tlsBundle | string | Name of a TLSBundle. When set, overrides basic auth with TLS. | |
| rsyslog5 fields | object | ||
| endpoint | string | Hostname (RFC 1123) or IP address of the rsyslog server, host only with no port and no scheme, e.g. "rsyslog.example.com". Set the port in the port field. Hostnames are resolved by each node at connect time. | |
| port | int32 | TCP port of the rsyslog server, 1-65535. | |
| timeout | string | How long each node waits for a send to the rsyslog server before counting it as failed, as a Go duration string, e.g. "5s", "30s". Defaults to "5s" when empty. | |
| debug | boolean | When true, each node also prints every log record it sends to this target to the log collector's own log, for troubleshooting. | |
| tlsBundle | string | Name of a TLSBundle. When empty, connection is plain TCP (no TLS). |
An unexpected error response.
tls-bundles
A successful response.
| object | object | ||
| bundles4 fields | array[object] | ||
| name | string | Stable name used as the etcd key and referenced from target configs. | |
| caPem | string | PEM-encoded CA certificate (required). Used to verify the remote server. | |
| certPem | string | PEM-encoded client certificate (optional). Present = mTLS mode. | |
| keyPem | string | PEM-encoded client private key (optional). Present = mTLS mode. Stored AES-256-GCM encrypted in etcd when TLS_BUNDLE_KEY is configured. |
An unexpected error response.
tls-bundles
| object | object | ||
| name | string | Stable name used as the etcd key and referenced from target configs. | |
| caPem | string | PEM-encoded CA certificate (required). Used to verify the remote server. | |
| certPem | string | PEM-encoded client certificate (optional). Present = mTLS mode. | |
| keyPem | string | PEM-encoded client private key (optional). Present = mTLS mode. Stored AES-256-GCM encrypted in etcd when TLS_BUNDLE_KEY is configured. |
A successful response.
| object | object | ||
| bundle4 fields | object | ||
| name | string | Stable name used as the etcd key and referenced from target configs. | |
| caPem | string | PEM-encoded CA certificate (required). Used to verify the remote server. | |
| certPem | string | PEM-encoded client certificate (optional). Present = mTLS mode. | |
| keyPem | string | PEM-encoded client private key (optional). Present = mTLS mode. Stored AES-256-GCM encrypted in etcd when TLS_BUNDLE_KEY is configured. |
An unexpected error response.
{bundle.name}
| bundle.name | string | Stable name used as the etcd key and referenced from target configs. |
| object | object | ||
| caPem | string | PEM-encoded CA certificate (required). Used to verify the remote server. | |
| certPem | string | PEM-encoded client certificate (optional). Present = mTLS mode. | |
| keyPem | string | PEM-encoded client private key (optional). Present = mTLS mode. Stored AES-256-GCM encrypted in etcd when TLS_BUNDLE_KEY is configured. |
A successful response.
| object | object | ||
| bundle4 fields | object | ||
| name | string | Stable name used as the etcd key and referenced from target configs. | |
| caPem | string | PEM-encoded CA certificate (required). Used to verify the remote server. | |
| certPem | string | PEM-encoded client certificate (optional). Present = mTLS mode. | |
| keyPem | string | PEM-encoded client private key (optional). Present = mTLS mode. Stored AES-256-GCM encrypted in etcd when TLS_BUNDLE_KEY is configured. |
An unexpected error response.
{name}
| name | string |
A successful response.
| object | object | ||
| bundle4 fields | object | ||
| name | string | Stable name used as the etcd key and referenced from target configs. | |
| caPem | string | PEM-encoded CA certificate (required). Used to verify the remote server. | |
| certPem | string | PEM-encoded client certificate (optional). Present = mTLS mode. | |
| keyPem | string | PEM-encoded client private key (optional). Present = mTLS mode. Stored AES-256-GCM encrypted in etcd when TLS_BUNDLE_KEY is configured. |
An unexpected error response.
{name}
| name | string |
A successful response.
| object | object |
An unexpected error response.