Skip to content

Promitor Agent Scraper

promitor-agent-scraper

Field Description Scheme
install Allows to enable or disable deploy promitor-agent-scraper. boolean
replicas Number of created pods. integer
name A name of the microservice to deploy with. This name is used as the name of the microservice deployment and in labels. string
image A Docker image to deploy the promitor-agent-scraper. string
imagePullPolicy Image pull policy to use for promitor-agent-scraper deployment. string
azureAuthentication.mode Authentication type to use to authenticate. Options are ServicePrincipal (default), UserAssignedManagedIdentity or SystemAssignedManagedIdentity. string
azureAuthentication.identity.id Id of the Azure AD entity to authenticate with. string
azureAuthentication.identity.key Secret of the Azure AD entity to authenticate with. Sets the environment variable PROMITOR_AUTH_APPKEY through the secrets.appKeySecret field in the Secret. string
azureAuthentication.identity.binding Aad Pod Identity name, when using UserAssignedManagedIdentity or SystemAssignedManagedIdentity as mode. string
metricSinks.prometheusScrapingEndpoint.baseUriPath Controls the path where the scraping endpoint for Prometheus is being exposed. string
metricSinks.prometheusScrapingEndpoint.enableMetricTimestamps Defines whether or not a timestamp should be included when the value was scraped on Azure Monitor. Supported values are True to opt-in & False to opt-out. boolean
metricSinks.prometheusScrapingEndpoint.metricUnavailableValue Defines the value that will be reported if a metric is unavailable. string
metricSinks.prometheusScrapingEndpoint.labelTransformation Controls how label values are reported to Prometheus by using transformation. Options are None & Lowercase. string
resourceDiscovery.enabled Indication whether or not resource discovery is enabled through the Promitor Resource Discovery agent. boolean
resourceDiscovery.host DNS name or IP address of the Promitor Resource Discovery agent. string
resourceDiscovery.port Port (UDP) address of the Promitor Resource Discovery agent. integer
telemetry.defaultLogLevel Defines the default minimum log level that should be logged if a sink does not provide one. Allowed values are Trace, Debug, Information, Warning, Error, Critical, None ordered from most to least verbose. string
telemetry.applicationInsights.enabled Determines if the sink is used or not. boolean
telemetry.applicationInsights.key Defines the instrumentation key to use when sending telemetry to Azure Application Insights. string
telemetry.applicationInsights.logLevel Verbosity to use for this sink, if not specified then the telemetry.defaultLogLevel will be used. string
telemetry.containerLogs.enabled Determines if the sink is used or not. boolean
telemetry.containerLogs.logLevel Verbosity to use for this sink, if not specified then the telemetry.defaultLogLevel will be used. string
azureMetadata.tenantId The id of the Azure tenant that will be queried. string
azureMetadata.subscriptionId The id of the default subscription to query. string
azureMetadata.resourceGroupName The name of the default resource group to query. string
azureMetadata.cloud The name of the Azure cloud to use. Options are Global (default), China, UsGov & Germany. string
metricDefaults.aggregation.interval The default interval which defines over what period measurements of a metric should be aggregated. A cron that fits your needs. string
metricDefaults.scraping.schedule A cron expression that controls the frequency of which all the configured metrics will be scraped from Azure Monitor. You can use crontab-generator.org to generate a cron that fits your needs. string
metrics List of metrics to scrape. list[Metric]
secrets.createSecret To use your own secret, set createSecret to false and define the name/keys that your secret uses. Indication if you want to bring your own secret level of logging. boolean
secrets.secretName Name of the secret for Azure AD identity secret. string
secrets.appKeySecret Name of the field for Azure AD identity secret in the Secret resource. string
service.type Type of promitor-agent-scraper service. string
service.port Port of promitor-agent-scraper which use in service. integer
service.targetPort Target port of promitor-agent-scraper which use in service and container. integer
service.labels Labels set which will create in service. map[string]string
service.azureLoadBalancer.dnsPrefix Prefix for DNS name to expose the service on using \<name>.\<location>.cloudapp.azure.com format. This setting is specific to Azure Kubernetes Service. string
service.azureLoadBalancer.exposeInternally To restrict access to Promitor by exposing it through an internal load balancer. This setting is specific to Azure Kubernetes Service. string
serviceAccount.install Allow to disable create ServiceAccount during deploy. boolean
serviceAccount.name Provide a name in place of promitor-agent-scraper for ServiceAccount. string
serviceAccount.annotations Will add the provided map to the annotations for the created serviceAccount. map[string]string
serviceAccount.labels Will add the provided map to the labels for the created serviceAccount. map[string]string
serviceMonitor ServiceMonitor holds configuration attributes for promitor-agent-scraper. object
resources The resources that describe the compute resource requests and limits for single pods. v1.ResourceRequirements
securityContext SecurityContext holds pod-level security attributes. Default for Kubernetes, securityContext:{ runAsUser: 2000, fsGroup: 2000 }. *v1.PodSecurityContext
affinity It specifies the pod's scheduling constraints. For more information, refer to https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#affinity-v1-core *v1.Affinity
nodeSelector Defines which nodes the pods are scheduled on. Specified just as map[string]string. For example: \"type: compute\" map[string]string
tolerations Tolerations allow the pods to schedule onto nodes with matching taints. []v1.Toleration
annotations Map of string keys and values stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. Specified just as map[string]string. For example: "annotations-key: annotation-value" map[string]string
labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. Specified just as map[string]string. For example: "label-key: label-value" map[string]string
priorityClassName PriorityClassName assigned to the Pods to prevent them from evicting. string

Example:

promitorAgentScraper:
  install: true
  replicaCount: 1
  name: promitor-agent-scraper
  image: ghcr.io/tomkerkhove/promitor-agent-scraper:2.5.1
  imagePullPolicy: IfNotPresent
  azureAuthentication:
    mode: "ServicePrincipal"
    identity:
      id: "<azure-ad-id>"
      key: "<azure-ad-secret>"
      binding: ""
  metricSinks:
    prometheusScrapingEndpoint:
      baseUriPath: /metrics
      enableMetricTimestamps: true
      metricUnavailableValue: NaN
      labelTransformation: None
      enableServiceDiscovery: true
  resourceDiscovery:
    enabled: false
    host: ""
    port: 80
  telemetry:
    defaultLogLevel: "Error"
    applicationInsights:
      enabled: false
      key: ""
      logLevel: ""
    containerLogs:
      enabled: true
      logLevel: ""
  azureMetadata:
    tenantId: "<tenant-id>"
    subscriptionId: "<subscription-id>"
    resourceGroupName: "<resource-group-name>"
    cloud: "Global"
  metricDefaults:
    aggregation:
      interval: 00:05:00
    scraping:
      schedule: "*/5 * * * *"
  metrics:
    - name: azure_node_cpu_usage_millicores
      description: "Node CPU usage millicores"
      resourceType: KubernetesService
      azureMetricConfiguration:
        metricName: node_cpu_usage_millicores
        aggregation:
          type: Average
      resources:
        - clusterName: <cluster-name>
  secrets:
    createSecret: true
    secretName: promitor-agent-scraper
    appKeySecret: azure-app-key
  service:
    type: ClusterIP
    port: 8888
    targetPort: 5000
    labels: {}
    azureLoadBalancer:
      dnsPrefix:
      exposeInternally: false
  resources:
    limits:
      cpu: 200m
      memory: 256Mi
    requests:
      cpu: 100m
      memory: 128Mi
  serviceAccount:
    install: true
    name: promitor-agent-scraper
    annotations: {}
    labels: {}
  serviceMonitor:
    install: true
    interval: 5m
    telemetryPath: /metrics
    labels:
      app.kubernetes.io/component: monitoring
  securityContext:
    runAsUser: 2000
    fsGroup: 2000
  affinity: {}
  nodeSelector: {}
  tolerations: []
  annotations: {}
  labels: {}
  priorityClassName: priority-class