zoukankan      html  css  js  c++  java
  • kubernetes集群系列资料17--prometheus介绍

    一、prometheus介绍

    组件:
      1)metricServer:是kubenetes集群资源使用情况的聚合器,收集数据给K8S集群内使用,如:kubectl,hpa,scheduler等。
      2)prometheusOperator:一个系统监测和警报工具箱,用来存储监控数据。
      3)nodeExporter:用于各node的关键度量指标状态数据。
      4)kubeStateMetrics:收集K8S集群内资源对象数据,指定告警规则。
      5)prometheus:采用pull方式收集API server,scheduler,controller-manager,kubelet组件数据,通过http协议传输。
      6)grafana:可视化数据统计和监控平台;

    二、prometheus部署

    ##master及各node导入prometheus镜像
    ~~~上传prometheus包至master及各node;
    cd prometheus-operator/
    tar -xzvf prometheus.tar.gz
    cat load-images.sh  #查看脚本中规定prometheus目录的位置为/root;
    mv prometheus /root #移动prometheus目录的位置
    ll /root/prometheus
    /bin/sh load-images.sh #导入prometheus镜像;
    docker images
    # git clone https://github.com/coreos/kube-prometheus.git #获取安装yaml文件;
    ~~~上传kube-prometheus.git至master;
    tar -xzvf kube-prometheus.git.tar.gz
    ll kube-prometheus
    cd kube-prometheus/manifests
    
    ##修改nodeport类型的grafana服务
    cat >grafana-service.yaml<<eof
    apiVersion: v1
    kind: Service
    metadata:
        name: grafana
        namespace: monitoring
    spec:
        type: NodePort
        ports:
        - name: http
          port: 3000
          targetPort: http
          nodePort: 30100
        selector:
            app: grafana
    eof
    ##创建nodeport类型的prometheus服务
    cat >prometheus-service.yaml<<eof
    apiVersion: v1
    kind: Service
    metadata:
        name: prometheus-k8s
        namespace: monitoring
        labels:
            prometheus: k8s
    spec:
        type: NodePort
        ports:
        - name: web
          port: 9090
          targetPort: web
          nodePort: 30200
        selector:
            app: prometheus
            prometheus: k8s
    eof
    ##创建nodeport类型的alertmanager服务
    cat >alertmanager-service.yaml<<eof
    apiVersion: v1
    kind: Service
    metadata:
        name: altermanager-main
        namespace: monitoring
        labels:
            altermanager: main
    spec:
        type: NodePort
        ports:
        - name: web
          port: 9093
          targetPort: web
          nodePort: 30300
        selector:
            app: altermanager
            altermanager: main
    eof
    
    kubectl apply -f ./
    kubectl get pod -n monitoring       #查看安装的pod;
    kubectl get svc --all-namespaces    #查看所有svc;
    

    测试:

    1)客户端访问http://192.168.66.10:30200/,进行数据采集;在expression框中填入sum by (pod_name)(rate(container_cpu_usage_seconds_total{image!="",pod_name!=""}[1m])),可得出cpu请求数的统计结果(可以图片形式显示);

    2)访问http://192.168.66.10:30200/targets;如果targets下所有项目皆为up,表示已成功连接上K8S的API server,即prometheus部署成功。

     3)访问grafana服务地址http://192.168.66.10:30100,默认账户/密码:admin/admin;添加数据来源为Prometheus(默认已添加),并导入模板;

     4)访问http://192.168.66.10:30100/dashboards--->manage,选中监控对象进行展示。

     

     5)访问http://192.168.66.10:30200/metrics,查看Prometheus自己的指标。

      

      

  • 相关阅读:
    伪静态
    query 文件提交 +php后台入库
    PHP实现URL长连接转短连接方法
    通过经纬度获取所属城市信息
    PHP 学习之路1
    Linux云服务器安装tomcat
    linux下svn服务器搭建步骤
    HttpServletrequest 与HttpServletResponse总结
    HTML5基础
    Ajax相关总结
  • 原文地址:https://www.cnblogs.com/chalon/p/14943764.html
Copyright © 2011-2022 走看看