1.  
  2. 资源指标:metrucs-server
  3. 自定义指标:prometheus k8s-prometheus-adapter(转换prometheus数据的格式)
  4. 新一代架构:
  5. 核心指标流水线:由kubeletmetrics-server以及由API server提供的api组成;CPU累积使用率、内存实时使用率、
  6. Pod的资源占用率及容器的磁盘占用率;
  7. 监控流水线:用于从系统收集各种指标数据并提供终端用户、存储系统以及HPA,它们包含核心指标及许多非核心指
  8. 标。非核心指标本身不能被k8s所解析,
  9.  
  10. metrics-serverAPI server
  11.  
  12. #kube-aggregator()

  

#部署metrucs-server(使用kubectl top)

  1. #github
  2. https://github.com/kubernetes-incubator/metrics-server
  1. git clone https://github.com/kubernetes-incubator/metrics-server
  2. cd metrics-server
  1. #修改配置文件metrics-server-deployment.yaml
  2. vim deploy/1.8+/metrics-server-deployment.yaml
  1. apiVersion: v1
  2. kind: ServiceAccount
  3. metadata:
  4. name: metrics-server
  5. namespace: kube-system
  6. ---
  7. apiVersion: extensions/v1beta1
  8. kind: Deployment
  9. metadata:
  10. name: metrics-server
  11. namespace: kube-system
  12. labels:
  13. k8s-app: metrics-server
  14. spec:
  15. selector:
  16. matchLabels:
  17. k8s-app: metrics-server
  18. template:
  19. metadata:
  20. name: metrics-server
  21. labels:
  22. k8s-app: metrics-server
  23. spec:
  24. serviceAccountName: metrics-server
  25. volumes:
  26. # mount in tmp so we can safely use from-scratch images and/or read-only containers
  27. - name: tmp-dir
  28. emptyDir: {}
  29. containers:
  30. - name: metrics-server
  31. image: k8s.gcr.io/metrics-server-amd64:v0.3.1
  32. imagePullPolicy: Always
  33. command:
  34. - /metrics-server
  35. - --kubelet-insecure-tls
  36. - --kubelet-preferred-address-types=InternalIP
  37. volumeMounts:
  38. - name: tmp-dir
  39. mountPath: /tmp

#导入文件

  1. kubectl create -f deploy/1.8+/
  2. #查看
  1. ##查看
  2. kubectl -n kube-system get pods -l k8s-app=metrics-server
  3. kubectl api-versions
  4.  
  5. #使用kube-proxy打开端口8080监听
  6. kubectl proxy --port=8080
  1.  
  2. #过一会使用kubelet top
  1. [root@k8s-m 1.8+]# curl http://localhost:8080/apis/metrics.k8s.io/v1beta1/nodes
  2. {
  3. "kind": "NodeMetricsList",
  4. "apiVersion": "metrics.k8s.io/v1beta1",
  5. "metadata": {
  6. "selfLink": "/apis/metrics.k8s.io/v1beta1/nodes"
  7. },
  8. "items": [
  9. {
  10. "metadata": {
  11. "name": "k8s-m",
  12. "selfLink": "/apis/metrics.k8s.io/v1beta1/nodes/k8s-m",
  13. "creationTimestamp": "2019-01-02T08:12:49Z"
  14. },
  15. "timestamp": "2019-01-02T08:11:46Z",
  16. "window": "30s",
  17. "usage": {
  18. "cpu": "391134684n",
  19. "memory": "1245640Ki"
  20. }
  21. },
  22. {
  23. "metadata": {
  24. "name": "node",
  25. "selfLink": "/apis/metrics.k8s.io/v1beta1/nodes/node",
  26. "creationTimestamp": "2019-01-02T08:12:49Z"
  27. },
  28. "timestamp": "2019-01-02T08:11:44Z",
  29. "window": "30s",
  30. "usage": {
  31. "cpu": "63170360n",
  32. "memory": "962660Ki"
  33. }
  34. }
  35. ]
  36. }
  37.  
  38. #使用top
  39. [root@k8s-m 1.8+]# kubectl top nodes
  40. NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
  41. k8s-m 110m % 1216Mi %
  42. node 61m % 941Mi %
  43. [root@k8s-m 1.8+]# kubectl top pod
  44. NAME CPU(cores) MEMORY(bytes)
  45. nginx-pod 0m 2Mi
  1.  

#安装prometheus+Grafana

  1. #下载yaml
  2. git clone https://github.com/zhangbin804/k8s.git
  3. #导入文件
  4. kubectl create -f node-exporter.yaml
  5. kubectl apply -f prometheus/
  6. kubectl apply -f grafana/
  7. #查看30003端口服务
  8. http://宿主机IP:30003/graph

  

#访问Grafana

[root@k8s-m k8s]# kubectl get svc -n kube-system|grep grafana
grafana NodePort 10.108.93.180 <none> 3000:32094/TCP 23m

#账号和密码都是admin

#添加数据源

#模板导入

模板地址:https://grafana.com/dashboards

#找一个模板下载下来

#导入模板文件

#导入

#查看

prometheus和metrucs-server (k8s监控)的更多相关文章

  1. 详细教程丨使用Prometheus和Thanos进行高可用K8S监控

    本文转自Rancher Labs 介 绍 Prometheus高可用的必要性 在过去的几年里,Kubernetes的采用量增长了数倍.很明显,Kubernetes是容器编排的不二选择.与此同时,Pro ...

  2. 基于Prometheus搭建SpringCloud全方位立体监控体系

    前提 最近公司在联合运维做一套全方位监控的系统,应用集群的技术栈是SpringCloud体系.虽然本人没有参与具体基础架构的研发,但是从应用引入的包和一些资料的查阅大致推算出具体的实现方案,这里做一次 ...

  3. Prometheus基于consul自动发现监控对象 https://www.iloxp.com/archive/11/

      Prometheus 监控目标为什么要自动发现 频繁对Prometheus配置文件进行修改,无疑给运维人员带来很大的负担,还有可能直接变成一个“配置小王子”,即使是配置小王子也会存在人为失误的情况 ...

  4. 基于 prometheus 的微服务指标监控

    基于prometheus的微服务指标监控 服务上线后我们往往需要对服务进行监控,以便能及早发现问题并做针对性的优化,监控又可分为多种形式,比如日志监控,调用链监控,指标监控等等.而通过指标监控能清晰的 ...

  5. 简单4步,利用Prometheus Operator实现自定义指标监控

    本文来自Rancher Labs 在过去的文章中,我们花了相当大的篇幅来聊关于监控的话题.这是因为当你正在管理Kubernetes集群时,一切都会以极快的速度发生变化.因此有一个工具来监控集群的健康状 ...

  6. Golang 基于Prometheus Node_Exporter 开发自定义脚本监控

    Golang 基于Prometheus Node_Exporter 开发自定义脚本监控 公司是今年决定将一些传统应用从虚拟机上迁移到Kubernetes上的,项目多而乱,所以迁移工作进展缓慢,为了建立 ...

  7. 1. SQL Server服务器监控实现方法

    对于服务器的监控,和对数据库的监控,很少有合二为一的工具,如果有的话,一般是付费软件,或者自行开发的工具.所以如果不想购买软件,也不想花精力去开发的话,可以结合一些免费/开源的工具.自定义脚本,来完成 ...

  8. SQL Server Profiler监控执行语句

    SQL Server Profiler监控执行语句,这个功能主要用在实时的监控对数据库执行了什么操作,从而及时有效的跟踪系统的运行. 常规配置选项,名称.模板.保存到文件(可以复用). 事件选择,可以 ...

  9. SQL Server Profiler监控SQL Server性能

    全面掌握SQL Server Profiler 1.       原理与相关概念介绍 SQL Server Profiler,大家已经非常熟悉.常常在性能优化中使用,本文档详细介绍SQL Server ...

随机推荐

  1. [python] os.path.join() 与 sys.path

    脚本文件本地目录挂入系统环境变量 import sys, os sys.path.append(os.pardir) print(sys.path) os.getcwd()获取当前目录路径 impor ...

  2. JDK动态代理Demo代码,进一步学习分析

    import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflec ...

  3. 09 python初学 (字符串)

    # 重复输出字符串 print('hello' * 2) # >>>hellohello # 字符串切片操作,最重要的!!!! print('hello'[2:]) # >&g ...

  4. hyperledge工具-cryptogen

    参考:http://baijiahao.baidu.com/s?id=1596614770784685300&wfr=spider&for=pc cryptogen是Hyperledg ...

  5. JS中navigator对象详解

    <code class="language-html"><!doctype html> <html> <head> <meta ...

  6. mysql安装-CentOS6下解压安装mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

    删除已经安装版本 yum list installed mysql [root@localhost ~]# yum list installed mysql Loaded plugins: faste ...

  7. copyOfRange的应用

    package com.Summer_0420.cn; import java.util.Arrays; /** * @author Summer * copyOfRange的应用 */ public ...

  8. C语言中__attribute__ ((at())绝对定位的应用

    C语言中的关键字__attribute__ ,当时大一学C语言中没有接触过,后来工作中搞RFID的蓝牙标签卡开发,用的是MSP430G2332,直接用的是绝对定位: 1 const uint8_t f ...

  9. 【原创】研发应该懂的binlog知识(上)

    引言 为什么写这篇文章? 大家当年在学MySQL的时候,为了能够迅速就业,一般是学习一下MySQL的基本语法,差不多就出山找工作了.水平稍微好一点的童鞋呢还会懂一点存储过程的编写,又或者是懂一点索引的 ...

  10. Spring Cloud (十四):Spring Cloud 开源软件都有哪些?

    学习一门新的技术如果有优秀的开源项目,对初学者的学习将会是事半功倍,通过研究和学习优秀的开源项目,可以快速的了解此技术的相关应用场景和应用示例,参考优秀开源项目会降低将此技术引入到项目中的成本.为此抽 ...