TELEMETRY PIPELINE
Chronosphere

Chronosphere Logs destination plugin

The Chronosphere Logs destination plugin lets you configure your Telemetry Pipeline to output log data to Chronosphere.

Supported telemetry types

This plugin supports these telemetry types:

LogsMetricsTraces

Configuration parameters

Use the parameters in this section to configure your plugin. The Telemetry Pipeline web interface uses the values in the Name column to describe the parameters. Items in the Key column are the YAML keys to use in pipeline configuration files.

General

NameKeyDescriptionDefault
HosthostRequired. Your Observability Platform instance.ADDRESS.ingest.logs.chronosphere.io
PortportRequired. The port to communicate with Observability Platform.443
KeyheaderRequired. The header type to include with your request.Authorization
ValueheaderRequired. Your ingest API token to authenticate with Chronosphere.Bearer API_TOKEN
  • Replace ADDRESS with your company name prefixed to your Observability Platform instance that ends in ingest.logs.chronosphere.io. For example, MY_COMPANY.ingest.logs.chronosphere.io.
  • Replace API_TOKEN with your ingest API token.

Advanced

NameKeyDescriptionDefault
URIuriOptional. HTTP URI for the web server. For example, /api/v1/ingest/json./api/v1/ingest/json
FormatformatThe data format to use in the HTTP request.json
CompresscompressSets payload compression. Accepted values: gzip, none.none
HTTP ProxyproxySpecify an HTTP proxy. The expected format is http://host:port.none
JSON Date Formatjson_date_formatSpecify the date format. Accepted values: double, epoch, iso8601 (such as 2018-05-30T09:39:52.000681Z), java_sql_timestamp (such as 2018-05-30 09:39:52.000681).iso8601
JSON Date Keyjson_date_keySpecify the name of the date field in output._time
Body Keybody_keySpecify the key which contains the body.none
Header Tagheader_tagSet an HTTP header whose value is the tag of the record.none
Header Keyheaders_keySpecify the key which contains the headers.none

Security and TLS

NameKeyDescriptionDefault
TLStlsEnable or disable TLS/SSL support. Accepted values: true, false.false
TLS Certificate Validationtls.verifyEnable or disable TLS/SSL certificate validation. TLS must be enabled for certificates to be validated. Accepted values: off, on.on
TLS Debug Leveltls.debugSet TLS debug verbosity level. Accepted values: 0 (No debug), 1 (Error), 2 (State change), 3 (Informational), 4 (Verbose).1
CA Certificate File Pathtls.ca_fileAbsolute path to CA certificate file.none
Certificate File Pathtls.crt_fileAbsolute path to certificate file.none
Private Key File Pathtls.key_fileAbsolute path to private key file.none
Private Key Path Passwordtls.key_passwdPassword for private key file.none
TLS SNI Hostname Extensiontls.vhostHostname to be used for TLS SNI extension.none

Advanced Networking

NameKeyDescriptionDefault
DNS Modenet.dns.modeSelect the primary DNS connection type, which can be TCP or UDP.none
DNS Resolvernet.dns.resolverSelect the primary DNS connection type, which can be LEGACY or ASYNC.none
Prefer IPv4net.dns.prefer_ipv4Prioritize IPv4 DNS results when trying to establish a connection. Accepted values: true, false.false
Keepalivenet.keepaliveEnable or disable Keepalive support. Accepted values: true, false.true
Keepalive Idle Timeoutnet.keepalive_idle_timeoutSet maximum time allowed for an idle Keepalive connection.30s
Max Connect Timeoutnet.connect_timeoutSet maximum time allowed to establish a connection, which includes the TLS handshake.10s
Max Connect Timeout Log Errornet.connect_timeout_log_errorOn connection timeout, specify if it should log an error. When disabled, the timeout is logged as a debug message. Accepted values: true, false.true
Max Keepalive Recyclenet.keepalive_max_recycleSet maximum number of times a keepalive connection can be used before it's retired.2000
Source Addressnet.source_addressSpecify network address to bind for data traffic.none

Basic Authentication

NameKeyDescriptionDefault
HTTP Usernamehttp_userBasic auth username.none
HTTP Passwordhttp_passwdBasic auth password. Requires http_user to be set.none

Example

The following YAML configuration defines a Fluent Bit input and a Chronosphere Logs output.

pipeline:
  inputs:
    - Name: forward
      alias: Fluent_Bit
      port: "5170"
      tls.verify: on
      tls.debug: "1"
      tag: forward.cb3bae48-0000-4a51-0000-f6ccd3f0ed0c
  filters:
    - Name: lua
      match: forward.cb3bae48-0000-4a51-0000-f6ccd3f0ed0c
      active: "false"
  outputs:
    - Name: http
      alias: Chronosphere
      host: MY_COMPANY.ingest.logs.chronosphere.io
      port: "443"
      header:
        - Authorization Bearer
          f31b...ed7t292
      uri: /api/v1/ingest/json
      format: json
      compress: on
      json_date_format: iso8601
      json_date_key: _time
      tls: true
      tls.verify: on
      tls.debug: "1"
      net.keepalive: true
      net.keepalive_idle_timeout: 30s
      net.connect_timeout: 10s
      net.connect_timeout_log_error: true
      net.keepalive_max_recycle: "2000"
      core.metadata:
        name: Chronosphere Logs ingest
      Match_Regex: .{0,}