Created
June 23, 2023 04:35
-
-
Save safoorsafdar/29f013c3cd5c8c3db1846ad89381334a to your computer and use it in GitHub Desktop.
Grafana Cloud integration with Kubernetes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: grafana-agent | |
namespace: default | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: grafana-agent | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- nodes | |
- nodes/proxy | |
- nodes/metrics | |
- services | |
- endpoints | |
- pods | |
- events | |
verbs: | |
- get | |
- list | |
- watch | |
- apiGroups: | |
- networking.k8s.io | |
resources: | |
- ingresses | |
verbs: | |
- get | |
- list | |
- watch | |
- nonResourceURLs: | |
- /metrics | |
- /metrics/cadvisor | |
verbs: | |
- get | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: grafana-agent | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: grafana-agent | |
subjects: | |
- kind: ServiceAccount | |
name: grafana-agent | |
namespace: default | |
--- | |
apiVersion: monitoring.grafana.com/v1alpha1 | |
kind: GrafanaAgent | |
metadata: | |
name: grafana-agent | |
namespace: default | |
spec: | |
image: grafana/agent:v0.33.1 | |
integrations: | |
selector: | |
matchLabels: | |
agent: grafana-agent | |
metrics: | |
externalLabels: | |
cluster: my-cluster | |
instanceSelector: | |
matchLabels: | |
agent: grafana-agent | |
scrapeInterval: 60s | |
logs: | |
instanceSelector: | |
matchLabels: | |
agent: grafana-agent | |
serviceAccountName: grafana-agent | |
--- | |
apiVersion: v1 | |
kind: Secret | |
metadata: | |
name: metrics-secret | |
namespace: default | |
type: Opaque | |
stringData: | |
password: "REPLACE_WITH_API_TOKEN" | |
username: "404168" | |
--- | |
apiVersion: monitoring.grafana.com/v1alpha1 | |
kind: Integration | |
metadata: | |
labels: | |
agent: grafana-agent | |
name: node-exporter | |
namespace: default | |
spec: | |
config: | |
autoscrape: | |
enable: true | |
metrics_instance: default/grafana-agent-metrics | |
procfs_path: host/proc | |
rootfs_path: /host/root | |
sysfs_path: /host/sys | |
name: node_exporter | |
type: | |
allNodes: true | |
unique: true | |
volumeMounts: | |
- mountPath: /host/root | |
name: rootfs | |
- mountPath: /host/sys | |
name: sysfs | |
- mountPath: /host/proc | |
name: procfs | |
volumes: | |
- hostPath: | |
path: / | |
name: rootfs | |
- hostPath: | |
path: /sys | |
name: sysfs | |
- hostPath: | |
path: /proc | |
name: procfs | |
--- | |
apiVersion: monitoring.grafana.com/v1alpha1 | |
kind: MetricsInstance | |
metadata: | |
labels: | |
agent: grafana-agent | |
name: grafana-agent-metrics | |
namespace: default | |
spec: | |
podMonitorNamespaceSelector: {} | |
podMonitorSelector: | |
matchLabels: | |
instance: primary | |
remoteWrite: | |
- basicAuth: | |
password: | |
key: password | |
name: metrics-secret | |
username: | |
key: username | |
name: metrics-secret | |
url: https://prometheus-prod-01-eu-west-0.grafana.net/api/prom/push | |
serviceMonitorNamespaceSelector: {} | |
serviceMonitorSelector: | |
matchLabels: | |
instance: primary | |
--- | |
apiVersion: monitoring.coreos.com/v1 | |
kind: ServiceMonitor | |
metadata: | |
labels: | |
instance: primary | |
name: cadvisor-monitor | |
namespace: default | |
spec: | |
endpoints: | |
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token | |
honorLabels: true | |
interval: 60s | |
metricRelabelings: | |
- action: keep | |
regex: kube_pod_container_status_waiting_reason|cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits|kube_daemonset_status_desired_number_scheduled|kubelet_certificate_manager_client_ttl_seconds|kube_node_status_condition|kubelet_node_config_error|rest_client_requests_total|kube_horizontalpodautoscaler_status_current_replicas|node_namespace_pod_container:container_memory_cache|kubelet_cgroup_manager_duration_seconds_count|kube_horizontalpodautoscaler_status_desired_replicas|container_fs_writes_total|kube_daemonset_status_current_number_scheduled|kube_pod_info|kubelet_pod_worker_duration_seconds_count|kubelet_pleg_relist_interval_seconds_bucket|kube_job_failed|kube_replicaset_owner|namespace_workload_pod:kube_pod_owner:relabel|kubelet_runtime_operations_errors_total|volume_manager_total_volumes|kubelet_server_expiration_renew_errors|container_memory_rss|container_memory_working_set_bytes|kubelet_running_container_count|container_fs_writes_bytes_total|namespace_cpu:kube_pod_container_resource_requests:sum|kubelet_running_pod_count|kube_statefulset_status_replicas_updated|kube_job_status_active|kube_node_status_capacity|kubelet_volume_stats_inodes|kube_statefulset_status_replicas|kube_deployment_status_replicas_updated|kube_node_status_allocatable|kube_statefulset_status_replicas_ready|node_namespace_pod_container:container_memory_working_set_bytes|kubelet_pod_worker_duration_seconds_bucket|kubelet_runtime_operations_total|kube_horizontalpodautoscaler_spec_max_replicas|kube_statefulset_status_current_revision|node_namespace_pod_container:container_memory_rss|kubelet_pleg_relist_duration_seconds_count|kube_daemonset_status_updated_number_scheduled|kube_horizontalpodautoscaler_spec_min_replicas|container_cpu_usage_seconds_total|kubelet_node_name|kubelet_certificate_manager_client_expiration_renew_errors|kube_pod_owner|container_network_transmit_packets_dropped_total|node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile|kube_persistentvolumeclaim_resource_requests_storage_bytes|storage_operation_errors_total|kubelet_cgroup_manager_duration_seconds_bucket|kubelet_pleg_relist_duration_seconds_bucket|go_goroutines|kube_statefulset_status_observed_generation|container_fs_reads_total|container_cpu_cfs_periods_total|kubelet_running_containers|kube_daemonset_status_number_misscheduled|container_network_receive_packets_total|kube_node_info|kube_namespace_status_phase|process_resident_memory_bytes|kube_pod_status_phase|container_network_transmit_packets_total|cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests|container_memory_cache|kubelet_running_pods|kube_job_status_start_time|kube_node_spec_taint|container_network_receive_packets_dropped_total|kube_pod_container_resource_requests|kubelet_volume_stats_available_bytes|node_filesystem_avail_bytes|kube_statefulset_metadata_generation|node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate|cluster:namespace:pod_memory:active:kube_pod_container_resource_requests|cluster:namespace:pod_memory:active:kube_pod_container_resource_limits|kube_daemonset_status_number_available|namespace_cpu:kube_pod_container_resource_limits:sum|container_fs_reads_bytes_total|kube_pod_container_resource_limits|node_namespace_pod_container:container_memory_swap|process_cpu_seconds_total|container_network_receive_bytes_total|kubelet_volume_stats_capacity_bytes|kubelet_volume_stats_inodes_used|kube_statefulset_replicas|kube_statefulset_status_update_revision|kube_deployment_status_replicas_available|kube_deployment_metadata_generation|kubernetes_build_info|namespace_memory:kube_pod_container_resource_limits:sum|namespace_workload_pod|kube_pod_status_reason|kube_deployment_status_observed_generation|container_memory_swap|kube_deployment_spec_replicas|node_filesystem_size_bytes|kubelet_pod_start_duration_seconds_bucket|namespace_memory:kube_pod_container_resource_requests:sum|machine_memory_bytes|kube_resourcequota|container_cpu_cfs_throttled_periods_total|container_network_transmit_bytes_total|storage_operation_duration_seconds_count|kubelet_pod_start_duration_seconds_count|kubelet_certificate_manager_server_ttl_seconds|kube_namespace_status_phase|container_cpu_usage_seconds_total|kube_pod_status_phase|kube_pod_start_time|kube_pod_container_status_restarts_total|kube_pod_container_info|kube_pod_container_status_waiting_reason|kube_daemonset.*|kube_replicaset.*|kube_statefulset.*|kube_job.*|kube_node.*|node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate|cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests|namespace_cpu:kube_pod_container_resource_requests:sum|node_cpu.*|node_memory.*|node_filesystem.* | |
sourceLabels: | |
- __name__ | |
path: /metrics/cadvisor | |
port: https-metrics | |
relabelings: | |
- sourceLabels: | |
- __metrics_path__ | |
targetLabel: metrics_path | |
- action: replace | |
replacement: integrations/kubernetes/cadvisor | |
targetLabel: job | |
scheme: https | |
tlsConfig: | |
insecureSkipVerify: true | |
namespaceSelector: | |
any: true | |
selector: | |
matchLabels: | |
app.kubernetes.io/name: kubelet | |
--- | |
apiVersion: monitoring.coreos.com/v1 | |
kind: ServiceMonitor | |
metadata: | |
labels: | |
instance: primary | |
name: kubelet-monitor | |
namespace: default | |
spec: | |
endpoints: | |
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token | |
honorLabels: true | |
interval: 60s | |
metricRelabelings: | |
- action: keep | |
regex: kube_pod_container_status_waiting_reason|cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits|kube_daemonset_status_desired_number_scheduled|kubelet_certificate_manager_client_ttl_seconds|kube_node_status_condition|kubelet_node_config_error|rest_client_requests_total|kube_horizontalpodautoscaler_status_current_replicas|node_namespace_pod_container:container_memory_cache|kubelet_cgroup_manager_duration_seconds_count|kube_horizontalpodautoscaler_status_desired_replicas|container_fs_writes_total|kube_daemonset_status_current_number_scheduled|kube_pod_info|kubelet_pod_worker_duration_seconds_count|kubelet_pleg_relist_interval_seconds_bucket|kube_job_failed|kube_replicaset_owner|namespace_workload_pod:kube_pod_owner:relabel|kubelet_runtime_operations_errors_total|volume_manager_total_volumes|kubelet_server_expiration_renew_errors|container_memory_rss|container_memory_working_set_bytes|kubelet_running_container_count|container_fs_writes_bytes_total|namespace_cpu:kube_pod_container_resource_requests:sum|kubelet_running_pod_count|kube_statefulset_status_replicas_updated|kube_job_status_active|kube_node_status_capacity|kubelet_volume_stats_inodes|kube_statefulset_status_replicas|kube_deployment_status_replicas_updated|kube_node_status_allocatable|kube_statefulset_status_replicas_ready|node_namespace_pod_container:container_memory_working_set_bytes|kubelet_pod_worker_duration_seconds_bucket|kubelet_runtime_operations_total|kube_horizontalpodautoscaler_spec_max_replicas|kube_statefulset_status_current_revision|node_namespace_pod_container:container_memory_rss|kubelet_pleg_relist_duration_seconds_count|kube_daemonset_status_updated_number_scheduled|kube_horizontalpodautoscaler_spec_min_replicas|container_cpu_usage_seconds_total|kubelet_node_name|kubelet_certificate_manager_client_expiration_renew_errors|kube_pod_owner|container_network_transmit_packets_dropped_total|node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile|kube_persistentvolumeclaim_resource_requests_storage_bytes|storage_operation_errors_total|kubelet_cgroup_manager_duration_seconds_bucket|kubelet_pleg_relist_duration_seconds_bucket|go_goroutines|kube_statefulset_status_observed_generation|container_fs_reads_total|container_cpu_cfs_periods_total|kubelet_running_containers|kube_daemonset_status_number_misscheduled|container_network_receive_packets_total|kube_node_info|kube_namespace_status_phase|process_resident_memory_bytes|kube_pod_status_phase|container_network_transmit_packets_total|cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests|container_memory_cache|kubelet_running_pods|kube_job_status_start_time|kube_node_spec_taint|container_network_receive_packets_dropped_total|kube_pod_container_resource_requests|kubelet_volume_stats_available_bytes|node_filesystem_avail_bytes|kube_statefulset_metadata_generation|node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate|cluster:namespace:pod_memory:active:kube_pod_container_resource_requests|cluster:namespace:pod_memory:active:kube_pod_container_resource_limits|kube_daemonset_status_number_available|namespace_cpu:kube_pod_container_resource_limits:sum|container_fs_reads_bytes_total|kube_pod_container_resource_limits|node_namespace_pod_container:container_memory_swap|process_cpu_seconds_total|container_network_receive_bytes_total|kubelet_volume_stats_capacity_bytes|kubelet_volume_stats_inodes_used|kube_statefulset_replicas|kube_statefulset_status_update_revision|kube_deployment_status_replicas_available|kube_deployment_metadata_generation|kubernetes_build_info|namespace_memory:kube_pod_container_resource_limits:sum|namespace_workload_pod|kube_pod_status_reason|kube_deployment_status_observed_generation|container_memory_swap|kube_deployment_spec_replicas|node_filesystem_size_bytes|kubelet_pod_start_duration_seconds_bucket|namespace_memory:kube_pod_container_resource_requests:sum|machine_memory_bytes|kube_resourcequota|container_cpu_cfs_throttled_periods_total|container_network_transmit_bytes_total|storage_operation_duration_seconds_count|kubelet_pod_start_duration_seconds_count|kubelet_certificate_manager_server_ttl_seconds|kube_namespace_status_phase|container_cpu_usage_seconds_total|kube_pod_status_phase|kube_pod_start_time|kube_pod_container_status_restarts_total|kube_pod_container_info|kube_pod_container_status_waiting_reason|kube_daemonset.*|kube_replicaset.*|kube_statefulset.*|kube_job.*|kube_node.*|node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate|cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests|namespace_cpu:kube_pod_container_resource_requests:sum|node_cpu.*|node_memory.*|node_filesystem.* | |
sourceLabels: | |
- __name__ | |
path: /metrics | |
port: https-metrics | |
relabelings: | |
- sourceLabels: | |
- __metrics_path__ | |
targetLabel: metrics_path | |
- action: replace | |
replacement: integrations/kubernetes/kubelet | |
targetLabel: job | |
scheme: https | |
tlsConfig: | |
insecureSkipVerify: true | |
namespaceSelector: | |
any: true | |
selector: | |
matchLabels: | |
app.kubernetes.io/name: kubelet | |
--- | |
apiVersion: v1 | |
automountServiceAccountToken: false | |
kind: ServiceAccount | |
metadata: | |
labels: | |
app.kubernetes.io/component: exporter | |
app.kubernetes.io/name: kube-state-metrics | |
app.kubernetes.io/version: 2.8.2 | |
name: kube-state-metrics | |
namespace: default | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
labels: | |
app.kubernetes.io/component: exporter | |
app.kubernetes.io/name: kube-state-metrics | |
app.kubernetes.io/version: 2.8.2 | |
name: kube-state-metrics | |
rules: | |
- apiGroups: | |
- "" | |
resources: | |
- configmaps | |
- secrets | |
- nodes | |
- pods | |
- services | |
- resourcequotas | |
- replicationcontrollers | |
- limitranges | |
- persistentvolumeclaims | |
- persistentvolumes | |
- namespaces | |
- endpoints | |
verbs: | |
- list | |
- watch | |
- apiGroups: | |
- apps | |
resources: | |
- statefulsets | |
- daemonsets | |
- deployments | |
- replicasets | |
verbs: | |
- list | |
- watch | |
- apiGroups: | |
- batch | |
resources: | |
- cronjobs | |
- jobs | |
verbs: | |
- list | |
- watch | |
- apiGroups: | |
- autoscaling | |
resources: | |
- horizontalpodautoscalers | |
verbs: | |
- list | |
- watch | |
- apiGroups: | |
- authentication.k8s.io | |
resources: | |
- tokenreviews | |
verbs: | |
- create | |
- apiGroups: | |
- authorization.k8s.io | |
resources: | |
- subjectaccessreviews | |
verbs: | |
- create | |
- apiGroups: | |
- policy | |
resources: | |
- poddisruptionbudgets | |
verbs: | |
- list | |
- watch | |
- apiGroups: | |
- certificates.k8s.io | |
resources: | |
- certificatesigningrequests | |
verbs: | |
- list | |
- watch | |
- apiGroups: | |
- storage.k8s.io | |
resources: | |
- storageclasses | |
- volumeattachments | |
verbs: | |
- list | |
- watch | |
- apiGroups: | |
- admissionregistration.k8s.io | |
resources: | |
- mutatingwebhookconfigurations | |
- validatingwebhookconfigurations | |
verbs: | |
- list | |
- watch | |
- apiGroups: | |
- networking.k8s.io | |
resources: | |
- networkpolicies | |
- ingresses | |
verbs: | |
- list | |
- watch | |
- apiGroups: | |
- coordination.k8s.io | |
resources: | |
- leases | |
verbs: | |
- list | |
- watch | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
labels: | |
app.kubernetes.io/component: exporter | |
app.kubernetes.io/name: kube-state-metrics | |
app.kubernetes.io/version: 2.8.2 | |
name: kube-state-metrics | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: kube-state-metrics | |
subjects: | |
- kind: ServiceAccount | |
name: kube-state-metrics | |
namespace: default | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
app.kubernetes.io/component: exporter | |
app.kubernetes.io/name: kube-state-metrics | |
app.kubernetes.io/version: 2.8.2 | |
name: kube-state-metrics | |
namespace: default | |
spec: | |
clusterIP: None | |
ports: | |
- name: http-metrics | |
port: 8080 | |
targetPort: http-metrics | |
- name: telemetry | |
port: 8081 | |
targetPort: telemetry | |
selector: | |
app.kubernetes.io/name: kube-state-metrics | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
labels: | |
app.kubernetes.io/component: exporter | |
app.kubernetes.io/name: kube-state-metrics | |
app.kubernetes.io/version: 2.8.2 | |
name: kube-state-metrics | |
namespace: default | |
spec: | |
replicas: 1 | |
selector: | |
matchLabels: | |
app.kubernetes.io/name: kube-state-metrics | |
template: | |
metadata: | |
labels: | |
app.kubernetes.io/component: exporter | |
app.kubernetes.io/name: kube-state-metrics | |
app.kubernetes.io/version: 2.8.2 | |
spec: | |
automountServiceAccountToken: true | |
containers: | |
- image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.8.2 | |
livenessProbe: | |
httpGet: | |
path: /healthz | |
port: 8080 | |
initialDelaySeconds: 5 | |
timeoutSeconds: 5 | |
name: kube-state-metrics | |
ports: | |
- containerPort: 8080 | |
name: http-metrics | |
- containerPort: 8081 | |
name: telemetry | |
readinessProbe: | |
httpGet: | |
path: / | |
port: 8081 | |
initialDelaySeconds: 5 | |
timeoutSeconds: 5 | |
securityContext: | |
allowPrivilegeEscalation: false | |
capabilities: | |
drop: | |
- ALL | |
readOnlyRootFilesystem: true | |
runAsUser: 65534 | |
nodeSelector: | |
kubernetes.io/os: linux | |
serviceAccountName: kube-state-metrics | |
--- | |
apiVersion: monitoring.coreos.com/v1 | |
kind: ServiceMonitor | |
metadata: | |
labels: | |
instance: primary | |
name: ksm-monitor | |
namespace: default | |
spec: | |
endpoints: | |
- honorLabels: true | |
interval: 60s | |
metricRelabelings: | |
- action: keep | |
regex: kube_pod_container_status_waiting_reason|cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits|kube_daemonset_status_desired_number_scheduled|kubelet_certificate_manager_client_ttl_seconds|kube_node_status_condition|kubelet_node_config_error|rest_client_requests_total|kube_horizontalpodautoscaler_status_current_replicas|node_namespace_pod_container:container_memory_cache|kubelet_cgroup_manager_duration_seconds_count|kube_horizontalpodautoscaler_status_desired_replicas|container_fs_writes_total|kube_daemonset_status_current_number_scheduled|kube_pod_info|kubelet_pod_worker_duration_seconds_count|kubelet_pleg_relist_interval_seconds_bucket|kube_job_failed|kube_replicaset_owner|namespace_workload_pod:kube_pod_owner:relabel|kubelet_runtime_operations_errors_total|volume_manager_total_volumes|kubelet_server_expiration_renew_errors|container_memory_rss|container_memory_working_set_bytes|kubelet_running_container_count|container_fs_writes_bytes_total|namespace_cpu:kube_pod_container_resource_requests:sum|kubelet_running_pod_count|kube_statefulset_status_replicas_updated|kube_job_status_active|kube_node_status_capacity|kubelet_volume_stats_inodes|kube_statefulset_status_replicas|kube_deployment_status_replicas_updated|kube_node_status_allocatable|kube_statefulset_status_replicas_ready|node_namespace_pod_container:container_memory_working_set_bytes|kubelet_pod_worker_duration_seconds_bucket|kubelet_runtime_operations_total|kube_horizontalpodautoscaler_spec_max_replicas|kube_statefulset_status_current_revision|node_namespace_pod_container:container_memory_rss|kubelet_pleg_relist_duration_seconds_count|kube_daemonset_status_updated_number_scheduled|kube_horizontalpodautoscaler_spec_min_replicas|container_cpu_usage_seconds_total|kubelet_node_name|kubelet_certificate_manager_client_expiration_renew_errors|kube_pod_owner|container_network_transmit_packets_dropped_total|node_quantile:kubelet_pleg_relist_duration_seconds:histogram_quantile|kube_persistentvolumeclaim_resource_requests_storage_bytes|storage_operation_errors_total|kubelet_cgroup_manager_duration_seconds_bucket|kubelet_pleg_relist_duration_seconds_bucket|go_goroutines|kube_statefulset_status_observed_generation|container_fs_reads_total|container_cpu_cfs_periods_total|kubelet_running_containers|kube_daemonset_status_number_misscheduled|container_network_receive_packets_total|kube_node_info|kube_namespace_status_phase|process_resident_memory_bytes|kube_pod_status_phase|container_network_transmit_packets_total|cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests|container_memory_cache|kubelet_running_pods|kube_job_status_start_time|kube_node_spec_taint|container_network_receive_packets_dropped_total|kube_pod_container_resource_requests|kubelet_volume_stats_available_bytes|node_filesystem_avail_bytes|kube_statefulset_metadata_generation|node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate|cluster:namespace:pod_memory:active:kube_pod_container_resource_requests|cluster:namespace:pod_memory:active:kube_pod_container_resource_limits|kube_daemonset_status_number_available|namespace_cpu:kube_pod_container_resource_limits:sum|container_fs_reads_bytes_total|kube_pod_container_resource_limits|node_namespace_pod_container:container_memory_swap|process_cpu_seconds_total|container_network_receive_bytes_total|kubelet_volume_stats_capacity_bytes|kubelet_volume_stats_inodes_used|kube_statefulset_replicas|kube_statefulset_status_update_revision|kube_deployment_status_replicas_available|kube_deployment_metadata_generation|kubernetes_build_info|namespace_memory:kube_pod_container_resource_limits:sum|namespace_workload_pod|kube_pod_status_reason|kube_deployment_status_observed_generation|container_memory_swap|kube_deployment_spec_replicas|node_filesystem_size_bytes|kubelet_pod_start_duration_seconds_bucket|namespace_memory:kube_pod_container_resource_requests:sum|machine_memory_bytes|kube_resourcequota|container_cpu_cfs_throttled_periods_total|container_network_transmit_bytes_total|storage_operation_duration_seconds_count|kubelet_pod_start_duration_seconds_count|kubelet_certificate_manager_server_ttl_seconds|kube_namespace_status_phase|container_cpu_usage_seconds_total|kube_pod_status_phase|kube_pod_start_time|kube_pod_container_status_restarts_total|kube_pod_container_info|kube_pod_container_status_waiting_reason|kube_daemonset.*|kube_replicaset.*|kube_statefulset.*|kube_job.*|kube_node.*|node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate|cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests|namespace_cpu:kube_pod_container_resource_requests:sum|node_cpu.*|node_memory.*|node_filesystem.* | |
sourceLabels: | |
- __name__ | |
path: /metrics | |
port: http-metrics | |
relabelings: | |
- action: replace | |
replacement: integrations/kubernetes/kube-state-metrics | |
targetLabel: job | |
namespaceSelector: | |
matchNames: | |
- default | |
selector: | |
matchLabels: | |
app.kubernetes.io/name: kube-state-metrics | |
--- | |
apiVersion: v1 | |
kind: Secret | |
metadata: | |
name: logs-secret | |
namespace: default | |
type: Opaque | |
stringData: | |
password: "REPLACE_WITH_API_TOKEN" | |
username: "201054" | |
--- | |
apiVersion: monitoring.grafana.com/v1alpha1 | |
kind: LogsInstance | |
metadata: | |
labels: | |
agent: grafana-agent | |
name: grafana-agent-logs | |
namespace: default | |
spec: | |
clients: | |
- basicAuth: | |
password: | |
key: password | |
name: logs-secret | |
username: | |
key: username | |
name: logs-secret | |
externalLabels: | |
cluster: my-cluster | |
url: https://logs-prod-eu-west-0.grafana.net/loki/api/v1/push | |
podLogsNamespaceSelector: {} | |
podLogsSelector: | |
matchLabels: | |
instance: primary | |
--- | |
apiVersion: monitoring.grafana.com/v1alpha1 | |
kind: PodLogs | |
metadata: | |
labels: | |
instance: primary | |
name: kubernetes-logs | |
namespace: default | |
spec: | |
namespaceSelector: | |
any: true | |
pipelineStages: | |
- cri: {} | |
relabelings: | |
- sourceLabels: | |
- __meta_kubernetes_pod_node_name | |
targetLabel: __host__ | |
- action: replace | |
sourceLabels: | |
- __meta_kubernetes_namespace | |
targetLabel: namespace | |
- action: replace | |
sourceLabels: | |
- __meta_kubernetes_pod_name | |
targetLabel: pod | |
- action: replace | |
sourceLabels: | |
- __meta_kubernetes_container_name | |
targetLabel: container | |
- replacement: /var/log/pods/*$1/*.log | |
separator: / | |
sourceLabels: | |
- __meta_kubernetes_pod_uid | |
- __meta_kubernetes_pod_container_name | |
targetLabel: __path__ | |
selector: | |
matchLabels: {} | |
--- | |
apiVersion: v1 | |
kind: PersistentVolumeClaim | |
metadata: | |
name: agent-eventhandler | |
namespace: default | |
spec: | |
accessModes: | |
- ReadWriteOnce | |
resources: | |
requests: | |
storage: 1Gi | |
--- | |
apiVersion: monitoring.grafana.com/v1alpha1 | |
kind: Integration | |
metadata: | |
labels: | |
agent: grafana-agent | |
name: agent-eventhandler | |
namespace: default | |
spec: | |
config: | |
cache_path: /etc/eventhandler/eventhandler.cache | |
logs_instance: default/grafana-agent-logs | |
name: eventhandler | |
type: | |
unique: true | |
volumeMounts: | |
- mountPath: /etc/eventhandler | |
name: agent-eventhandler | |
volumes: | |
- name: agent-eventhandler | |
persistentVolumeClaim: | |
claimName: agent-eventhandler |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment