Whizard 参数配置

注: 自 Whizard v0.10 起,Whizard 主要参数配置在 CRD services.monitoring.whizard.io 中。

Whizard 配置参数存储于 CRD 中,其中有组件自身的 CRD,如 queries.monitoring.whizard.ioingesters.monitoring.whizard.io, 也有定义整个 Whizard 各服务部署的 CRD services.monitoring.whizard.io, 由于 Whizard 部分组件根据租户数量进行自动伸缩, 在组件 CRD 中配置无法适应自定伸缩场景,所以在 services.monitoring.whizard.io CRD 中定义了各组件的配置模板 xxxxTemplateSpec,可以在该 CRD 中定义各组件的配置参数,但组件 CRD 配置优先级高于 xxxxTemplateSpec

  1. spec:
  2. compactorTemplateSpec:
  3. dataVolume:
  4. persistentVolumeClaim:
  5. spec:
  6. resources:
  7. requests:
  8. storage: 20Gi
  9. # 在配置对象存储情况下每个 Compactor 实例允许处理 Tenant 数量,即 Compactor 承载租户数据的能力,默认值为10
  10. defaultTenantsPerCompactor: 10
  11. flags:
  12. - --block-files-concurrency=20
  13. - --compact.blocks-fetch-concurrency=5
  14. - --web.disable
  15. - --compact.enable-vertical-compaction
  16. image: docker.io/thanosio/thanos:v0.36.0
  17. retention:
  18. retention1h: 360d
  19. retention5m: 180d
  20. retentionRaw: 60d
  21. securityContext:
  22. fsGroup: 0
  23. defaultTenantId: unknown
  24. gatewayTemplateSpec:
  25. image: docker.io/kubesphere/whizard-monitoring-gateway:v0.10.0
  26. ingesterTemplateSpec:
  27. dataVolume:
  28. persistentVolumeClaim:
  29. spec:
  30. resources:
  31. requests:
  32. storage: 20Gi
  33. # 空租户时 Ingester 回收周期; Ingester 会由于租户删除或迁移,导致 Ingester 上没有租户,此时需要回收;
  34. # 在使用对象存储时默认为3h, 在无对象存储情况下,此参数会和该 Ingester 的 localTsdbRetention 保持一致。
  35. defaultIngesterRetentionPeriod: 3h
  36. # 每个 Ingester 实例允许处理 Tenant 数量,即 Ingester 承载租户数据的能力,默认值为3
  37. defaultTenantsPerIngester: 3
  38. disableTsdbCleanup: true
  39. flags:
  40. - --tsdb.out-of-order.time-window=10m
  41. image: docker.io/thanosio/thanos:v0.36.0
  42. securityContext:
  43. fsGroup: 0
  44. queryFrontendTemplateSpec:
  45. flags:
  46. - --no-query-range.align-range-with-step
  47. image: docker.io/thanosio/thanos:v0.36.0
  48. queryTemplateSpec:
  49. envoy:
  50. image: docker.io/envoyproxy/envoy:v1.20.2
  51. flags:
  52. - --query.max-concurrent=200
  53. image: docker.io/thanosio/thanos:v0.36.0
  54. replicaLabelNames:
  55. - prometheus_replica
  56. - receive_replica
  57. - ruler_replica
  58. routerTemplateSpec:
  59. image: docker.io/thanosio/thanos:v0.36.0
  60. rulerTemplateSpec:
  61. dataVolume:
  62. emptyDir: {}
  63. disableAlertingRulesAutoSelection: true
  64. evaluationInterval: 1m
  65. image: docker.io/thanosio/thanos:v0.36.0
  66. prometheusConfigReloader:
  67. image: quay.io/prometheus-operator/prometheus-config-reloader:v0.75.1
  68. ruleSelectors:
  69. - matchLabels:
  70. role: alert-rules
  71. rulerQueryProxy:
  72. image: docker.io/kubesphere/whizard-monitoring-gateway:v0.10.0
  73. rulerWriteProxy:
  74. image: docker.io/kubesphere/cortex-tenant:v1.12.5
  75. securityContext:
  76. fsGroup: 0
  77. shards: 1
  78. storeTemplateSpec:
  79. dataVolume:
  80. persistentVolumeClaim:
  81. spec:
  82. resources:
  83. requests:
  84. storage: 20Gi
  85. flags:
  86. - --web.disable
  87. - --no-cache-index-header
  88. image: docker.io/thanosio/thanos:v0.36.0
  89. securityContext:
  90. fsGroup: 0
  91. timeRanges:
  92. - maxTime: -36h
  93. tenantHeader: cluster
  94. tenantLabelName: cluster