Path: blob/main/cmd/grafana-agent-operator/agent-example-config.yaml
4094 views
apiVersion: monitoring.grafana.com/v1alpha11kind: GrafanaAgent2metadata:3name: grafana-agent-example4namespace: default5labels:6app: grafana-agent-example7spec:8image: grafana/agent:latest9logLevel: info10serviceAccountName: grafana-agent11storage:12volumeClaimTemplate:13spec:14resources:15requests:16storage: 1Gi17logs:18instanceSelector:19matchLabels:20agent: grafana-agent-example21metrics:22instanceSelector:23matchLabels:24agent: grafana-agent-example2526---2728apiVersion: monitoring.grafana.com/v1alpha129kind: MetricsInstance30metadata:31name: primary32namespace: default33labels:34agent: grafana-agent-example35spec:36remoteWrite:37- url: http://prometheus:9090/api/v1/write38basicAuth:39username:40name: prometheus-fake-credentials41key: fakeUsername42password:43name: prometheus-fake-credentials44key: fakePassword45# Supply an empty namespace selector to look in all namespaces.46serviceMonitorNamespaceSelector: {}47serviceMonitorSelector:48matchLabels:49instance: primary5051---5253apiVersion: monitoring.grafana.com/v1alpha154kind: LogsInstance55metadata:56name: primary57namespace: default58labels:59agent: grafana-agent-example60spec:61clients:62- url: http://loki:8080/loki/api/v1/push6364# Supply an empty namespace selector to look in all namespaces.65podLogsNamespaceSelector: {}66podLogsSelector:67matchLabels:68instance: primary6970---7172# Have the Agent monitor itself.73apiVersion: monitoring.coreos.com/v174kind: PodMonitor75metadata:76name: grafana-agents77namespace: default78labels:79instance: primary80spec:81selector:82matchLabels:83app.kubernetes.io/name: grafana-agent84podMetricsEndpoints:85- port: http-metrics8687---8889# Have the Agent get logs from itself.90apiVersion: monitoring.grafana.com/v1alpha191kind: PodLogs92metadata:93name: grafana-agents94namespace: default95labels:96instance: primary97spec:98selector:99matchLabels:100app.kubernetes.io/name: grafana-agent101pipelineStages:102- cri: {}103104---105106# With -kubelet-service=default/kubelet provided as a flag to the Grafana Agent107# Operator, it will maintain a Service called "kubelet" in the default namespace108# with one endpoint per Node. This allows using the ServiceMonitor below to109# monitor Kubernetes itself.110111apiVersion: monitoring.coreos.com/v1112kind: ServiceMonitor113metadata:114labels:115app.kubernetes.io/name: kubelet116instance: primary117name: kubelet118namespace: default119spec:120endpoints:121- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token122honorLabels: true123interval: 30s124metricRelabelings:125- action: drop126regex: kubelet_(pod_worker_latency_microseconds|pod_start_latency_microseconds|cgroup_manager_latency_microseconds|pod_worker_start_latency_microseconds|pleg_relist_latency_microseconds|pleg_relist_interval_microseconds|runtime_operations|runtime_operations_latency_microseconds|runtime_operations_errors|eviction_stats_age_microseconds|device_plugin_registration_count|device_plugin_alloc_latency_microseconds|network_plugin_operations_latency_microseconds)127sourceLabels:128- __name__129- action: drop130regex: scheduler_(e2e_scheduling_latency_microseconds|scheduling_algorithm_predicate_evaluation|scheduling_algorithm_priority_evaluation|scheduling_algorithm_preemption_evaluation|scheduling_algorithm_latency_microseconds|binding_latency_microseconds|scheduling_latency_seconds)131sourceLabels:132- __name__133- action: drop134regex: apiserver_(request_count|request_latencies|request_latencies_summary|dropped_requests|storage_data_key_generation_latencies_microseconds|storage_transformation_failures_total|storage_transformation_latencies_microseconds|proxy_tunnel_sync_latency_secs)135sourceLabels:136- __name__137- action: drop138regex: kubelet_docker_(operations|operations_latency_microseconds|operations_errors|operations_timeout)139sourceLabels:140- __name__141- action: drop142regex: reflector_(items_per_list|items_per_watch|list_duration_seconds|lists_total|short_watches_total|watch_duration_seconds|watches_total)143sourceLabels:144- __name__145- action: drop146regex: etcd_(helper_cache_hit_count|helper_cache_miss_count|helper_cache_entry_count|object_counts|request_cache_get_latencies_summary|request_cache_add_latencies_summary|request_latencies_summary)147sourceLabels:148- __name__149- action: drop150regex: transformation_(transformation_latencies_microseconds|failures_total)151sourceLabels:152- __name__153- action: drop154regex: (admission_quota_controller_adds|admission_quota_controller_depth|admission_quota_controller_longest_running_processor_microseconds|admission_quota_controller_queue_latency|admission_quota_controller_unfinished_work_seconds|admission_quota_controller_work_duration|APIServiceOpenAPIAggregationControllerQueue1_adds|APIServiceOpenAPIAggregationControllerQueue1_depth|APIServiceOpenAPIAggregationControllerQueue1_longest_running_processor_microseconds|APIServiceOpenAPIAggregationControllerQueue1_queue_latency|APIServiceOpenAPIAggregationControllerQueue1_retries|APIServiceOpenAPIAggregationControllerQueue1_unfinished_work_seconds|APIServiceOpenAPIAggregationControllerQueue1_work_duration|APIServiceRegistrationController_adds|APIServiceRegistrationController_depth|APIServiceRegistrationController_longest_running_processor_microseconds|APIServiceRegistrationController_queue_latency|APIServiceRegistrationController_retries|APIServiceRegistrationController_unfinished_work_seconds|APIServiceRegistrationController_work_duration|autoregister_adds|autoregister_depth|autoregister_longest_running_processor_microseconds|autoregister_queue_latency|autoregister_retries|autoregister_unfinished_work_seconds|autoregister_work_duration|AvailableConditionController_adds|AvailableConditionController_depth|AvailableConditionController_longest_running_processor_microseconds|AvailableConditionController_queue_latency|AvailableConditionController_retries|AvailableConditionController_unfinished_work_seconds|AvailableConditionController_work_duration|crd_autoregistration_controller_adds|crd_autoregistration_controller_depth|crd_autoregistration_controller_longest_running_processor_microseconds|crd_autoregistration_controller_queue_latency|crd_autoregistration_controller_retries|crd_autoregistration_controller_unfinished_work_seconds|crd_autoregistration_controller_work_duration|crdEstablishing_adds|crdEstablishing_depth|crdEstablishing_longest_running_processor_microseconds|crdEstablishing_queue_latency|crdEstablishing_retries|crdEstablishing_unfinished_work_seconds|crdEstablishing_work_duration|crd_finalizer_adds|crd_finalizer_depth|crd_finalizer_longest_running_processor_microseconds|crd_finalizer_queue_latency|crd_finalizer_retries|crd_finalizer_unfinished_work_seconds|crd_finalizer_work_duration|crd_naming_condition_controller_adds|crd_naming_condition_controller_depth|crd_naming_condition_controller_longest_running_processor_microseconds|crd_naming_condition_controller_queue_latency|crd_naming_condition_controller_retries|crd_naming_condition_controller_unfinished_work_seconds|crd_naming_condition_controller_work_duration|crd_openapi_controller_adds|crd_openapi_controller_depth|crd_openapi_controller_longest_running_processor_microseconds|crd_openapi_controller_queue_latency|crd_openapi_controller_retries|crd_openapi_controller_unfinished_work_seconds|crd_openapi_controller_work_duration|DiscoveryController_adds|DiscoveryController_depth|DiscoveryController_longest_running_processor_microseconds|DiscoveryController_queue_latency|DiscoveryController_retries|DiscoveryController_unfinished_work_seconds|DiscoveryController_work_duration|kubeproxy_sync_proxy_rules_latency_microseconds|non_structural_schema_condition_controller_adds|non_structural_schema_condition_controller_depth|non_structural_schema_condition_controller_longest_running_processor_microseconds|non_structural_schema_condition_controller_queue_latency|non_structural_schema_condition_controller_retries|non_structural_schema_condition_controller_unfinished_work_seconds|non_structural_schema_condition_controller_work_duration|rest_client_request_latency_seconds|storage_operation_errors_total|storage_operation_status_count)155sourceLabels:156- __name__157port: https-metrics158relabelings:159- sourceLabels:160- __metrics_path__161targetLabel: metrics_path162scheme: https163tlsConfig:164insecureSkipVerify: true165- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token166honorLabels: true167honorTimestamps: false168interval: 30s169metricRelabelings:170- action: drop171regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)172sourceLabels:173- __name__174- action: drop175regex: (container_fs_.*|container_spec_.*|container_blkio_device_usage_total|container_file_descriptors|container_sockets|container_threads_max|container_threads|container_start_time_seconds|container_last_seen);;176sourceLabels:177- __name__178- pod179- namespace180path: /metrics/cadvisor181port: https-metrics182relabelings:183- sourceLabels:184- __metrics_path__185targetLabel: metrics_path186scheme: https187tlsConfig:188insecureSkipVerify: true189jobLabel: app.kubernetes.io/name190namespaceSelector:191matchNames:192- default193selector:194matchLabels:195app.kubernetes.io/name: kubelet196197#198# Pretend credentials199#200201---202apiVersion: v1203kind: Secret204metadata:205name: prometheus-fake-credentials206namespace: default207data:208# "user"209fakeUsername: "dXNlcg=="210# "password"211fakePassword: "cGFzc3dvcmQ="212213#214# Extra resources215#216217---218apiVersion: v1219kind: ServiceAccount220metadata:221name: grafana-agent222namespace: default223---224apiVersion: rbac.authorization.k8s.io/v1225kind: ClusterRole226metadata:227name: grafana-agent228rules:229- apiGroups:230- ""231resources:232- nodes233- nodes/proxy234- nodes/metrics235- services236- endpoints237- pods238verbs:239- get240- list241- watch242- nonResourceURLs:243- /metrics244- /metrics/cadvisor245verbs:246- get247---248apiVersion: rbac.authorization.k8s.io/v1249kind: ClusterRoleBinding250metadata:251name: grafana-agent252roleRef:253apiGroup: rbac.authorization.k8s.io254kind: ClusterRole255name: grafana-agent256subjects:257- kind: ServiceAccount258name: grafana-agent259namespace: default260261262