Docs » Available host and application monitors » Configure application receivers for hosts and servers » CoreDNS

CoreDNS 🔗

Description 🔗

The Splunk Distribution of OpenTelemetry Collector provides this integration as the coredns monitor type for the Smart Agent Receiver. This monitor scrapes Prometheus metrics exposed by CoreDNS. The default port for these metrics are exposed on port 9153, at the /metrics path.

Installation 🔗

This monitor is available in the Smart Agent Receiver, which is part of the Splunk Distribution of OpenTelemetry Collector.

To install this integration:

  1. Deploy the Splunk Distribution of OpenTelemetry Collector to your host or container platform.

  2. Configure the monitor, as described in the next section.

Configuration 🔗

This Splunk Distribution of OpenTelemetry Collector allows embedding a Smart Agent monitor configuration in an associated Smart Agent Receiver instance.

Note: Providing a CoreDNS monitor entry in your Collector or Smart Agent (deprecated) configuration is required for its use. Use the appropriate form for your agent type.

Splunk Distribution of OpenTelemetry Collector 🔗

To activate this monitor in the Splunk Distribution of OpenTelemetry Collector, add the following to your agent configuration:

receivers:
  smartagent/coredns:
    type: coredns
    ...  # Additional config

See configuration examples for specific use cases that show how the Splunk Distribution of OpenTelemetry Collector can integrate and complement existing environments.

Smart Agent 🔗

To activate this monitor in the Smart Agent, add the following to your agent configuration:

monitors:  # All monitor config goes under this key
 - type: coredns
   ...  # Additional config

Here is an example configuration for a Kubernetes environment:

monitors:
- type: coredns
  discoveryRule: kubernetes_pod_name =~ "coredns" && port == 9153
  extraDimensions:
    metric_source: "k8s-coredns"

See Smart Agent example configuration for an autogenerated example of a YAML configuration file, with default values where applicable.

Configuration settings 🔗

The following table shows the configuration options for this monitor:

Option

Required

Type

Description

httpTimeout

no

int64

HTTP timeout duration for both read and writes. Use a duration string that is accepted by https://golang.org/pkg/time/#ParseDuration (default: 10s)

username

no

string

Basic Auth username to use on each request, if any.

password

no

string

Basic Auth password to use on each request, if any.

useHTTPS

no

bool

If true, the agent connects to the server using HTTPS instead of plain HTTP. (default: false)

httpHeaders

no

map of strings

A map of HTTP header names to values. Comma separated multiple values for the same message-header is supported.

skipVerify

no

bool

If useHTTPS is true and this option is also true, the exporter TLS cert is not verified. (default: false)

caCertPath

no

string

Path to the CA cert that has signed the TLS cert, unnecessary if skipVerify is set to false.

clientCertPath

no

string

Path to the client TLS cert to use for TLS required connections

clientKeyPath

no

string

Path to the client TLS key to use for TLS required connections

host

yes

string

Host of the exporter

port

yes

integer

Port of the exporter

useServiceAccount

no

bool

Use pod service account to authenticate. (default: false)

metricPath

no

string

Path to the metrics endpoint on the exporter server, usually /metrics (the default). (default: /metrics)

sendAllMetrics

no

bool

Send all the metrics that come out of the Prometheus exporter without any filtering. This option has no effect when using the Prometheus exporter monitor directly since there is no built-in filtering, only when embedding it in other monitors. (default: false)

Metrics 🔗

The following metrics are available for this integration:

Get help 🔗

If you are not able to see your data in Splunk Observability Cloud, try these tips:

To learn about even more support options, see Splunk Customer Success.