Vector
Oodle integrates seamlessly with Vector. By adding Oodle as a sink in your Vector configuration, you can start sending logs directly to your Oodle instance.
Configuration
To configure Vector to send logs to Oodle, you'll need the following values:
OODLE_INSTANCE: Your Oodle instance ID. Go toSettingsicon ->API Keyspage in your Oodle UI to find out. (Oodle UI links: ap1, us1)OODLE_API_KEY: Your Oodle API key for authentication. Go toSettingsicon ->API Keysin your Oodle UI to choose an appropriate key. (Oodle UI links: ap1, us1)
Add the following configuration to your Vector configuration file:
- YAML
- TOML
- JSON
sinks:
oodle:
type: http
method: post
inputs: [ <sources...> ]
uri: https://<OODLE_INSTANCE>-logs.collector.oodle.ai/ingest/v1/logs
encoding:
codec: json
compression: gzip
request:
headers:
X-OODLE-INSTANCE: "<OODLE_INSTANCE>"
X-API-KEY: "<OODLE_API_KEY>"
retry_attempts: 3
timeout_secs: 60
[sinks.oodle]
type = "http"
method = "post"
inputs = [ "<sources...>" ]
uri = "https://<OODLE_INSTANCE>-logs.collector.oodle.ai/ingest/v1/logs"
compression = "gzip"
encoding.codec = "json"
request.retry_attempts = 3
request.timeout_secs = 60
request.headers.X-OODLE-INSTANCE = "<OODLE_INSTANCE>"
request.headers.X-API-KEY = "<OODLE_API_KEY>"
{
"sinks": {
"oodle": {
"type": "http",
"method": "post",
"inputs": [ "<sources...>" ],
"uri": "https://<OODLE_INSTANCE>-logs.collector.oodle.ai/ingest/v1/logs",
"encoding": {
"codec": "json"
},
"compression": "gzip",
"request": {
"headers": {
"X-OODLE-INSTANCE": "<OODLE_INSTANCE>",
"X-API-KEY": "<OODLE_API_KEY>"
},
"retry_attempts": 3,
"timeout_secs": 60
}
}
}
}
Steps
You can find the Query Metrics commands and steps by doing the following:
- Login to the Oodle UI, then navigate to Settings page
- Click on the Vector tile
- Choose an appropriate API key from the list on top of the drawer
Add the configuration specified in the drawer to your Vector configuration file
Collect Vector internal metrics (optional)
Monitor Vector itself (throughput, buffer usage, component errors) by collecting
its internal metrics. The internal_metrics source gathers them. Push them
straight to Oodle, or expose a /metrics endpoint for your own Prometheus
scraper to pull. See the
Vector internal_metrics docs.
- Push to Oodle
- Expose for scraping
The prometheus_remote_write sink pushes straight to Oodle. It sends the API key
as a bearer token, which Oodle accepts.
- YAML
- TOML
- JSON
sources:
internal_metrics:
type: internal_metrics
scrape_interval_secs: 30
sinks:
oodle_metrics:
type: prometheus_remote_write
inputs: [ internal_metrics ]
endpoint: https://<OODLE_INSTANCE>.collector.oodle.ai/v1/prometheus/<OODLE_INSTANCE>/write
compression: snappy
auth:
strategy: bearer
token: "<OODLE_API_KEY>"
[sources.internal_metrics]
type = "internal_metrics"
scrape_interval_secs = 30
[sinks.oodle_metrics]
type = "prometheus_remote_write"
inputs = [ "internal_metrics" ]
endpoint = "https://<OODLE_INSTANCE>.collector.oodle.ai/v1/prometheus/<OODLE_INSTANCE>/write"
compression = "snappy"
auth.strategy = "bearer"
auth.token = "<OODLE_API_KEY>"
{
"sources": {
"internal_metrics": {
"type": "internal_metrics",
"scrape_interval_secs": 30
}
},
"sinks": {
"oodle_metrics": {
"type": "prometheus_remote_write",
"inputs": [ "internal_metrics" ],
"endpoint": "https://<OODLE_INSTANCE>.collector.oodle.ai/v1/prometheus/<OODLE_INSTANCE>/write",
"compression": "snappy",
"auth": {
"strategy": "bearer",
"token": "<OODLE_API_KEY>"
}
}
}
}
The prometheus_exporter sink serves metrics at
http://<vector-host>:9598/metrics. Point your Prometheus compatible scraper
there and remote-write to Oodle.
- YAML
- TOML
- JSON
sources:
internal_metrics:
type: internal_metrics
scrape_interval_secs: 30
sinks:
oodle_metrics_exporter:
type: prometheus_exporter
inputs: [ internal_metrics ]
address: 0.0.0.0:9598
[sources.internal_metrics]
type = "internal_metrics"
scrape_interval_secs = 30
[sinks.oodle_metrics_exporter]
type = "prometheus_exporter"
inputs = [ "internal_metrics" ]
address = "0.0.0.0:9598"
{
"sources": {
"internal_metrics": {
"type": "internal_metrics",
"scrape_interval_secs": 30
}
},
"sinks": {
"oodle_metrics_exporter": {
"type": "prometheus_exporter",
"inputs": [ "internal_metrics" ],
"address": "0.0.0.0:9598"
}
}
}
Support
If you need assistance or have any questions, please reach out to us through:
- Email at [email protected]