# SPDX-FileCopyrightText: 2022 MDAD project contributors # SPDX-FileCopyrightText: 2023 - 2025 Slavi Pantaleev # SPDX-FileCopyrightText: 2023 Samuel Meenzen # SPDX-FileCopyrightText: 2024 Suguru Hirahara # # SPDX-License-Identifier: AGPL-3.0-or-later --- # prometheus-nginxlog-exporter exports nginx logs in a prometheus usable format on a `/metrics/ endpoint # See: https://github.com/martin-helmich/prometheus-nginxlog-exporter/ prometheus_nginxlog_exporter_enabled: true prometheus_nginxlog_exporter_identifier: '' # You don't need to configure a hostname and path prefix if you're not exposing this. prometheus_nginxlog_exporter_hostname: '' prometheus_nginxlog_exporter_path_prefix: "/metrics/nginxlog" # renovate: datasource=docker depName=ghcr.io/martin-helmich/prometheus-nginxlog-exporter/exporter prometheus_nginxlog_exporter_version: v1.10.0 prometheus_nginxlog_exporter_container_metrics_port: '4040' prometheus_nginxlog_exporter_container_syslog_port: '6514' prometheus_nginxlog_exporter_docker_image_arch: ['amd64', 'arm64'] prometheus_nginxlog_exporter_docker_image: "{{ prometheus_nginxlog_exporter_docker_image_registry_prefix }}martin-helmich/prometheus-nginxlog-exporter/exporter:{{ prometheus_nginxlog_exporter_docker_image_tag }}" prometheus_nginxlog_exporter_docker_image_registry_prefix: "{{ prometheus_nginxlog_exporter_docker_image_registry_prefix_upstream }}" prometheus_nginxlog_exporter_docker_image_registry_prefix_upstream: "{{ prometheus_nginxlog_exporter_docker_image_registry_prefix_upstream_default }}" prometheus_nginxlog_exporter_docker_image_registry_prefix_upstream_default: "ghcr.io/" prometheus_nginxlog_exporter_docker_image_tag: "{{ 'latest' if prometheus_nginxlog_exporter_version == 'master' else prometheus_nginxlog_exporter_version }}-{{ matrix_architecture }}" prometheus_nginxlog_exporter_docker_image_force_pull: "{{ prometheus_nginxlog_exporter_docker_image.endswith(':latest') }}" prometheus_nginxlog_exporter_docker_image_arch_check_enabled: true # Controls whether prometheus-nginxlog-exporter metrics should be proxied (exposed) on a public URL prometheus_nginxlog_exporter_metrics_proxying_enabled: false prometheus_nginxlog_exporter_metrics_proxying_hostname: '' prometheus_nginxlog_exporter_metrics_proxying_path_prefix: '' # prometheus_nginxlog_exporter_dashboard_urls contains a list of URLs with Grafana dashboard definitions. # If the Grafana role is enabled, these dashboards will be downloaded. prometheus_nginxlog_exporter_dashboard_urls: [] prometheus_nginxlog_exporter_base_path: "{{ matrix_base_data_path }}/prometheus-nginxlog-exporter" prometheus_nginxlog_exporter_config_path: "{{ prometheus_nginxlog_exporter_base_path }}/config" prometheus_nginxlog_exporter_container_network: "{{ prometheus_nginxlog_exporter_identifier }}" prometheus_nginxlog_exporter_container_additional_networks: "{{ prometheus_nginxlog_exporter_container_additional_networks_auto + prometheus_nginxlog_exporter_container_additional_networks_custom }}" prometheus_nginxlog_exporter_container_additional_networks_auto: [] prometheus_nginxlog_exporter_container_additional_networks_custom: [] # prometheus_nginxlog_exporter_container_labels_traefik_enabled controls whether labels to assist a Traefik reverse-proxy will be attached to the container. # See `../templates/labels.j2` for details. # # To inject your own other container labels, see `prometheus_nginxlog_exporter_container_labels_additional_labels`. prometheus_nginxlog_exporter_container_labels_traefik_enabled: "{{ true if prometheus_nginxlog_exporter_hostname else false }}" prometheus_nginxlog_exporter_container_labels_traefik_docker_network: "{{ prometheus_nginxlog_exporter_container_network }}" prometheus_nginxlog_exporter_container_labels_traefik_hostname: "{{ prometheus_nginxlog_exporter_hostname }}" # The path prefix must either be `/` or not end with a slash (e.g. `/metrics`). prometheus_nginxlog_exporter_container_labels_traefik_path_prefix: "{{ prometheus_nginxlog_exporter_path_prefix }}" prometheus_nginxlog_exporter_container_labels_traefik_rule: "Host(`{{ prometheus_nginxlog_exporter_container_labels_traefik_hostname }}`) && PathPrefix(`{{ prometheus_nginxlog_exporter_container_labels_traefik_path_prefix }}`)" prometheus_nginxlog_exporter_container_labels_traefik_entrypoints: web-secure prometheus_nginxlog_exporter_container_labels_traefik_tls: "{{ prometheus_nginxlog_exporter_container_labels_traefik_entrypoints != 'web' }}" prometheus_nginxlog_exporter_container_labels_traefik_tls_certResolver: default # noqa var-naming prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_enabled: false # See: https://doc.traefik.io/traefik/middlewares/http/basicauth/#users prometheus_nginxlog_exporter_container_labels_metrics_middleware_basic_auth_users: '' # prometheus_nginxlog_exporter_container_labels_additional_labels contains a multiline string with additional labels to add to the container label file. # See `../templates/labels.j2` for details. # # Example: # prometheus_nginxlog_exporter_container_labels_additional_labels: | # my.label=1 # another.label="here" prometheus_nginxlog_exporter_container_labels_additional_labels: '' # A list of extra docker arguments to pass to the container prometheus_nginxlog_exporter_container_extra_arguments: [] # List of systemd services that matrix-prometheus_nginxlog_exporter.service depends on prometheus_nginxlog_exporter_systemd_required_services_list: "{{ prometheus_nginxlog_exporter_systemd_required_services_list_default + prometheus_nginxlog_exporter_systemd_required_services_list_auto + prometheus_nginxlog_exporter_systemd_required_services_list_custom }}" prometheus_nginxlog_exporter_systemd_required_services_list_default: "{{ [devture_systemd_docker_base_docker_service_name] if devture_systemd_docker_base_docker_service_name else [] }}" prometheus_nginxlog_exporter_systemd_required_services_list_auto: [] prometheus_nginxlog_exporter_systemd_required_services_list_custom: [] # List of systemd services that matrix-prometheus_nginxlog_exporter.service wants prometheus_nginxlog_exporter_systemd_wanted_services_list: [] # Controls whether the matrix-prometheus_nginxlog_exporter container exposes its HTTP port (tcp/4040 in the container). # # Takes an ":" or "" value (e.g. "127.0.0.1:4040"), or empty string to not expose. prometheus_nginxlog_exporter_container_http_host_bind_port: '' # Controls whether the matrix-prometheus_nginxlog_exporter container exposes its SYSLOG port (udp/6514 in the container). # # Takes an ":" or "" value (e.g. "127.0.0.1:6514"), or empty string to not expose. # Note: is an UDP connection! prometheus_nginxlog_exporter_container_syslog_host_bind_port: '' prometheus_nginxlog_exporter_config_namespaces_matrix_source_tags: "{{ prometheus_nginxlog_exporter_config_namespaces_matrix_source_tags_auto + prometheus_nginxlog_exporter_config_namespaces_matrix_source_tags_custom }}" prometheus_nginxlog_exporter_config_namespaces_matrix_source_tags_auto: [] prometheus_nginxlog_exporter_config_namespaces_matrix_source_tags_custom: [] # prometheus_nginxlog_exporter_restart_necessary controls whether the service # will be restarted (when true) or merely started (when false) by the # systemd service manager role (when conditional restart is enabled). # # This value is automatically computed during installation based on whether # any configuration files, the systemd service file, or the container image changed. # The default of `false` means "no restart needed" — appropriate when the role's # installation tasks haven't run (e.g., due to --tags skipping them). prometheus_nginxlog_exporter_restart_necessary: false