Skip to content

Grafana

grafana

Field Description Scheme
install Allows to disable deploy Grafana. If Grafana was not deployed during the deployment using helm, it can be deployed using the change custom resource PlatformMonitoring. bool
paused Set paused to reconciliation. bool
image A docker image to be used for the grafana deployment. string
ingress Allows to create Ingress for Grafana UI using monitoring-operator. v1.Ingress
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
dataStorage Allows set a means to configure the grafana data storage. grafv1alpha1.GrafanaDataStorage
extraVars Allows set extra system environment variables for grafana. map[string]string
grafanaHomeDashboard Allows set custom home dashboard for grafana. Dependence: extraVars: GF_DASHBOARDS_DEFAULT_HOME_DASHBOARD_PATH: /etc/grafana-configmaps/grafana-home-dashboard/grafana-home-dashboard.json bool
backupDaemonDashboard Enables Backup Daemon Dashboard installation. bool
dashboardLabelSelector Allows to query over a set of resources according to labels.
The result of matchLabels and matchExpressions are ANDed.
An empty label selector matches all objects. A null label selector matches no objects.
[]*metav1.LabelSelector
dashboardNamespaceSelector Allows to query over a set of resources in namespaces that fits label selector. *metav1.LabelSelector
podMonitor Pod monitor for self monitoring. *Monitor
config Allows set configuration for grafana. The properties used to generate grafana.ini. grafv1alpha1.GrafanaConfig
affinity If specified, the pod's scheduling constraints *v1.Affinity
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:

grafana:
  install: true
  paused: false
  image: grafana/grafana:10.4.10
  ingress:
    ...
  resources:
    limits:
      cpu: 200m
      memory: 200Mi
    requests:
      cpu: 100m
      memory: 100Mi
  securityContext:
    runAsUser: 2000
    fsGroup: 2000
  config:
    auth:
      disable_login_form: false
      disable_signout_menu: true
    auth.anonymous:
      enabled: false
    log:
      level: warn
      mode: console
  extraVars:
    GF_DASHBOARDS_DEFAULT_HOME_DASHBOARD_PATH: /etc/grafana-configmaps/grafana-home-dashboard/grafana-home-dashboard.json
    GF_LIVE_ALLOWED_ORIGINS: "*"
    GF_FEATURE_TOGGLES_ENABLE: ngalert
  grafanaHomeDashboard: true
  backupDaemonDashboard: true
  dashboardLabelSelector:
    - matchLabels:
        app.kubernetes.io/component: monitoring
      matchExpressions:
        - key: openshift.io/cluster-monitoring
          operator: NotIn
          values: [ "true" ]
    - matchExpressions:
        - key: app.kubernetes.io/instance
          operator: Exists
        - key: app.kubernetes.io/version
          operator: Exists
  dashboardNamespaceSelector:
    matchLabels:
      label-key: label-value
    matchExpressions:
      - key: openshift.io/cluster-monitoring
        operator: NotIn
        values: [ "true" ]
      - key: kubernetes.io/metadata.name
        operator: In
        values:
          - monitoring
          - cassandra
  podMonitor:
    ...see example by link...
  dataStorage:
    labels:
      app: grafana
    annotations:
      app: grafana
    accessModes:
      - ReadWriteOnce
    size: 2Gi
    class: local-storage
  labels:
    label.key: label-value
  annotations:
    annotation.key: annotation-value
  priorityClassName: priority-class

grafana-operator

Field Description Scheme
image A docker image to be used for the grafana-operator deployment. string
paused Set paused to reconciliation. bool
initContainerImage A docker image to be used into initContainer in the Grafana deployment. string
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
podMonitor Pod monitor for self monitoring. *Monitor
affinity If specified, the pod's scheduling constraints *v1.Affinity
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:

grafana:
  operator:
    image: integreatly/grafana-operator:latest
    paused: false
    initContainerImage: integreatly/grafana_plugins_init:latest
    resources:
      limits:
        cpu: 200m
        memory: 200Mi
      requests:
        cpu: 100m
        memory: 100Mi
    securityContext:
      runAsUser: 2000
      fsGroup: 2000
    podMonitor:
      ...see example by link...
    labels:
      label.key: label-value
    annotations:
      annotation.key: annotation-value
    priorityClassName: priority-class

grafana-image-renderer

Warning: The grafana-image-renderer requires two extra environment variables in Grafana:

  • GF_RENDERING_SERVER_URL - http://<image-renderer-address>:<port>/render
  • GF_RENDERING_CALLBACK_URL - http://<grafana-adderss>:<port>/

These variables have been set by default for local renderer and Grafana services. You don't have to override them. You need change them in case if youare yousing external renderer.

Warning: Rendering images requires a lot of memory, mainly because Grafana creates browser instances in the background for the actual rendering. If you are going to render a lot of panels it make sense allocate much more memory than default value(developers of plugin suggest 16GB ram).

Field Description Scheme
install Allows to enable deploy Grafana image renderer. *bool
image A docker image to use for grafana-image-renderer deployment. string
name This name is used as the name of the microservice deployment and in labels. []string
securityContext SecurityContext holds pod-level security attributes. Default for Kubernetes, securityContext:{ runAsUser: 2000, fsGroup: 2000 }. *v1.PodSecurityContext
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
resources The resources that describe the compute resource requests and limits for single Pods. v1.ResourceRequirements
tolerations Tolerations allow the pods to schedule onto nodes with matching taints. []v1.Toleration
port Port for grafana-image-renderer service. integer
extraEnvs Allow to set extra system environment variables for grafana-image-renderer. More information about env variables in Configuration guide map[string]string
nodeSelector Defines which nodes the pods are scheduled on. Specified just as map[string]string. For example: \"type: compute\" map[string]string
affinity If specified, the pod's scheduling constraints *v1.Affinity
priorityClassName PriorityClassName assigned to the Pods to prevent them from evicting. string

Example:

grafana:
  imageRenderer:
    install: true
    image: grafana/grafana-image-renderer:3.6.2
    name: grafana-image-renderer
    resources:
      limits:
        cpu: 300m
        memory: 500Mi
      requests:
        cpu: 150m
        memory: 250Mi
    securityContext:
      runAsUser: 2000
      fsGroup: 2000
    labels:
      label.key: label-value
    annotations:
      annotation.key: annotation-value
    port: 8282
    priorityClassName: priority-class