@@ -16,6 +16,8 @@ global:
16
16
17
17
lokiHost : loki-loki-distributed-gateway
18
18
lokiPort : 80
19
+ lokiuserHost : loki-user-loki-distributed-gateway
20
+ lokiuserPort : 80
19
21
s3Service : " minio.lma.svc:9000" # depends on $lmaNameSpace (ex. minio.taco-system.svc)
20
22
21
23
lmaNameSpace : lma
@@ -148,19 +150,23 @@ charts:
148
150
- name : taco-loki
149
151
host : $(lokiHost)
150
152
port : $(lokiPort)
153
+ lokiuser :
154
+ - name : taco-loki-user
155
+ host : $(lokiuserHost)
156
+ port : $(lokiuserPort)
151
157
targetLogs :
152
158
- tag : kube.*
153
159
bufferChunkSize : 2M
154
160
bufferMaxSize : 5M
155
161
do_not_store_as_default : false
156
162
index : container
157
- loki_name : taco-loki
163
+ loki_name : taco-loki-user
158
164
memBufLimit : 20MB
159
165
multi_index :
160
166
- index : platform
161
167
loki_name : taco-loki
162
168
key : $kubernetes['namespace_name']
163
- value : kube-system|$(lmaNameSpace)|taco-system|argo
169
+ value : kube-system|$(lmaNameSpace)|taco-system|gatekeeper-system| argo
164
170
parser : docker
165
171
path : /var/log/containers/*.log
166
172
type : kubernates
@@ -244,7 +250,6 @@ charts:
244
250
consoleIngress.nodeSelector : $(nodeSelector)
245
251
postJob.nodeSelector : $(nodeSelector)
246
252
247
-
248
253
- name : thanos
249
254
override :
250
255
global.storageClass : $(storageClassName)
@@ -274,6 +279,8 @@ charts:
274
279
# - --deduplication.replica-label="replica"
275
280
storegateway.persistence.size : 8Gi
276
281
ruler.nodeSelector : $(nodeSelector)
282
+ ruler.service.type : LoadBalancer
283
+ ruler.service.annotations : $(awsNlbAnnotation)
277
284
ruler.alertmanagers :
278
285
- http://alertmanager-operated:9093
279
286
ruler.persistence.size : 8Gi
@@ -283,61 +290,7 @@ charts:
283
290
rules :
284
291
- alert : " PrometheusDown"
285
292
expr : absent(up{prometheus="lma/lma-prometheus"})
286
- - alert : node-cpu-high-load
287
- annotations :
288
- message : 클러스터({{ $labels.taco_cluster }})의 노드({{ $labels.instance }})의 idle process의 cpu 점유율이 3분 동안 0% 입니다. (현재 사용률 {{$value}})
289
- description : 워커 노드 CPU가 과부하 상태입니다. 일시적인 서비스 Traffic 증가, Workload의 SW 오류, Server HW Fan Fail등 다양한 원인으로 인해 발생할 수 있습니다.
290
- Checkpoint : 일시적인 Service Traffic의 증가가 관측되지 않았다면, Alert발생 노드에서 실행 되는 pod중 CPU 자원을 많이 점유하는 pod의 설정을 점검해 보시길 제안드립니다. 예를 들어 pod spec의 limit 설정으로 과도한 CPU자원 점유을 막을 수 있습니다.
291
- summary : Cpu resources of the node {{ $labels.instance }} are running low.
292
- discriminative : $labels.taco_cluster, $labels.instance
293
- expr : (avg by (taco_cluster, instance) (rate(node_cpu_seconds_total{mode="idle"}[60s]))) < 0 # 0.1 # 진짜 0?
294
- for : 3m
295
- labels :
296
- severity : warning
297
- - alert : node-memory-high-utilization
298
- annotations :
299
- message : 클러스터({{ $labels.taco_cluster }})의 노드({{ $labels.instance }})의 Memory 사용량이 3분동안 80% 를 넘어서고 있습니다. (현재 사용률 {{$value}})
300
- descriptioon : 워커 노드의 Memory 사용량이 80%를 넘었습니다. 일시적인 서비스 증가 및 SW 오류등 다양한 원인으로 발생할 수 있습니다.
301
- Checkpoint : 일시적인 Service Traffic의 증가가 관측되지 않았다면, Alert발생 노드에서 실행되는 pod중 Memory 사용량이 높은 pod들에 대한 점검을 제안드립니다.
302
- summary : Memory resources of the node {{ $labels.instance }} are running low.
303
- discriminative : $labels.taco_cluster, $labels.instance
304
- expr : (node_memory_MemAvailable_bytes/node_memory_MemTotal_bytes) < 0.2
305
- for : 3m
306
- labels :
307
- severity : warning
308
- - alert : node-disk-full
309
- annotations :
310
- message : 지난 6시간동안의 추세로 봤을 때, 클러스터({{ $labels.taco_cluster }})의 노드({{ $labels.instance }})의 root 볼륨은 24시간 안에 Disk full이 예상됨
311
- description : 현재 Disk 사용 추세기준 24시간 내에 Disk 용량이 꽉 찰 것으로 예상됩니다.
312
- Checkpoint : Disk 용량 최적화(삭제 및 Backup)을 수행하시길 권고합니다. 삭제할 내역이 없으면 증설 계획을 수립해 주십시요.
313
- summary : Memory resources of the node {{ $labels.instance }} are running low.
314
- discriminative : $labels.taco_cluster, $labels.instance
315
- expr : predict_linear(node_filesystem_free_bytes{mountpoint="/"}[6h], 24*3600) < 0
316
- for : 30m
317
- labels :
318
- severity : critical
319
- - alert : pvc-full
320
- annotations :
321
- message : 지난 6시간동안의 추세로 봤을 때, 클러스터({{ $labels.taco_cluster }})의 파드({{ $labels.persistentvolumeclaim }})가 24시간 안에 Disk full이 예상됨
322
- description : 현재 Disk 사용 추세기준 24시간 내에 Disk 용량이 꽉 찰것으로 예상됩니다. ({{ $labels.taco_cluster }} 클러스터, {{ $labels.persistentvolumeclaim }} PVC)
323
- Checkpoint : Disk 용량 최적화(삭제 및 Backup)을 수행하시길 권고합니다. 삭제할 내역이 없으면 증설 계획을 수립해 주십시요.
324
- summary : Disk resources of the volume(pvc) {{ $labels.persistentvolumeclaim }} are running low.
325
- discriminative : $labels.taco_cluster, $labels.persistentvolumeclaim
326
- expr : predict_linear(kubelet_volume_stats_available_bytes[6h], 24*3600) < 0 # kubelet_volume_stats_capacity_bytes
327
- for : 30m
328
- labels :
329
- severity : critical
330
- - alert : pod-restart-frequently
331
- annotations :
332
- message : 클러스터({{ $labels.taco_cluster }})의 파드({{ $labels.pod }})가 30분 동안 5회 이상 재기동 ({{ $value }}회)
333
- description : 특정 Pod가 빈번하게 재기동 되고 있습니다. 점검이 필요합니다. ({{ $labels.taco_cluster }} 클러스터, {{ $labels.pod }} 파드)
334
- Checkpoint : pod spec. 에 대한 점검이 필요합니다. pod의 log 및 status를 확인해 주세요.
335
- discriminative : $labels.taco_cluster, $labels.pod, $labels.namespace
336
- expr : increase(kube_pod_container_status_restarts_total{namespace!="kube-system"}[60m:]) > 2 # 몇회로 할 것인지?
337
- for : 30m
338
- labels :
339
- severity : critical
340
-
293
+
341
294
- name : thanos-config
342
295
override :
343
296
objectStorage :
@@ -393,10 +346,42 @@ charts:
393
346
aws :
394
347
s3 : http://$(defaultUser):$(defaultPassword)@$(s3Service)/minio
395
348
349
+ - name : loki-user
350
+ override :
351
+ global.dnsService : kube-dns
352
+ # global.clusterDomain: $(clusterName) # annotate cluste because the cluster name is still cluster.local regardless cluster
353
+ gateway.service.type : LoadBalancer
354
+ gateway.service.annotations : $(awsNlbAnnotation)
355
+ ingester.persistence.storageClass : $(storageClassName)
356
+ distributor.persistence.storageClass : $(storageClassName)
357
+ queryFrontend.persistence.storageClass : $(storageClassName)
358
+ ruler.persistence.storageClass : $(storageClassName)
359
+ indexGateway.persistence.storageClass : $(storageClassName)
360
+ # select target node's label
361
+ ingester.nodeSelector : $(nodeSelector)
362
+ distributor.nodeSelector : $(nodeSelector)
363
+ querier.nodeSelector : $(nodeSelector)
364
+ queryFrontend.nodeSelector : $(nodeSelector)
365
+ queryScheduler.nodeSelector : $(nodeSelector)
366
+ tableManager.nodeSelector : $(nodeSelector)
367
+ gateway.nodeSelector : $(nodeSelector)
368
+ compactor.nodeSelector : $(nodeSelector)
369
+ ruler.nodeSelector : $(nodeSelector)
370
+ indexGateway.nodeSelector : $(nodeSelector)
371
+ memcachedChunks.nodeSelector : $(nodeSelector)
372
+ memcachedFrontend.nodeSelector : $(nodeSelector)
373
+ memcachedIndexQueries.nodeSelector : $(nodeSelector)
374
+ memcachedIndexWrites.nodeSelector : $(nodeSelector)
375
+ loki :
376
+ storageConfig :
377
+ aws :
378
+ s3 : http://$(defaultUser):$(defaultPassword)@$(s3Service)/minio
379
+
396
380
- name : lma-bucket
397
381
override :
398
382
s3.enabled : true
399
383
s3.buckets :
400
384
- name : $(clusterName)-tks-thanos
401
385
- name : $(clusterName)-tks-loki
386
+ - name : $(clusterName)-tks-loki-user
402
387
tks.iamRoles : $(tksIamRoles)
0 commit comments