容器监控-Prometheus:4. 监控落地 - 指标完善、Grafana看板和邮件报警(上)

容器监控-Prometheus:4. 监控落地 - 指标完善、Grafana看板和邮件报警(上)

文章目录

  • 容器监控-Prometheus:4. 监控落地 - 指标完善、Grafana看板和邮件报警(上)
    • 安装prometheus-operator
      • 1.下载Helm Charts
      • 2. 拷贝prometheus-operator
      • 3. 安装prometheus-operator
          • 镜像下载不了
    • 查看prometheus-operator具体部署了什么

安装prometheus-operator

1.下载Helm Charts

终于开始可以部署Prometheus了。

其实可以执行一条非常简单的命令:

helm install --name zhang-prom stable/prometheus-operator

就可以一键的把Prometheus的监控体系部署起来了。但是 网络问题无法访问到google 仓库,阿里仓库也不更新。本地做一些个性化配置需要修改经常调整变化配置。

采用本地安装方式

gitbhub地址:https://github.com/helm/charts.git

Clone 到本地,内容比较多耐心等待。

➜  ~ git clone https://github.com/helm/charts.git

2. 拷贝prometheus-operator

进入charts文件夹把里面的prometheus-operator拷贝到本地,这就是我们要用到东西。

➜  ~ cp -r charts/stable/prometheus-operator/ .
➜  ~ ll prometheus-operator/
总用量 148
-rw-r--r--. 1 root root   703 2月   4 16:39 Chart.yaml
drwxr-xr-x. 2 root root    83 2月   4 16:39 ci
-rw-r--r--. 1 root root   658 2月   4 16:39 CONTRIBUTING.md
drwxr-xr-x. 2 root root   152 2月   4 16:39 crds
drwxr-xr-x. 3 root root   129 2月   4 16:39 hack
-rw-r--r--. 1 root root    96 2月   4 16:39 OWNERS
-rw-r--r--. 1 root root 69091 2月   4 16:39 README.md
-rw-r--r--. 1 root root   454 2月   4 16:39 requirements.lock
-rw-r--r--. 1 root root   461 2月   4 16:39 requirements.yaml
drwxr-xr-x. 7 root root   140 2月   4 16:39 templates
-rw-r--r--. 1 root root 58712 2月   4 16:39 values.yaml

拷贝依赖

如果不拷贝依赖会报错:
Error: found in requirements.yaml, but missing in charts/ directory: kube-state-metrics, prometheus-node-exporter, grafana

# 新建 charts文件夹 拷贝: kube-state-metrics, prometheus-node-exporter, grafana组件
➜  ~ mkdir prometheus-operator/charts
➜  ~ cp -r charts/stable/kube-state-metrics/ prometheus-operator/charts/
➜  ~ cp -r charts/stable/prometheus-node-exporter/ prometheus-operator/charts/
➜  ~ cp -r charts/stable/grafana/ prometheus-operator/charts/

3. 安装prometheus-operator

helm install 「prometheus-operator目录」 --name 「名字」 --namespace 「命令空间」

#  安装prometheus-operator 	也可以不用指定命名空间
➜  ~ helm install ./prometheus-operator/ --name imooc-prom --namespace monitoring
# prometheus-operator
azk8spull quay.io/prometheus/alertmanager:v0.20.0
azk8spull squareup/ghostunnel:v1.5.2
azk8spull quay.io/coreos/prometheus-operator:v0.35.0
azk8spull quay.io/coreos/configmap-reload:v0.0.1
azk8spull k8s.gcr.io/hyperkube:v1.12.1
azk8spull quay.io/prometheus/prometheus:v2.15.2
# grfana
azk8spull grafana/grafana:6.6.0
azk8spull busybox:1.30
azk8spull kiwigrid/k8s-sidecar:0.1.75
# kube-state-metrics
azk8spull quay.io/coreos/kube-state-metrics:v1.9.4
# prometheus-node-exporter
azk8spull quay.io/prometheus/node-exporter:v0.18.1

查看一下crd 有哪些自定的资源类型

alertmanagers是对应prometheuses的组件,prometheuses是prometheuses server,prometheusesrules是报警规则,servicemontuors是Exporters

➜  ~ kubectl get crd|grep coreos

有了crd 就会确定自定义的配置文件是否是合法的,查看一下alertmanagers的自定的配置

➜  ~  kubectl get alertmanager -n monitoring

image-20200205135829679

跟我们常见的配置一样

➜  ~ kubectl get alertmanagers   -n monitoring imooc-prom-prometheus-oper-alertmanager -o yaml

容器监控-Prometheus:4. 监控落地 - 指标完善、Grafana看板和邮件报警(上)_第1张图片

镜像下载不了

如果碰到镜像下载不了,我们来到/prometheus-operator目录 搜索一下image

➜  ~ find .|grep values.yaml|xargs grep "image"

修改镜像地址

➜  ~ vi ./charts/grafana/values.yaml

然后通过helm 升级

helm upgreade imooc-prom ./prometheus-operator/ -f .prometheus-operator/charts/grafana/values.yaml

遇到类似问题用上面方法就可以。

最终镜像全部下载完成

查看prometheus-operator具体部署了什么

➜  ~ kubectl get deploy -n monitoring

都是以我们定义的imooc-prom名字命名的

3 个ds 是负责节点指标的,每台机器运行了一个,三台机器运行了三个。

➜  ~ kubectl get ds -n monitoring

image-20200205141524063

一个是prometheus本身一个是alertmanager

➜  ~ kubectl get statefulset -n monitoring

image-20200205141759838

看下service

➜  ~ kubectl get svc -n monitoring

创建这些所以的东西还包括角色权限的一些定义都是prometheus-operator目录都东西来描述的,就像一个插件一样,把这些东西创建出来插在了prometheus上面。

可用通过helm delete imooc=prom 把所有安装的东西和创建的东西全部删除,当然还有手动删除一下crd

这么删除是放在了回收站,--purge是强制清空回收站

➜  ~  helm delete imooc=prom --purge

你可能感兴趣的:(容器监控Prometheus,kubernetes,docker,监控类)