integrations/aerospike/documentation.yaml (114 lines of code) (raw):
exporter_type: sidecar
app_name_short: Aerospike
app_name: {{app_name_short}}
app_site_name: Aerospike
app_site_url: https://aerospike.com/
exporter_name: the Aerospike exporter
exporter_pkg_name: aerospike-prometheus-exporter
exporter_repo_url: https://github.com/aerospike/aerospike-prometheus-exporter
dashboard_available: true
minimum_exporter_version: "1.8.0"
multiple_dashboards: false
dashboard_display_name: {{app_name_short}} Prometheus Overview
config_mods: |
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: aerospike
labels:
app.kubernetes.io/name: aerospike
spec:
serviceName: aerospike
replicas: 1
selector:
matchLabels:
+ app.kubernetes.io/name: aerospike
template:
metadata:
labels:
+ app.kubernetes.io/name: aerospike
spec:
containers:
- name: aerospike
image: aerospike/aerospike-server:6.0.0.2
ports:
- containerPort: 3000
+ - name: aerospike-prometheus-exporter
+ image: aerospike/aerospike-prometheus-exporter:1.8.0
+ ports:
+ - containerPort: 9145
+ name: prometheus
+ env:
+ - name: AS_HOST
+ value: localhost
+ - name: AS_PORT
+ value: "3000"
additional_install_info: |
These instructions assume you already have a working {{app_name_short}}
installation and want to modify it to include an exporter. For information
about setting up {{app_name_short}}, see the
[Aerospike operator documentation](https://docs.aerospike.com/cloud/kubernetes/operator){:class=external}.
podmonitoring_config: |
apiVersion: monitoring.googleapis.com/v1
kind: PodMonitoring
metadata:
name: aerospike
labels:
app.kubernetes.io/name: aerospike
app.kubernetes.io/part-of: google-cloud-managed-prometheus
spec:
endpoints:
- port: prometheus
interval: 30s
selector:
matchLabels:
app.kubernetes.io/name: aerospike
sample_promql_query: up{job="aerospike", cluster="{{cluster_name}}", namespace="{{namespace_name}}"}
alerts_config: |
apiVersion: monitoring.googleapis.com/v1
kind: Rules
metadata:
name: aerospike-rules
labels:
app.kubernetes.io/component: rules
app.kubernetes.io/name: aerospike-rules
app.kubernetes.io/part-of: google-cloud-managed-prometheus
spec:
groups:
- name: aerospike
interval: 30s
rules:
- alert: AerospikeHighMemoryUtilization
annotations:
description: |-
Aerospike high memory utilization
VALUE = {{ $value }}
LABELS: {{ $labels }}
summary: Aerospike high memory utilization (instance {{ $labels.instance }})
expr: aerospike_node_stats_system_free_mem_pct < 5
for: 5m
labels:
severity: critical
- alert: AerospikeHighNamespaceDiskUtilization
annotations:
description: |-
Aerospike high namespace disk utilization
VALUE = {{ $value }}
LABELS: {{ $labels }}
summary: Aerospike high namespace disk utilization (instance {{ $labels.instance }})
expr: aerospike_namespace_device_available_pct < 5
for: 5m
labels:
severity: warning
- alert: AerospikeHighNamespaceMemoryUtilization
annotations:
description: |-
Aerospike high namespace memory utilization
VALUE = {{ $value }}
LABELS: {{ $labels }}
summary: Aerospike high namespace memory utilization (instance {{ $labels.instance }})
expr: aerospike_namespace_memory_free_pct < 5
for: 5m
labels:
severity: warning
additional_alert_info: You can adjust the alert thresholds to suit your application.