Docs » Configure application receivers » Configure application exporters and receivers for monitoring » Prometheus NGINX Ingress

Prometheus NGINX Ingress 🔗

Description 🔗

The Splunk Distribution of OpenTelemetry Collector provides this integration as the prometheus-nginx-ingress monitor type using the SignalFx Smart Agent Receiver.

This monitor wraps the Prometheus Exporter to collect Ingress NGINX metrics for Splunk Observability Cloud, and relies on the Prometheus metric implementation that replaces VTS. If you use NGINX 0.15 or lower, use the Prometheus NGINX VTS monitor.

This receiver is available on Linux and Windows.

Benefits 🔗

After you configure the integration, you can access these features:

  • View metrics using the built-in dashboard. For information about dashboards, see View dashboards in Observability Cloud.

  • View a data-driven visualization of the physical servers, virtual machines, AWS instances, and other resources in your environment that are visible to Infrastructure Monitoring. For information about navigators, see Splunk Infrastructure Monitoring navigators.

  • Access Metric Finder and search for metrics sent by the monitor. For information about Metric Finder, see Use the Metric Finder.

Installation 🔗

Follow these steps to deploy this integration:

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

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

  3. Restart the Splunk Distribution of OpenTelemetry Collector.

Configuration 🔗

This monitor type is available in the Smart Agent Receiver, which is part of the Splunk Distribution of OpenTelemetry Collector. You can use existing Smart Agent monitors as OpenTelemetry Collector metric receivers with the Smart Agent Receiver.

This monitor type requires a properly configured environment on your system in which you’ve installed a functional Smart Agent release bundle. The Collector provides this bundle in the installation paths for x86_64/amd64.

To activate this monitor type in the Collector, add the following lines to your configuration (YAML) file:

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/prometheus-nginx-ingress:
    type: prometheus-nginx-ingress
    ... # Additional config

To complete the receiver activation, you must also include the receiver in a metrics pipeline. To do this, add the receiver to the service > pipelines > metrics > receivers section of your configuration file. For example:

service:
  pipelines:
    metrics:
      receivers: [smartagent/prometheus-nginx-ingress]

Ingress NGINX configuration 🔗

Enable the controller.stats.enabled=true and controller.metrics.enabled=true flags in the NGINX Ingress Controller chart.

Agent configuration 🔗

Use the following configuration for service discovery:

monitors:
- type: prometheus/nginx-ingress
  discoveryRule: container_image =~ "nginx-ingress-controller" && port == 10254
  port: 10254

Configuration settings 🔗

The following table shows the configuration options for the prometheus-nginx-ingress monitor:

Option Required Type Description
httpTimeout No int64 HTTP timeout duration for both reads and writes. Must be a duration string accepted by ParseDuration. Default value is 10s.
username No string Username to use on each request.
password No string Password to use on each request.
useHTTPS No bool If true, the agent connects to the server using HTTPS instead of plain HTTP. Default value is false.
httpHeaders No map of strings A map of HTTP header names to values. Comma-separated multiple values for the same message-header are supported.
skipVerify No bool If both useHTTPS and skipVerify are true, the TLS certificate of the exporter is not verified. Default value is false.
caCertPath No string Path to the CA certificate that has signed the TLS certificate, unnecessary if skipVerify is set to false.
clientCertPath No string Path to the client TLS certificate 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 value is false.
metricPath No string Path to the metrics endpoint on the exporter server. The default value is /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. Default value is false.

Metrics 🔗

The following metrics are available for this integration.

Troubleshooting 🔗

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.