前言

容器集群管理系统 Kubernetes(简称K8s),为容器化的应用提供部署运行、容器编排、负载均衡、服务发现和动态伸缩等一系列完整功能,Prometheus 对 K8s 支持非常棒,能够自动发现 K8s 的监控目标!Prometheus 产生的告警,可以通过 Alertmanager 转发到 Cloud Alert,实现告警的降噪、分派和通知。

Kubernetes

K8s 是 Google 开源的容器集群管理系统。用于管理云平台中多个主机上的容器化的应用,K8s的目标是让部署容器化的应用简单并且高效(powerful),K8s 提供了应用部署,规划,更新,维护的一种机制。(选取自为K8s中文文档)

  • Master:k8s 集群的管理节点,负责管理集群,提供集群的资源数据访问入口。包含四个模块:kube-apiserver、kube-controller-manager 和 kube-scheduler。

  • Node:k8s 集群架构中运行 Pod 的服务节点,每个 Node 至少运行 container runtime(比如 docker 或者 rkt)、kubelet 和 kube-proxy 服务。

更多K8s的安装及使用,详见K8s中文文档。K8s 解决了传统IT系统中服务扩容和升级的两大难题,提高了大规模容器集群管理的便捷性。K8s 通常会搭配 promethues 进行监控。

Prometheus

Prometheus 是一个开源和社区驱动的监控&报警&时序数据库的项目。由于其从推出就提供了完整的基于容器的部署方式,开发者可以快速的基于容器搭建自己的监控平台。

Prometheus 监控 K8s 兼容很好,主要可监控 K8s:

  • Node: 如主机 CPU,内存,网络吞吐和带宽占用,磁盘 I/O 和磁盘使用等指标。node-exporter 采集。

  • 容器关键指标:集群中容器的 CPU 详细状况,内存详细状况,Network,FileSystem和Subcontainer 等。通过 cadvisor 采集。

  • K8s 集群上部署的应用:监控部署在 K8s 集群上的应用。主要是 pod,service,ingress 和 endpoint。通过 black-box 和 kube-apiserver 的接口采集。

产生的告警,promethues 支持 Email 推送和 webhook 推送,如果要实现电话、短信、微信的推送,如果不想再造轮子,可以配合 Cloud Alert(原OneAlert)或 pagerduty 使用。本文以Cloud Alert 为例详细描述集成步骤,pagerduty的集成方式类似。

Cloud Alert

Cloud Alert(原OneAlert)是免费 SaaS 云告警监控项目,可以实现告警的降噪、分派、通知。通知方式支持电话、短信、微信、邮件、APP、钉钉、Slack通知等等。

1. 注册 Cloud Alert 账号,注册地址

2. 创建 Prometheus 应用集成,集成 -> 监控应用,点击Prometheus,保存后,即可获取 webhook 回调 url。

3. 进入 Prometheus 界面,修改 Alertmanager 模块的配置文件。

receivers:
- name: 'team-X-pager'
  webhook_configs:
  - url: 'http://api.onealert.com/alert/api/event/prometheus/--'
    send_resolved: true

4. 重启下 Alertmanager 模块,加载该配置文件。结束。

Cloud Alert 默认所有告警均电话、邮件、短信通知用户,如果想设置不同的告警分派给不同的人/团队,可以在 配置 -> 分派策略 中设置。如果公司成员比较多,建议搭配排班功能使用,没必要所有告警全员响应,将人力解放出来。微信通知,需要先绑定 Cloud Alert 的微信公众号:云告警,绑定后,就能接收微信通知了。更多使用参考官方文档吧。

Kubernetes+Promethues+Cloud Alert实践分享的更多相关文章

  1. Zabbix + Cloud Alert 实践分享

    前言 如果要问老牌开源监控工具泰斗,当zabbix莫属.之前已分享过 [Kubernetes+Promethues+Cloud Alert实践分享],本篇将继续分享 Zabbix + Cloud Al ...

  2. 大咖云集!Kubernetes and Cloud Native Meetup 深圳站开始报名!

    由阿里技术生态联合 CNCF 官方共同出品的 Kubernetes & Cloud Native Meetup 将在 8 月 31 日来到深圳.届时,阿里云.蚂蚁金服高级技术专家将携手来自国内 ...

  3. Cloud Alert 实现告警智能降噪,成功规避告警风暴

    # 前言 睿象云前段时间发表了一篇[< Zabbix 实现电话.邮件.微信告警通知的实践分享>](https://www.toutiao.com/i6734876723126469127/ ...

  4. 应对告警风暴,Cloud Alert 实现告警风暴智能降噪

    前言 睿象云前段时间发表了一篇< Zabbix 实现电话.邮件.微信告警通知的实践分享>的技术文章.它帮助我们非常轻松地支持了各种告警通知方式,但是存在一个严重的问题,我们经常接到各种相类 ...

  5. 让互联网更快:新一代QUIC协议在腾讯的技术实践分享

    本文来自腾讯资深研发工程师罗成在InfoQ的技术分享. 1.前言 如果:你的 App,在不需要任何修改的情况下就能提升 15% 以上的访问速度,特别是弱网络的时候能够提升 20% 以上的访问速度. 如 ...

  6. QCon技术干货:个推基于Docker和Kubernetes的微服务实践

    2016年伊始,Docker无比兴盛,如今Kubernetes万人瞩目.在这个无比需要创新与速度的时代,由容器.微服务.DevOps构成的云原生席卷整个IT界.在近期举办的QCon全球软件开发大会上, ...

  7. Openstack+Kubernetes+Docker微服务实践

    Openstack+Kubernetes+Docker微服务实践 .....   Openstack+Kubernetes+Docker微服务实践之路--选型 posted @ 2016-11-15 ...

  8. 阿里PB级Kubernetes日志平台建设实践

    干货分享 | 阿里PB级Kubernetes日志平台建设实践https://www.infoq.cn/article/HiIxh-8o0Lm4b3DWKvph 日志最主要的采集工具是 Agent,在 ...

  9. 基于Kubernetes 的Cloud Native 实战 培训课程安排

    课程安排: 基于Kubernetes 的Cloud Native 实战 课程介绍: 云计算.虚拟化.容器微服务PaaS 技术已经广泛应用于新兴互联网企业(如电商平台.搜索引擎.社交平台网站.位置服务平 ...

随机推荐

  1. 多测师讲解ui自动化框架设计思想_高级讲师肖sir

    UI自动化框架:UI自动化框架可以分为8个模块,conf.data.public.pageobject.testcase.runner.report.log.conf是用来储存系统环境.数据库.邮件的 ...

  2. Android开发Settings源码分析之主界面加载(二)

    现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套[Android进阶学习视频].[全套Android面试秘籍].[Android知识点PDF] ...

  3. Js中Currying的应用

    Js中Currying的应用 柯里化Currying是把接受多个参数的函数变换成接受一个单一参数的函数,并且返回接受余下的参数且返回结果的新函数的技术,是函数式编程应用. 描述 如果说函数式编程中有两 ...

  4. salesforce零基础学习(九十六)项目中的零碎知识点小总结(四)

    本篇参考: https://developer.salesforce.com/docs/atlas.en-us.216.0.apexcode.meta/apexcode/apex_classes_ke ...

  5. 第四章 NFS服务相关介绍

    一.NFS服务介绍 1.什么是NFS?是一个共享存储,文件服务器 2.NFS基本概述NFS是Network File System的缩写及网络文件系统.NFS主要功能是通过局域网络让不同的主机系统之间 ...

  6. 第二十七章 Linux系统管理之定时任务

    一.定时任务概述 1.含义:设定某个日期或时间周期性执行指令. 2.crond # 守护进程 分钟级别 rond是Linux系统中用来定期执行命令或脚本的一种服务软件,一般情况下,我们安装完CentO ...

  7. 创建Sqlite数据库(一)

    对这方面的掌握不牢,慢慢深入吧,先执行一个sqlite语句,只会简单的.输出"创建"证明创建成功 public class MainActivity extends AppComp ...

  8. C#/WPF 使用的Task线程程序缺依旧响应缓慢问题

    问题:C#/WPF 使用的Task线程程序缺依旧响应缓慢问题 摘要:相信很多做WPF的开发者在请求接口的时候会去采用开一个线程Task去请求接口.避免UI卡主等等.但有一个问题是但开的线程比较多的情况 ...

  9. java数据结构-12树相关概念

    一.树 1.概念: 包含n(n>=0)个结点的有穷集:树有多个节点(node),用以储存元素.某些节点之间存在一定的关系,用连线表示,连线称为边(edge).边的上端节点称为父节点,下端称为子节 ...

  10. 跟我一起学.NetCore之MediatR好像有点火

    前言 随着微服务的流行,而DDD(领域驱动设计)也光速般兴起,CRQS(Command Query Responsibility Seperation--命令查询职责分离).领域事件名词是不是经常在耳 ...