fluentd

Prometheus 和 它的监控需求朋友们 ;)

爱⌒轻易说出口 提交于 2020-10-17 13:50:26
这篇博文的面向群体是 还不太了解 Prometheus 和 想要开始使用 Prometheus 的人群. 本文想做的事是 想尽力讲清楚 Prometheus 是如何看待监控这件事情 以及 Prometheus 是如何实现这些需求的. 本文中不会出现的内容: 跟 Prometheus 实现细节有太多相关的东西 等 当想看监控的时候, 我们到底想要什么? 我们想要看的东西也就是我们对监控的需求. 需求 在实际的生产过程中, 产生的和需要收集的监控数据分为很多种, 例如以下这些, 除此之外, 还有很多很多. 但从实现方式上来说, 大多都大同小异. 瞬时状态的 CPU 和 MEM 使用率读数 硬盘使用量的增长率 对 集群节点 状态 进行筛选 , 记录节点位于什么时刻不可用, 这就要求有 Tag 支持 瞬时状态的 网卡流量, 例如 100 Mbps, 服务请求量, 服务的 QPS, 服务的 错误率和错误次数 全部请求的平均时耗 一段时间内, 所有请求的 时耗中, 50% 的请求时耗小于多少毫秒, 95% 的请求时耗小于多少毫秒? 以此评估整体的接口情况 一段时间内, 所有请求的 时耗中, 多少请求时耗大于 1000ms, 多少请求时耗位于 200-500 区间内, 用于了解 请求时耗的具体分布, 以评估接口情况 …… 那么我们就需要一个 监控系统 来完成 上述需求, 这个监控系统

Kubernetes日志的6个最佳实践

倖福魔咒の 提交于 2020-08-17 06:42:26
本文转自 Rancher Labs Kubernetes可以帮助管理部署在Pod中的上百个容器的生命周期。它是高度分布式的并且各个部分是动态的。一个已经实现的Kubernetes环境通常涉及带有集群和节点的几个系统,这些系统托管着几百个容器,而这些容器不断地基于工作负载启动、毁灭。 当在Kubernetes中处理大量的容器化应用和工作负载时,主动进行监控和调试错误十分重要。在容器、节点或集群级别,这些错误都能在容器中看到。Kubernetes的日志机制是一个十分重要的组件,可以用来管理和监控服务以及基础设施。在Kubernetes中,日志可以让你跟踪错误甚至可以调整托管应用程序的容器的性能。 配置stdout(标准输出)和stderr(标准错误)数据流 图片来源:kubernetes.io 第一步是理解日志是如何生成的。通过Kubernetes,日志会被发送到两个数据流——stdout和stderr。这些数据流将写入JSON文件,并且此过程由Kubernetes内部处理。你可以配置将哪个日志发送到哪个数据流中。而一个最佳实践的建议是将所有应用程序日志都发送到stdout并且所有错误日志都发送到stderr。 决定是否使用Sidecar模型 Kubernetes建议使用sidecar容器来收集日志。在这一方法中,每个应用程序容器将有一个邻近的“streaming容器”

日志收集工具简单对比

折月煮酒 提交于 2020-08-16 08:01:20
前言:efk中的f与elk中的l分别可以指代logstash、filebeat、rsyslog、Fluentd等,作为日志系统中的标准收集工具,各有优劣,本文将分析下各自的有点与不足。 Logstash logstash基于JRuby实现,可以跨平台运行在JVM上 优点 主要的优点就是它的灵活性,这还主要因为它有很多插件。然后它清楚的文档已经直白的配置格式让它可以再多种场景下应用。这样的良性循环让我们可以在网上找到很多资源,几乎可以处理任何问题。 劣势 Logstash 致命的问题是它的性能以及资源消耗(默认的堆大小是 1GB)。尽管它的性能在近几年已经有很大提升,与它的替代者们相比还是要慢很多的。因为logstash是jvm跑的,资源消耗比较大,所以后来作者又用golang写了一个功能较少但是资源消耗也小的轻量级的logstash-forwarder。不过作者只是一个人,elastic.co公司以后,因为es公司本身还收购了另一个开源项目packetbeat,而这个项目专门就是用golang的,有整个团队,所以es公司干脆把logstash-forwarder的开发工作也合并到同一个golang团队来搞,于是新的项目就叫filebeat了。logstash 和filebeat都具有日志收集功能,filebeat更轻量,占用资源更少,但logstash 具有filter功能

容器云环境,你们如何监控应用运行情况? --JFrog 云原生应用监控实践

守給你的承諾、 提交于 2020-08-13 14:43:49
引言 自从2018年从Cloud Native Computing Foundation(CNCF)出现以来,您可能已经在使用K8操作系统,随着容器云技术的发展以及落地,提高了企业运维的效率和质量,并且降低了企业运营成本,但同时带来的问题是运维的复杂度和难度,举个例子 🌰 :由于容器的生命周期短,随时可能飘移到其他物理资源上运行,因此日志的采集和运行的监控很难像传统方式登录到服务器上查看,而运营团队需要了解有价值的数据来进行问题定位以及运营数据分析。 为了更广泛地提供这种可观察性,我们需要提供满足云原生环境下的监控能力。 JFrog 通过使用Elasticsearch和Kibana套件,以及Prometheus 和Grafana套件来监控Artifactory 制品库以及Xray 漏洞扫描工具的运行情况,下面我们一起了解JFrog 如何在云原生环境进行应用运维。 日志分析 Easticsearch是一个分布式且可扩展的搜索引擎,可用于搜索全文,结构化文本和分析。它通常用于搜索大量数据以及搜索不同类型的文档。 Kibana是Elasticsearch最常用的可视化和仪表板。Kibana使您能够通过构建可视化和仪表板的Web UI探索Elasticsearch日志数据。 下面我们将向您展示如何利用同类最佳的开源日志分析技术:Elastic

Service Mesh 中的可观察性实践

旧巷老猫 提交于 2020-08-11 02:32:24
Service Mesh Virtual Meetup 是 ServiceMesher 社区和 CNCF 联合主办的线上系列直播。本期为 Service Mesh Virtual Meetup#1 ,邀请了四位来自不同公司的嘉宾,从不同角度展开了 Service Mesh 的应用实践分享,分享涵盖如何使用 SkyWalking 来观测 Service Mesh,来自陌陌和百度的 Service Mesh 生产实践,Service Mesh 的可观察性和生产实践以及与传统微服务监控的区别。 本文根据5月14日晚,G7 微服务架构师叶志远的主题分享《Service Mesh 高可用在企业级生产中的实践》整理。文末包含本次分享的视频回顾链接以及 PPT 下载地址。 前言 谈到 Service Mesh,人们总是想起微服务和服务治理,从 Dubbo 到 Spring Cloud (2016开始进入国内研发的视野,2017年繁荣)再到 Service Mesh (2018年开始被大家所熟悉),正所谓长江后浪推前浪,作为后浪,Service Mesh 别无选择,而 Spring Cloud 对 Service Mesh 满怀羡慕,微服务架构的出现与繁荣,是互联网时代架构形式的巨大突破。Service Mesh 具有一定的学习成本,实际上在国内的落地案例不多,大多是云商与头部企业

Docker和k8s的区别与介绍

倖福魔咒の 提交于 2020-08-10 10:06:14
本文来源:鲜枣课堂 2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。 这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。 LXC,就是Linux容器虚拟技术(Linux container) 后来,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。 Docker技术诞生之后,并没有引起行业的关注。而dotCloud公司,作为一家小型创业企业,在激烈的竞争之下,也步履维艰。 正当他们快要坚持不下去的时候,脑子里蹦出了“开源”的想法。 什么是“开源”?开源,就是开放源代码。也就是将原来内部保密的程序源代码开放给所有人,然后让大家一起参与进来,贡献代码和意见。 Open Source,开源 有的软件是一开始就开源的。也有的软件,是混不下去,创造者又不想放弃,所以选择开源。自己养不活,就吃“百家饭”嘛。 2013年3月,dotCloud公司的创始人之一,Docker之父,28岁的Solomon Hykes正式决定,将Docker项目开源。 Solomon Hykes(今年刚从Docker离职) 不开则已,一开惊人。 越来越多的IT工程师发现了Docker的优点,然后蜂拥而至,加入Docker开源社区。 Docker的人气迅速攀升,速度之快,令人瞠目结舌。 开源当月,Docker 0

docker搭建EFK

穿精又带淫゛_ 提交于 2020-08-09 20:41:28
一、概述 Elasticsearch是一个开源搜索引擎,以易用性着称。kibana是一个图形界面,可以在上面条件检索存储在 ElasticSearch 里数据,相当于提供了 ES 的可视化操作管理器。 fluentd fluentd是一个针对日志的收集、处理、转发系统。通过丰富的插件系统,可以收集来自于各种系统或应用的日志,转化为用户指定的格式后,转发到用户所指定的日志存储系统之中。 fluentd 常常被拿来和Logstash比较,我们常说ELK,L就是这个agent。fluentd 是随着Docker,GCP 和es一起流行起来的agent。 这篇文章里概括一下的话,有以下区别: fluentd 比 logstash 更省资源; 更轻量级的 fluent-bid 对应 filebeat,作为部署在结点上的日志收集器; fluentd 有更多强大、开放的插件数量和社区。插件列表这一点值得多说,插件太多了,也非常灵活,规则也不复杂。 基本的架构 这里主要解决的问题是日志查询,日志来源是docker。我们使用docker部署任务时,可以使用 docker logs -f <容器id> 查看日志,也可以去 /var/lib/docker/containers/<容器id>/<容器id>-json.log 查看日志文件。但是这都很难去做查询,本文介绍的EFK就可以解决这个问题。