integrations/zookeeper/documentation.yaml (105 lines of code) (raw):

exporter_type: included app_name_short: Zookeeper app_name: Apache {{app_name_short}} app_site_name: Zookeeper app_site_url: https://zookeeper.apache.org/ exporter_name: the Zookeeper exporter exporter_pkg_name: zookeeper exporter_repo_url: https://zookeeper.apache.org/doc/r3.8.0/zookeeperMonitor.html dashboard_available: true minimum_exporter_version: "3.8.0" multiple_dashboards: false dashboard_display_name: {{app_name_short}} Prometheus Overview config_mods: | apiVersion: apps/v1 kind: Deployment metadata: name: zookeeper spec: selector: matchLabels: + app.kubernetes.io/name: zookeeper template: metadata: labels: + app.kubernetes.io/name: zookeeper spec: containers: - name: zookeeper image: zookeeper:3.8.0 + env: + - name: ZOO_CFG_EXTRA + value: "metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider metricsProvider.httpPort=7000 metricsProvider.exportJvmInfo=true" + ports: + - containerPort: 7000 + name: prometheus podmonitoring_config: | apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: zookeeper labels: app.kubernetes.io/name: zookeeper app.kubernetes.io/part-of: google-cloud-managed-prometheus spec: endpoints: - port: prometheus scheme: http interval: 30s path: /metrics selector: matchLabels: app.kubernetes.io/name: zookeeper additional_install_info: | {{app_name_short}} exposes Prometheus-format metrics automatically when configured to use the `ZOO_CFG_EXTRA` environment variable. This example configures {{app_name_short}} to expose Prometheus-format metrics on port `7000`. sample_promql_query: up{job="zookeeper", cluster="{{cluster_name}}", namespace="{{namespace_name}}"} alerts_config: | apiVersion: monitoring.googleapis.com/v1 kind: Rules metadata: name: zookeeper-rules labels: app.kubernetes.io/component: rules app.kubernetes.io/name: zookeeper-rules app.kubernetes.io/part-of: google-cloud-managed-prometheus spec: groups: - name: zookeeper interval: 30s rules: - alert: ZooKeeperHighAverageLatency annotations: description: |- ZooKeeper high average latency VALUE = {{ $value }} LABELS: {{ $labels }} summary: ZooKeeper high average latency (instance {{ $labels.instance }}) expr: avg_latency > 100 for: 5m labels: severity: warning - alert: ZooKeeperHighFsyncDuration annotations: description: |- ZooKeeper high fsync duration VALUE = {{ $value }} LABELS: {{ $labels }} summary: ZooKeeper high fsync duration (instance {{ $labels.instance }}) expr: fsynctime_sum > 100 for: 5m labels: severity: warning - alert: ZooKeeperLowFreeFileDescriptors annotations: description: |- ZooKeeper high fsync duration VALUE = {{ $value }} LABELS: {{ $labels }} summary: ZooKeeper high fsync duration (instance {{ $labels.instance }}) expr: open_file_descriptor_count >= max_file_descriptor_count - 15 for: 5m labels: severity: critical additional_alert_info: You can adjust the alert thresholds to suit your application.