grafana

什么是DevOps?该如何正确的在企业内进行实践

时光毁灭记忆、已成空白 提交于 2020-10-25 09:45:37
传统IT技术团队中通常都有多个独立的组织-开发团队、测试团队和运维团队。开发团队进行软件开发、测试团队进行软件测试,运维团队致力于部署,负载平衡和发布管理。 他们之间的职能有时重叠、有时依赖、有时候会冲突。 因为衔接与沟通问题,有时会导致开发-测试-发布的周期太长了,特别是对于互联网公司,时间就是生命。从而需要建立一支由开发,质量保证和运营组成的混合专业知识的团队的需求,并引入了DevOps来弥合团队之间的鸿沟,帮助他们快速而可靠地操作和开发应用程序。 一、什么是DevOps? 顾名思义,Devops是“开发”与“运维”的缩写。它定义了一组流程,这些流程通过在开发和运维团队之间进行协作带来组织文化上的转变。它包含四个关键组件:协作,实践,文化和工具。 二、为什么我们需要DevOps? DevOps带来更高水平的协作和速度,使组织提高生产力,降低运营成本以有效地为客户提供服务并保持市场竞争力。它还有助于更快地发布产品,管理计划外的工作,更快地捕获和解决关键问题。 三、DevOps实践 独立devops团队 DevOps使用各种工具,例如docker、k8s、Jenkins,Terraform,Nagios,Grafana,Prometheus或Splunk等,组织应建立一个集中部门来创建和操作这些工具。这个集中管理部门负责开发团队中的敏捷实践设置,该团队将研究新的工具并坚持使用

架构设计 | 分布式体系下,服务分层监控策略

老子叫甜甜 提交于 2020-10-24 22:47:08
本文源码: GitHub·点这里 || GitEE·点这里 一、分布式故障 分布式系统的架构,业务开发,这些在良好的思路和设计文档规范之下,是相对来说好处理的,这里的相对是指比较分布式架构下生产环境的突然故障。 在实际的开发中,有这样一个很妖娆的情况:越是核心复杂的业务,越是担心出问题,越容易出问题。 所以当核心服务的链路出现故障时,如何快速定位问题就是一件很头疼的事情,尤其是一些特殊情况下,问题很模糊很难复现,外加客户或者领导催促,这种场景心里阴影是大部分开发都有的。更有甚者,可能问题发生的切入点的开发是某人负责的,实际问题是发生在请求链路的其他服务上,这种情况遇多了,甩锅水平会直线上升。 越是复杂的系统,越是经验丰富的开发或者运维,对监控系统就越是有执念,尤其是全链路的监控,底层,网络,中间件,服务链路,日志观察预警等,用来快速定位问题,省时省心。 二、全链路监控 1、监控层次 在分布式系统中,需要监控的体系和层次极其复杂,通常整体上划分为三个层次:应用服务,软件服务,硬件服务。 通常情况,运维管理硬件服务,开发管理应用和软件服务。 2、应用服务 应用层为开发的业务逻辑服务,也是最容易突发问题的一个层面,当在一家公司待久了,因为开发过多个业务线,就会感觉自己不是开发,是个打杂的,每天都要分出大量时间处理各种问题。应用层监控涉及下面几个核心模块: 请求流量 任何服务

Kubernetes 新玩法:在 yaml 中编程

帅比萌擦擦* 提交于 2020-10-24 18:43:21
作者 | 悟鹏 引子 性能测试在日常的开发工作中是常规需求,用来摸底服务的性能。 那么如何做性能测试?要么是通过编码的方式完成,写一堆脚本,用完即弃;要么是基于平台,在平台定义的流程中进行。对于后者,通常由于目标场景的复杂性,如部署特定的 workload、观测特定的性能项、网络访问问题等,往往导致性能测试平台要以高成本才能满足不断变化的开发场景的需求。 在云原生的背景下,是否可以更好解决这种问题? 先看两个 yaml 文件: performance-test.yaml 描述了在 K8s 中的操作流程: 创建测试用的 Namespace 启动针对 Deployment 创建效率和创建成功率的监控 下述动作重复 N 次:① 使用 workload 模板创建 Deployment;② 等待 Deployment 变为 Ready 删除测试用的 Namespace basic-1-pod-deployment.yaml 描述使用的 workload 模板 performance-test.yaml : apiVersion: aliyun.com/v1alpha1 kind: Beidou metadata: name: performance namespace: beidou spec: steps: - name: "Create Namespace If Not Exits"

Kubernetes/K8s架构师实战集训营【中、高级班】-2020

限于喜欢 提交于 2020-10-23 02:28:45
下载地址: 【中级班】 链接: https://pan.baidu.com/s/1FWAz2V7BPsObixlZyW93sw 提取码:mvu0 【高级班】 链接: https://pan.baidu.com/s/1eYNq74qRnc1au3gnHU62jw 提取码:qqbh 目录: 【01】:开班仪式 开班仪式:同学认识,内容综述及学习建议(3月3日 20:10-22:00) 【02】:Kubernetes 入门(上)-重新认识Docker 第1章:为什么要用容器?(3月8日 09:00-10:00) 第1章:Docker 基本使用(3月8日 10:00-12:00) 第1章:手把手教你制作镜像(Dockerfile)(3月8日 14:00-15:00) 第1章:Habor镜像仓库,企业Jenkins CI平台(3月8日 15:00-17:00) 第1章:Prometheus+Grafana 监控 Docker(3月8日 17:00-18:00) 【03】:Kubernetes 入门(下) 第2章:K8S 产生背景,核心概念(3月15日 09:00-10:00) 第3章:快速部署一个K8S集群(kubeadm)(3月15日 10:00-12:00) 第4章:kubectl命令行管理工具(3月15日 14:00-15:00) 第5章:服务编排(YAML)(3月15日 15:00

使用loki+promtail实现云原生日志分析

喜夏-厌秋 提交于 2020-10-22 12:21:55
** loki配置使用** 1 1. Loki 是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流配置一组标签。项目受 Prometheus 启发,官方的介绍就是:Like Prometheus, but for logs,类似于 Prometheus 的日志系统。 2. 和其他日志系统不同的是,Loki 只会对你的日志元数据标签(就像 Prometheus 的标签一样)进行索引,而不会对原始的日志数据进行全文索引。然后日志数据本身会被压缩,并以 chunks(块)的形式存储在对象存储(比如 S3 或者 GCS)甚至本地文件系统。一个小的索引和高度压缩的 chunks 可以大大简化操作和降低 Loki 的使用成本。 对比其他日志系统 EFK(Elasticsearch、Fluentd、Kibana)用于从各种来源获取、可视化和查询日志。 Elasticsearch 中的数据以非结构化 JSON 对象的形式存储在磁盘上。每个对象的键和每个键的内容都有索引。然后可以使用 JSON 对象来定义查询(称为 Query DSL)或通过 Lucene 查询语言来查询数据。 相比之下,单二进制模式下的 Loki 可以将数据存储在磁盘上,但在水平可扩展模式下

《掌门1对1微服务体系 Solar | 阿里巴巴 Sentinel 落地实践》

偶尔善良 提交于 2020-10-17 23:36:38
简介: 前言 掌门1对1精耕在线教育领域,近几年业务得到了快速发展,但同时也遭遇了“成长的烦恼”。随着微服务数量不断增加,流量进一步暴增,硬件资源有点不堪重负,那么,如何实现更好的限流熔断降级等流量防护措施,这个课题就摆在了掌门人的面前。由于 Spring Cloud 体系已经演进到第二代,第一代的 Hystrix 限流熔断降级组件已经不大适合现在的业务逻辑和规模,同时它目前被 Spring Cloud 官方置于维护模式,将不再向前发展。 如何选择一个更好的限流熔断降级组件?经过对 Alibaba Sentinel 、 Resilience4j 、 Hystrix 等开源组件做了深入的调研和比较,最终选定 Alibaba Sentinel 做微服务体系 Solar 中的限流熔断降级必选组件。 Sentinel 简介 阿里巴巴中间件部门开发的新一代以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性的分布式系统的流量防卫兵。它承接了阿里巴巴近10年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。 它具有非常丰富的开源生态: 它和 Hystrix 相比,有如下差异: 摘自官网 Sentinel Roadmap 关于 Sentinel 如何使用,它的技术实现原理怎样等