prometheus指南:采集k8s的原理和高可用存储实践

k8s零基础入门运维课程

k8s纯源码解读教程(3个课程内容合成一个大课程)

k8s运维进阶调优课程

k8s管理运维平台实战

k8s二次开发课程

cicd 课程

prometheus全组件的教程

go语言课程

直播答疑sre职业发展规划

项目说明

这是一个免费的prometheus底层原理课程

主要介绍两大块内容,这也是大家常见的问题

  • prometheus采集k8s的原理
  • prometheus的高可用存储怎么做

项目github地址

项目简介

  • 01 prometheus采集k8s底层原理
  • 02 k8s监控指标讲解
  • 03 时序监控集群存储m3db
  • 04 低成本multi_remote_read方案

    k8s中的prometheus快速部署

  • 部署prometheus statefulset

    # 1.监控etcd需要创建 secret
    kubectl create secret generic etcd-certs --from-file=/etc/kubernetes/pki/etcd/healthcheck-client.crt --from-file=/etc/kubernetes/pki/etcd/healthcheck-client.key --from-file=/etc/kubernetes/pki/etcd/ca.crt -n kube-system
    
    # 2. 修改pv.yaml中的节点选择器标签 k8s-node01改为你自己的节点
    # 在节点上创建数据目录
    mkdir -pv /data/prometheus
    
    
    # 3. 部署kube-stats-metrics
    kubectl apply -f kube-stats-metrics
    
    # 4. 部署prometheus服务
    kubectl apply -f prome_k8s_all_pod/
    
    # 5. 使用node的ip:8091即可访问服务
  • 部署grafana

    # 1. 修改yaml中的节点选择器标签 k8s-node01改为你自己的节点
    # 在节点上创建数据目录
    mkdir -pv /data/grafana
    
    
    # 2. 部署grafana
    kubectl apply -f grafana_k8s.yaml
    
    # 3. 访问 节点的 :30000端口  账户密码 : admin/admin 
    # 4. 添加prometheus数据源,如果prometheus是 hostnetwork的,直接写node的ip:port即可
  • 部署单机版m3db

    过程
  • 依赖文件 m3dbnode m3dbnode.service m3dbnode_single.yaml
  • 执行 m3db_single_install.sh
注意事项
  • 单机版内嵌了etcd进程,如果测试机上有etcd的需要注意下端口冲突
  • m3dbnode可以选择是否开启内嵌的m3coordinator

prometheus高可用架构图

监控方向发展指导

1.一线运维人员:学习使用、熟悉配置、掌握调优、升职加薪

  • 可以从头到尾熟悉prometheus、各种exporter、alertmanager、grafana、m3db、loki等组件的使用配置
  • 熟悉主流exporter(中间件、存储)的告警表达式配置
  • 同时能掌握相关组件调优的经验

2.运维开发人员:学习高性能原理,可助⼒斩获⼤⼚监控运维开发offer

  • 从源码级别了解prometheus高性能的设计方案
  • 掌握二次开发相关组件的能力
  • 了解分布式系统高可用改造方案

监控系统和运维开发
监控系统的源码解析,运维开发经验交流
161 声望
56 粉丝
0 条评论
推荐阅读
k8s中查看默认调度器开启的插件以及权重的含义
要点01:软件配置项的来源主要有2块:命令行参数 和 配置文件k8s中的组件一般都是遵循上面的模式我们以kube-scheduler为例命令参数举例 :可以看到--xxx=xxx的传参,当然所有参数都是有默认值的,如果你不传就走...

ning1875阅读 679

封面图
突破难关:Docker镜像和容器的区别以及构建的最佳实践
Docker 可谓是开启了容器化技术的新时代,现在无论大中小公司基本上都对容器化技术有不同程度的尝试,或是已经进行了大量容器化的改造。伴随着 Kubernetes 和 Cloud Native 等技术和理念的普及,也大大增加了业务...

张晋涛4阅读 416

封面图
使用kubeasz部署高可用kubernetes集群
本实验采用kubeasz作为kubernetes环境部署工具,它是一个基于二进制方式部署和利用ansible-playbook实现自动化来快速部署高可用kubernetes集群的工具,详细介绍请查看kubeasz官方。本实验用到的所有虚拟机默认软...

李朝阳4阅读 781

Jvm调优与微服务资源分配
在没有接触微服务之前,我们的java程序一般都部署在WebLogic、Tomcat这类应用服务器上,这些应用服务器本身也是基于Jvm虚拟机的。一般我们统一对应用服务器做Jvm参数调优(分配多大内存,线程池限制等),而不用...

KerryWu阅读 5.8k

不背锅运维:一文搞清楚应用发布到k8s集群的基本流程
❝关于标签的主要作用:标记、过滤、关联(主要体现在deployment、pod、service,3者标签保持一致),可设定多个标签,建议设定至少2个标签,一个为项目标签,一个为应用标签。❞

不背锅运维1阅读 747

10分钟学会使用 Loki 日志聚合系统
Loki 通过使用类似 Prometheus 的标签索引机制来存储和查询日志数据,这使得它能够快速地进行分布式查询和聚合,而不需要将所有数据都从存储中加载到内存中。Loki还使用了压缩和切割日志数据的方法来减少存储空间...

Rainbond1阅读 486

封面图
制作容器镜像的最佳实践
这篇文章主要是我日常工作中的制作镜像的实践, 同时结合我学习到的关于镜像制作的相关文章总结出来的. 包括通用的容器最佳实践, java, nginx, python 容器最佳实践. 最佳实践的目的一方面保证镜像是可复用的, 提...

东风微鸣云原生2阅读 642

161 声望
56 粉丝
宣传栏