前文已经介绍了thanos的架构,下面就介绍一下thanos的部署。
安装方式
官方文档:https://thanos.io/tip/thanos/getting-started.md/
可以通过prometheus-operator,kube-thanos,helm三种方式来安装thanos。
我采用了helm来安装。https://artifacthub.io/packages/search?ts_query_web=thanos
我用的是bitnami的thanos chart。https://artifacthub.io/packages/helm/bitnami/thanos
helm部署的thanos是没有包括prometheus的,需要单独安装。
安装thanos
- 添加repo
helm repo add bitnami https://charts.bitnami.com/bitnami
- 下载chart并解压
helm pull bitnami/thanos tar xvf tar xvf thanos-10.3.3.tgz cd thanos
- 修改values.yaml
global: storageClass: "nfs-client" query: enabled: true dnsDiscovery: enabled: true sidecarsService: "kube-prometheus-prometheus-thanos" sidecarsNamespace: "thanos" ingress: enabled: true hostname: thanos.xxx ingressClassName: "nginx" bucketweb; enabled: true ingress: ... compactor: enabled: true persistence: enabled: true storegateway: enabled: true persistence: enabled: true ruler: enabled: true alertmanagers: - http://kube-prometheus-alertmanager.thanos.svc.cluster.local:9093 # 你的alertmanager FQDN地址+端口 config: |- groups: - name: "metamonitoring" rules: - alert: "PrometheusDown" expr: absent(up{prometheus="thanos/kube-prometheus-prometheus"}) persistence: enabled: true receive: enabled: false # 我采用的sidecar模式 metrics: enabled: true serviceMonitor: enabled: true namespace: "thanos" # 你的prometheus部所在的的ns
- 创建ns
k create ns thanos
- 安装thanos
helm install thanos . -n thanos
- 配置oss,我是阿里云的oss,修改values.yaml
objstoreConfig: |- type: ALIYUNOSS config: endpoint: "" bucket: "" access_key_id: "" access_key_secret: ""
再次安装
helm upgrade thanos . -n thanos
- 查看pod
安装prometheus
https://github.com/bitnami/charts/tree/master/bitnami/kube-prometheus
如果没有部署prometheus,可以参考下面的步骤。如果已经部署了就可以跳过。
- 下载chart并解压
helm search repo kube-prometheus helm pull bitnami/kube-prometheus tar xvf kube-prometheus-6.9.3.tgz cd kube-prometheus
- 修改values.yaml
global: storageClass: "nfs-client" prometheus: enabled: true ingress: enabled: true hostname: prometheus.xxx ingressClassName: "nginx" alertmanager: enabled: true exporters: node-exporter: enabled: true kube-state-metrics: enabled: true node-exporter: enabled: true kube-state-metrics: enabled: true blackboxExporter: enabled: true
- 安装prometheus
helm install kube-prometheus . -n thanos
- 查看pod
注:grafana我也是单独部署的,我用的是bitnami/grafana。
web查看
thanos-query
和prometheus页面非常相似,只是多了几个选项。
查询指标
查看stores即rule(不是rules)
查看rules
查看target
查看alert
thanos-bucketweb
页面上可以很方便的下载meta.json,设置压缩等。
文件格式可以参考:https://thanos.io/tip/thanos/storage.md/
查看oss上的bucket
查看thanos-storegateway的日志
grafana设置数据源
既然部署了thanos,grafana就不用使用prometheus为数据源了,可以设置thanos-query为数据源。
你这个k8s啥版本的
1.22