loki

聊聊promtail的Client

点点圈 提交于 2021-01-21 00:23:18
序 本文主要研究一下promtail的Client Client loki/pkg/promtail/client/client.go // Client pushes entries to Loki and can be stopped type Client interface { api.EntryHandler // Stop goroutine sending batch of entries. Stop() } Client接口内嵌了api.EntryHandler接口,定义了Stop方法 EntryHandler loki/pkg/promtail/api/types.go // EntryHandler is something that can "handle" entries. type EntryHandler interface { Handle(labels model.LabelSet, time time.Time, entry string) error } EntryHandler接口定义了Handle方法 client loki/pkg/promtail/client/client.go // Client for pushing logs in snappy-compressed protos over HTTP. type client

sshAutoLogin | ssh管理工具

眉间皱痕 提交于 2021-01-12 10:29:12
sshAutoLogin It can make your ssh login simply as well as efficiently on Mac or Linux. we are frequently using ssh login remote server by terminal. We will find a headache that is often entering a repetitive command line. Fuck~ it’s a waste of time!Maybe you cloud write configure of alias on profile. enenen~ Finally, I determined to write a time-saving shell.Beginning with university stage. 它有什么特点或好处呢 扩展性、配置化 自动交互登录 支持密码以及秘钥文件 支持Mac以及Linux 时间是生命呐 使用 查看帮助信息 ➜ ~ ssha -h usege: ssha [-h] [-l] [-s <server alias>] 查看配置的服务器信息列表 ➜ ~ ssha -l Index Description Port Host Username Password|SecretKeyFile

日志系统新贵Loki,确实比笨重的ELK轻

纵饮孤独 提交于 2021-01-06 05:27:01
点击上方蓝色“ 程序猿DD ”,选择“设为星标” 回复“ 资源 ”获取独家整理的学习资料! 作者 | linkt1234 来源 | https://blog.csdn.net/Linkthaha/article/details/100575278 最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的背景。 背景和动机 当我们的容器云运行的应用或者某个节点出现问题了,解决思路应该如下: 我们的监控使用的是基于prometheus体系进行改造的,prometheus中比较重要的是metric和alert,metric是来说明当前或者历史达到了某个值,alert设置metric达到某个特定的基数触发了告警,但是这些信息明显是不够的。我们都知道,k8s的基本单位是pod,pod把日志输出到stdout和stderr,平时有什么问题我们通常在界面或者通过命令查看相关的日志,举个例子:当我们的某个pod的内存变得很大,触发了我们的alert,这个时候管理员,去页面查询确认是哪个pod有问题,然后要确认pod内存变大的原因,我们还需要去查询pod的日志,如果没有日志系统,那么我们就需要到页面或者使用命令进行查询了: 如果,这个时候应用突然挂了

Kubernetes生产环境最佳实践

蓝咒 提交于 2020-12-31 04:33:20
众所周知,Kubernetes很难! 以下是在生产中使用它应遵循的一些最佳实践。遵循这些步骤能够确保更高的安全性和生产效率。 毫无疑问,DevOps已经走过了一段很长的路! 借助于Kubernetes编排平台使得公司比以往更快地发布软件。随着容器用于构建和发布软件的使用量不断增加,Kubernetes已经成为事实上的容器编排工具标准,在软件企业中非常受欢迎。 Kubernetes具有优秀的特性,比如:支持可扩展、零停机部署、服务发现、自动重启和回滚功能等。要大规模管理容器部署,Kubernetes是必须的。它支持灵活地分配资源和工作负载。毫无疑问,生产环境中的Kubernetes是一个很好的解决方案,但需要花费一些时间来设置和熟悉这个工具。由于现在许多公司都希望在生产中使用Kubernetes,因此有必要考虑一些最佳实践。在本文中,我们将讨论一些Kubernetes的最佳实践。 生产环境中的Kubernetes Kubernetes是一个复杂并且学习曲线陡峭的编排工具,但它具有丰富的功能。生产操作应尽可能小心谨慎处理。如果您面临内部人才短缺的问题,您可以将其外包给PaaS供应商,为您提供所有最佳实践。但假设您在生产中独自管理Kubernetes。在这种情况下,关注最佳实践是非常重要的,特别是关于可观察性、日志记录、集群监控和安全配置。 我们很多人都知道

C++应用程序性能优化(七)——内存池技术

冷暖自知 提交于 2020-12-12 13:45:31
C++应用程序性能优化(七)——内存池技术 一、内存池简介 1、C++内存池简介 内存池(Memory Pool)是一种内存分配方式,是在真正使用内存前,先申请分配一定数量的、大小相等(一般情况下)的内存块留作备用。当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继续申请新的内存。 通用内存分配和释放的缺点如下: (1)使用malloc/new申请分配堆内存时系统需要根据最先匹配、最优匹配或其它算法在内存空闲块表中查找一块空闲内存;使用free/delete释放堆内存时,系统可能需要合并空闲内存块,因此会产生额外开销。 (2)频繁使用时会产生大量内存碎片,从而降低程序运行效率。 (3)造成内存泄漏。 内存池(Memory Pool)是代替直接调用malloc/free、new/delete进行内存管理的常用方法,当申请内存空间时,会从内存池中查找合适的内存块,而不是直接向操作系统申请。 内存池技术的优点如下: (1)堆内存碎片很少。 (2)内存申请/释放比malloc/new方式快。 (3)检查任何一个指针是否在内存池中。 (4)写一个堆转储(Heap-Dump)到硬盘。 (5)内存泄漏检测(memory-leak detection),当没有释放分配的内存时,内存池(Memory Pool)会抛出一个断言(assertion)。

搭建Loki、Promtail、Grafana轻量级日志系统(centos7)

落爺英雄遲暮 提交于 2020-11-13 21:54:43
需求 公司项目采用微服务的架构,服务很多,每个服务都有自己的日志,分别存放在不同的服务器上。当查找日志时需要分别登录不同的服务器,有大量的请求的情况下,在日志文件中查找信息十分困难。想要搭建一个日志系统,ELK分布式日志系统对于中小型公司来说开发维护成本太高,经过调研,选择Loki轻量级日志系统。 Loki简介 Loki 是一个水平可扩展,高可用性,多租户日志聚合系统,灵感来自 Prometheus ,其设计非常经济高效,易于操作。它不索引日志的内容,而是为每个日志流设置一组标签。 Loki与其他日志聚合系统差别: 不对日志进行全文本索引。通过存储压缩的,非结构化的日志以及仅索引元数据,Loki更加易于操作且运行成本更低。 使用与Prometheus相同的标签对日志流进行索引和分组,从而使您能够使用与Prometheus相同的标签在指标和日志之间无缝切换。 特别适合存储Kubernetes Pod日志。诸如Pod标签之类的元数据会自动被抓取并建立索引。 在Grafana中原生支持(需要Grafana v6.0及以上)。 Loki的日志系统的组件: Promtail是代理,负责收集日志并将其发送给Loki。 Loki是主服务器,负责存储日志和处理查询。 Grafana用于查询和显示日志。 搭建步骤 本文采用的搭建方式是分别下载各个组件并安装。也可以参考官方的文档进行搭建安装。

听说,你的Loki还是单体?(下篇)

自作多情 提交于 2020-10-28 08:18:28
正文共729字 预计阅读时间:2分钟😂 相信大家看过 《听说,你的Loki还是单体?(上篇)》 之后对Loki的分布式架构有了一定的认识 ,那么本篇主要就是对上篇内容的实践。小白主要提供 docker-compose 和 helm 两种方式将部署Loki集群的Demo版本。 在正式部署之前,我们还是先来看下Loki整体架构如下图: 我们本次部署清单里面主要涉及到的组件如下: 组件 副本数 说明 Cassandra 1 Loki Index存储 Minio 1 Loki S3存储 Consul 1 Loki 组件状态和哈希环存储 Redis 1 Loki 缓存 Gateway 2 Loki 网关 Distributor 3 Loki 组件 Ingester 3 Loki 组件 Querier 3 Loki 组件 Query-Frontend 2 Loki 组件 Table-Manager 1 Loki 组件 下载部署代码 $ git clone https://github.com/CloudXiaobai/loki-cluster-deploy.git 声明:以下部署均适用于demo环境,大家切勿直接用于生产环境 对于生产环境,请务必先解决Cassandra和Consul服务的高可用 通过docker-compose部署 启动服务 $ cd loki-cluster-deploy

用了日志系统新贵 Loki,ELK突然不香了!

痞子三分冷 提交于 2020-10-25 11:00:25
本文来源: http://blog.csdn.net/Linkthaha/article/details/100575651 最近,在对公司容器云的日志方案进行设计时,发现主流的 ELK 或者 EFK 比较重,再加上现阶段对于 ES 复杂的搜索功能很多都用不上,最终选择了 Grafana 开源的 Loki 日志系统,下面介绍下 Loki 的背景。 背景和动机 当我们的容器云运行的应用或者某个节点出现问题了,解决思路应该如下: 我们的监控使用的是基于 Prometheus 体系进行改造的,Prometheus 中比较重要的是 Metric 和 Alert。 Metric 是来说明当前或者历史达到了某个值,Alert 设置 Metric 达到某个特定的基数触发了告警,但是这些信息明显是不够的。 我们都知道,Kubernetes 的基本单位是 Pod,Pod 把日志输出到 stdout 和 stderr,平时有什么问题我们通常在界面或者通过命令查看相关的日志。 举个例子: 当我们的某个 Pod 的内存变得很大,触发了我们的 Alert,这个时候管理员,去页面查询确认是哪个 Pod 有问题,然后要确认 Pod 内存变大的原因。 我们还需要去查询 Pod 的日志,如果没有日志系统,那么我们就需要到页面或者使用命令进行查询了: 如果,这个时候应用突然挂了,这个时候我们就无法查到相关的日志了

两天被打脸!还在用笨重的ELK?日志系统新贵Loki 杀到

喜欢而已 提交于 2020-08-20 01:34:08
正文 前两天,没错确实就是前两天,7.4号我发了一篇:老大要我搭建一个TB级的日志监控系统,听说 ELK 不错,大家看完纷纷点赞,但是今天我就来打脸了,打自己脸。没错,今天推荐下:日志系统新贵Loki 。 在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的背景。 背景和动机 当我们的容器云运行的应用或者某个节点出现问题了,解决思路应该如下: 我们的监控使用的是基于prometheus体系进行改造的,prometheus中比较重要的是metric和alert,metric是来说明当前或者历史达到了某个值,alert设置metric达到某个特定的基数触发了告警,但是这些信息明显是不够的。我们都知道,k8s的基本单位是pod,pod把日志输出到stdout和stderr,平时有什么问题我们通常在界面或者通过命令查看相关的日志,举个例子:当我们的某个pod的内存变得很大,触发了我们的alert,这个时候管理员,去页面查询确认是哪个pod有问题,然后要确认pod内存变大的原因,我们还需要去查询pod的日志,如果没有日志系统,那么我们就需要到页面或者使用命令进行查询了: 如果,这个时候应用突然挂了,这个时候我们就无法查到相关的日志了,所以需要引入日志系统

Apache Dubbo 被曝出“高危”远程代码执行漏洞

自古美人都是妖i 提交于 2020-08-11 07:44:35
击上方“朱小厮的博客”,选择“ 设为星标” 后台回复" 加群 ",加入组织 来源:22j.co/brUT 0x01 漏洞背景 2020年06月23日, 360CERT监测发现 Apache Dubbo 官方 发布了 Apache Dubbo 远程代码执行 的风险通告,该漏洞编号为 CVE-2020-1948,漏洞等级:高危。 Apache Dubbo 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 Apache Dubbo Provider 存在 反序列化漏洞,攻击者可以通过RPC请求发送无法识别的服务名称或方法名称以及一些恶意参数有效载荷,当恶意参数被反序列化时,可以造成远程代码执行。 该漏洞的相关技术细节已公开。 对此,360CERT建议广大用户及时安装最新补丁,做好资产自查以及预防工作,以免遭受黑客攻击。 0x02 风险等级 360CERT对该漏洞的评定结果如下: 威胁等级:高危 影响面:广泛 0x03 漏洞详情 Apache Dubbo Provider 存在 反序列化漏洞,攻击者可以通过RPC请求发送无法识别的服务名称或方法名称以及一些恶意参数有效载荷,当恶意参数被反序列化时,可以造成远程代码执行。 0x04 影响版本 Dubbo 2.7.0 – 2.7.6 Dubbo 2.6.0