Skip to main content

Vector

Coralogix provides seamless integration with Vector so you can send your logs from anywhere and parse them according to your needs.

Prerequisites​

Usage​

You must input the following variables when creating a Coralogix logger instance or updating your configuration file:

Configuration for Non-Kubernetes Environments​

STEP 1. Edit default configuration file

Edit the default configuration file vector.toml and paste the following configuration below. Update the following:

  • event.log.applicationName = "VECTOR_APP"

  • event.log.subsystemName = "VECTOR_SUBSYS"

  • uri = Choose the https://ingress./logs/v1/singles endpoint that corresponds to your Coralogix domain using the domain selector at the top of the page.

  • headers.authorization = "Bearer <API_KEY>"

# This input is just for test or demo purposes and is supported only since Vector v0.12.0. Feel free to use any other input.

[sources.my_source_id]
type = "demo_logs" # required
lines = ["{\"msg\":\"success\", \"code\":200}", "{\"msg\":\"error\", \"code\":500}"] # optional, no default, relevant when [`format`](#format) = `shuffle`
sequence = false # optional, default, relevant when [`format`](#format) = `shuffle`
batch_interval = 10
format = "shuffle"

[transforms.prepare_for_coralogix]
# General
type = "lua" # required
inputs = ["my_source_id"] # required
version = "2" # required
# Hooks
hooks.process = '''
function (event, emit)
event.log = {
applicationName = "VECTOR_APP",
subsystemName = "VECTOR_SUBSYS",
json = event.log,
computerName = os.getenv("HOSTNAME"),
timestamp = os.time() * 1000
}
emit(event)
end
'''

[sinks.coralogix]
# General
type = "http" # required
inputs = ["prepare_for_coralogix"] # required
compression = "none" # optional, default
method = "post"
uri = https://ingress.eu2.coralogix.com/logs/v1/singles # required
# Batch
batch.max_bytes = 1049000 # optional, default, bytes
batch.timeout_secs = 2 # optional, default, seconds
# Encoding
encoding.codec = "json" # required
# Healthcheck
#healthcheck.enabled = true # optional, default
headers.Content-Type = "application/json"
headers.authorization = "Bearer <API_KEY>"

STEP 2. Add your own sources

That code will allow you to generate the test traffic. After testing the connection, add your own sources, as in the example below.

[sources.my_source_id]
  type = "file"
  include = ["/var/log/access.log "]

You can read more about this configuration here.

STEP 3. Restart Vector

Remember to restart Vector after every change to load updated configuration.

Configuration for Kubernetes Environments​

STEP 1. Add Helm chart repo

helm repo add vector https://helm.vector.dev
helm repo update

STEP 2. Create an override.yaml file

Prior to installation create an override.yaml file and paste the following configuration below. Remember to update:

  • event.log.applicationName = "VECTOR_APP"

  • event.log.subsystemName = "VECTOR_SUBSYS"

  • uri = Choose the https://ingress./logs/v1/singles endpoint that corresponds to your Coralogix domain using the domain selector at the top of the page.

  • headers.authorization = "Bearer <API_KEY>"

# vector override.yaml
---
role: "Agent"

customConfig:
sources:
kubernetes_logs:
type: kubernetes_logs

transforms:
prepare_for_coralogix:
type: lua
inputs: ["kubernetes_logs"]
version: "2"
#hooks
hooks:
process: |
function (event, emit)
event.log = {
applicationName = "VECTOR_APP",
subsystemName = "VECTOR_SUBSYS",
json = event.log,
computerName = os.getenv("HOSTNAME"),
timestamp = os.time() * 1000
}
emit(event)
end

sinks:
coralogix:
type: http
inputs: ["prepare_for_coralogix"]
compression: none
uri: https://ingress.eu2.coralogix.com/logs/v1/singles
batch:
maxbytes:
1049000
timeout_secs:
2
encoding:
codec:
json
request:
headers:
Content-Type: application/json
Authorization: "Bearer <<API_key>>"

STEP 3. Deploy the chart

helm install vector-agent vector/vector -f override.yaml

STEP 4. Remove the Daemonset

helm uninstall vector-agent

Additional resources​

Coralogix EndpointsCoralogix Endpoints
Last updated on
On this page
Was this page helpful?