Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aos
GitHub Repository: aos/grafana-agent
Path: blob/main/cmd/grafana-agent-operator/agent-example-config.yaml
4094 views
1
apiVersion: monitoring.grafana.com/v1alpha1
2
kind: GrafanaAgent
3
metadata:
4
name: grafana-agent-example
5
namespace: default
6
labels:
7
app: grafana-agent-example
8
spec:
9
image: grafana/agent:latest
10
logLevel: info
11
serviceAccountName: grafana-agent
12
storage:
13
volumeClaimTemplate:
14
spec:
15
resources:
16
requests:
17
storage: 1Gi
18
logs:
19
instanceSelector:
20
matchLabels:
21
agent: grafana-agent-example
22
metrics:
23
instanceSelector:
24
matchLabels:
25
agent: grafana-agent-example
26
27
---
28
29
apiVersion: monitoring.grafana.com/v1alpha1
30
kind: MetricsInstance
31
metadata:
32
name: primary
33
namespace: default
34
labels:
35
agent: grafana-agent-example
36
spec:
37
remoteWrite:
38
- url: http://prometheus:9090/api/v1/write
39
basicAuth:
40
username:
41
name: prometheus-fake-credentials
42
key: fakeUsername
43
password:
44
name: prometheus-fake-credentials
45
key: fakePassword
46
# Supply an empty namespace selector to look in all namespaces.
47
serviceMonitorNamespaceSelector: {}
48
serviceMonitorSelector:
49
matchLabels:
50
instance: primary
51
52
---
53
54
apiVersion: monitoring.grafana.com/v1alpha1
55
kind: LogsInstance
56
metadata:
57
name: primary
58
namespace: default
59
labels:
60
agent: grafana-agent-example
61
spec:
62
clients:
63
- url: http://loki:8080/loki/api/v1/push
64
65
# Supply an empty namespace selector to look in all namespaces.
66
podLogsNamespaceSelector: {}
67
podLogsSelector:
68
matchLabels:
69
instance: primary
70
71
---
72
73
# Have the Agent monitor itself.
74
apiVersion: monitoring.coreos.com/v1
75
kind: PodMonitor
76
metadata:
77
name: grafana-agents
78
namespace: default
79
labels:
80
instance: primary
81
spec:
82
selector:
83
matchLabels:
84
app.kubernetes.io/name: grafana-agent
85
podMetricsEndpoints:
86
- port: http-metrics
87
88
---
89
90
# Have the Agent get logs from itself.
91
apiVersion: monitoring.grafana.com/v1alpha1
92
kind: PodLogs
93
metadata:
94
name: grafana-agents
95
namespace: default
96
labels:
97
instance: primary
98
spec:
99
selector:
100
matchLabels:
101
app.kubernetes.io/name: grafana-agent
102
pipelineStages:
103
- cri: {}
104
105
---
106
107
# With -kubelet-service=default/kubelet provided as a flag to the Grafana Agent
108
# Operator, it will maintain a Service called "kubelet" in the default namespace
109
# with one endpoint per Node. This allows using the ServiceMonitor below to
110
# monitor Kubernetes itself.
111
112
apiVersion: monitoring.coreos.com/v1
113
kind: ServiceMonitor
114
metadata:
115
labels:
116
app.kubernetes.io/name: kubelet
117
instance: primary
118
name: kubelet
119
namespace: default
120
spec:
121
endpoints:
122
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
123
honorLabels: true
124
interval: 30s
125
metricRelabelings:
126
- action: drop
127
regex: 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)
128
sourceLabels:
129
- __name__
130
- action: drop
131
regex: 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)
132
sourceLabels:
133
- __name__
134
- action: drop
135
regex: 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)
136
sourceLabels:
137
- __name__
138
- action: drop
139
regex: kubelet_docker_(operations|operations_latency_microseconds|operations_errors|operations_timeout)
140
sourceLabels:
141
- __name__
142
- action: drop
143
regex: reflector_(items_per_list|items_per_watch|list_duration_seconds|lists_total|short_watches_total|watch_duration_seconds|watches_total)
144
sourceLabels:
145
- __name__
146
- action: drop
147
regex: 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)
148
sourceLabels:
149
- __name__
150
- action: drop
151
regex: transformation_(transformation_latencies_microseconds|failures_total)
152
sourceLabels:
153
- __name__
154
- action: drop
155
regex: (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)
156
sourceLabels:
157
- __name__
158
port: https-metrics
159
relabelings:
160
- sourceLabels:
161
- __metrics_path__
162
targetLabel: metrics_path
163
scheme: https
164
tlsConfig:
165
insecureSkipVerify: true
166
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
167
honorLabels: true
168
honorTimestamps: false
169
interval: 30s
170
metricRelabelings:
171
- action: drop
172
regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)
173
sourceLabels:
174
- __name__
175
- action: drop
176
regex: (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);;
177
sourceLabels:
178
- __name__
179
- pod
180
- namespace
181
path: /metrics/cadvisor
182
port: https-metrics
183
relabelings:
184
- sourceLabels:
185
- __metrics_path__
186
targetLabel: metrics_path
187
scheme: https
188
tlsConfig:
189
insecureSkipVerify: true
190
jobLabel: app.kubernetes.io/name
191
namespaceSelector:
192
matchNames:
193
- default
194
selector:
195
matchLabels:
196
app.kubernetes.io/name: kubelet
197
198
#
199
# Pretend credentials
200
#
201
202
---
203
apiVersion: v1
204
kind: Secret
205
metadata:
206
name: prometheus-fake-credentials
207
namespace: default
208
data:
209
# "user"
210
fakeUsername: "dXNlcg=="
211
# "password"
212
fakePassword: "cGFzc3dvcmQ="
213
214
#
215
# Extra resources
216
#
217
218
---
219
apiVersion: v1
220
kind: ServiceAccount
221
metadata:
222
name: grafana-agent
223
namespace: default
224
---
225
apiVersion: rbac.authorization.k8s.io/v1
226
kind: ClusterRole
227
metadata:
228
name: grafana-agent
229
rules:
230
- apiGroups:
231
- ""
232
resources:
233
- nodes
234
- nodes/proxy
235
- nodes/metrics
236
- services
237
- endpoints
238
- pods
239
verbs:
240
- get
241
- list
242
- watch
243
- nonResourceURLs:
244
- /metrics
245
- /metrics/cadvisor
246
verbs:
247
- get
248
---
249
apiVersion: rbac.authorization.k8s.io/v1
250
kind: ClusterRoleBinding
251
metadata:
252
name: grafana-agent
253
roleRef:
254
apiGroup: rbac.authorization.k8s.io
255
kind: ClusterRole
256
name: grafana-agent
257
subjects:
258
- kind: ServiceAccount
259
name: grafana-agent
260
namespace: default
261
262