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

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

文章目录

  • 容器监控-Prometheus:5. 监控落地 - 指标完善、Grafana看板和邮件报警(中)
    • 访问prometheus
    • 把Controller-manager和etcd scheduler让prometheus发现
        • Controller-manager
        • etcd
      • scheduler
    • 修改kubelet 端口
    • 升级prometheus配置

续 监控落地 - 指标完善、Grafana看板和邮件报警(上)

访问prometheus

  1. 我们先查看一下prometheus的service

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

image-20200205143954986

service端口为9090,端口的名字叫web

  1. 定义ingress 访问

serviceName: 对应prometheus的service

ingress-prometheus.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: prometheus
  namespace: monitoring
spec:
  rules:
  - host: prometheus.mooc.com
    http:
      paths:
      - backend:
          serviceName: imooc-prom-prometheus-oper-prometheus 
          servicePort: web
        path: /

创建一下

➜  ~ kubectl apply -f ingress-prometheus.yaml
  1. 配置host

    192.168.181.102 prometheus.mooc.com
    
  2. 访问

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

选择指标查看

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

执行查看

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

点击graph 可用看到数据的变化

Targets 展现prometheus所有pull的Endpoint

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

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

Controller-manager和etcd scheduler没有发现,因为我们是通过二进制部署的不能通过kubernetes api找到。后期会把他们加上去。

把Controller-manager和etcd scheduler让prometheus发现

我来到prometheus-operator 文件内,vi values.yaml,所有组件发现配置都在这个values.yaml里面

➜  ~ cd prometheus-operator/
➜  ~ vi values.yaml

Controller-manager

找到 Controller-manager,红框的解释:当我们部署的Controller-manager不是以pod运行的时候,可以指定IP列表

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

修改成Controller-manager部署的IP

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

然后注释掉seletor,

当我们没配置endpoints IP列表的时候它根据label 自动匹配具体的endpoints,手动指定就不需要自动匹配了。

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

然后把https改成true,因为我们的Controller-manager通过https运行的。

image-20200205151444946

不确定可以看下Controller-manager.service

image-20200205151544194

etcd

同样endpoints手动指定etcd 运行IP,注释掉seletor

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

Scheme改成https

改https之后需要指定一个证书

  1. 创建一个可以访问etcd 的secert

    用之前的证书去生成secert

➜  ~ kubectl create secert generic etcd-certs -n monitoring --from-file=/etc/kubernetes/pki/ca.pem  --from-file=/etc/kubernetes/pki/etcd-key.pem --from-file=/etc/kubernetes/pki/etcd.pem

查看一下

➜  ~ kubectl get  secert  -n monitoring etcd-certs  -o yaml
  1. 回到value.yaml,配置上证书

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

  1. 给你prometheus配置secert

    注意secert必须跟prometheus在统一命令空间下

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

scheduler

同样

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

看一下是否https 方式

image-20200205153904225

并没有说是https,顺便改一下监听IP,改成对外IP

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

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

确认一下是否http

没问题

修改kubelet 端口

修改成只读端口10255

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

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

来到values.yaml,把 https改成false ,不需要修改端口,自动根据https 方式修改端口

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

来提一句如果你不想对某个组件做监控enabled改成false就可以。

升级prometheus配置

全部都修改完了我们必须要通过helm升级一下

➜  ~ helm upgrede imooc-prom ./prometheus-operator/ -f ./prometheus-operator/values.yaml

如果遇到以下错误,就直接把他们全部删除,同样删除crd 然后重新安装一遍

image-20200205155207579

➜  ~ helm delete imooc-prom --purge
➜  ~ kubectl delete crd $(kubectl get crd|grep coreos|awk'{pring $1}')
➜  ~ helm install ./prometheus-operator/ --name imooc-prom --namespace monitoring

在查看一下 其他的都可以了发现这个Controller-manager.service有问题

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

去修改一下绑定地址为主机IP就可以,当然你可以为了安全放弃这个监控

image-20200205160325240

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

image-20200205160257707

可以了

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

你可能感兴趣的:(容器监控Prometheus)