shipper

Logstash+ElasticSearch+Kibana处理nginx访问日志(转)

与世无争的帅哥 提交于 2020-11-18 08:41:38
ELK 似乎是当前最为流行的日志收集-存储-分析的全套解决方案. 去年年初, 公司里已经在用, 当时自己还 山寨 了一个统计系统(postgresql-echarts, 日志无结构化, json形式存储到postgresql, 构建统一前端配置生成, 调用统一查询接口, 具体细节 ), 已经过了一年有余. 一年刚好, 发生了很多事, 那套系统不知现在如何了. 在新的公司, 一切都得从0到1, 近期开始关注日志/数据上报/统计, 以及后续的数据挖掘等. 搭建, 测试并上线了一套简单的系统, 初期将所有服务器的nginx日志, 以及搜索日志进行处理. 下面主要介绍对nginx日志进行处理的过程, 不是针对 elk 的介绍, 所有涉及ip的地方都改成 127.0.0.1 了, 根据自己环境进行修改 1. nginx日志 -> logstash shipper -> redis 在 centos 使用 yum 安装 nginx 后, 默认 /etc/nginx/nginx.conf 中的日志格式定义为: log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x

abp(net core)+easyui+efcore实现仓储管理系统——出库管理之一(四十九)

假装没事ソ 提交于 2020-08-12 01:21:42
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(net core)+easyui+efcore实现仓储管理系统——定义仓储并实现 (四) abp(net core)+easyui+efcore实现仓储管理系统——创建应用服务(五) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之控制器(六) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之增删改视图(八) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九) abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十一) abp(net core)+easyui+efcore实现仓储管理系统—

Kubernetes 中的渐进式交付:蓝绿部署和金丝雀部署

徘徊边缘 提交于 2020-08-06 04:40:01
渐进式交付 是持续交付的下一步, 它将新版本部署到用户的一个子集,并在将其滚动到全部用户之前对其正确性和性能进行评估, 如果不匹配某些关键指标,则进行回滚。 这里有一些有趣的项目,使得渐进式交付在 Kubernetes 中变得更简单。 我将使用一个 Jenkins X 示例项目 对它们之中的三个进行讨论:Shipper、Istio 以及 Flagger。 Shipper shipper 是来自 booking.com 的一个项目, 它对 Kubernetes 进行了扩展,添加了复杂的部署策略和多集群编排( 文档 )。 它支持从一个集群到多个集群的部署,允许多区域部署。 Shipper 通过一个 shipperctl 命令行进行 安装 。 它增加不同集群的配置文件来进行管理。 请注意这个与 GKE 上下文相关的 问题 。 Shipper 使用 Helm 包来部署,但是它们没有随着 Helm 一起安装,它们不会在 helm list 的输出显示。 同样地,deployments 的版本必须是 apps/v1 , 否则 shipper 将不能编辑 deployment 来添加正确的标签和副本数量。 使用 shipper 部署都是与从旧版本( 现有版本 )过渡到新版本( 竞争版本 )相关。 这是通过创建一个新的 应用对象 实现的, 它定义了部署需要通过的多个阶段。例如下面 3 个步骤过程:

搭建 ELK 实时日志平台并在 Spring Boot 和 Nginx 项目中使用

我们两清 提交于 2020-01-07 01:49:54
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 了解 ELK 实时日志平台的运行原理并实践其搭建和使用 在排查线上异常的过程中,查询日志总是必不可缺的一部分。现今大多采用的微服务架构,日志被分散在不同的机器上,使得日志的查询变得异常困难。工欲善其事,必先利其器。如果此时有一个统一的实时日志分析平台,那可谓是雪中送碳,必定能够提高我们排查线上问题的效率。本文带您了解一下开源的实时日志分析平台 ELK 的搭建及使用。 ELK 简介 ELK 是一个开源的实时日志分析平台,它主要由 Elasticsearch、Logstash 和 Kiabana 三部分组成。 Logstash Logstash 主要用于收集服务器日志,它是一个开源数据收集引擎,具有实时管道功能。Logstash 可以动态地将来自不同数据源的数据统一起来,并将数据标准化到您所选择的目的地。 Logstash 收集数据的过程主要分为以下三个部分: 输入:数据(包含但不限于日志)往往都是以不同的形式、格式存储在不同的系统中,而 Logstash 支持从多种数据源中收集数据(File、Syslog、MySQL、消息中间件等等)。 过滤器:实时解析和转换数据,识别已命名的字段以构建结构,并将它们转换成通用格式。 输出:Elasticsearch 并非存储的唯一选择,Logstash 提供很多输出选择。

logstash通过kafka传输nginx日志

假装没事ソ 提交于 2019-12-05 22:58:57
logstash通过kafka传输nginx日志(三)   单个进程 logstash 可以实现对数据的读取、解析和输出处理。但是在生产环境中,从每台应用服务器运行 logstash 进程并将数据直接发送到 Elasticsearch 里,显然不是第一选择:第一,过多的客户端连接对 Elasticsearch 是一种额外的压力;第二,网络抖动会影响到 logstash 进程,进而影响生产应用;第三,运维人员未必愿意在生产服务器上部署 Java,或者让 logstash 跟业务代码争夺 Java 资源。   所以,在实际运用中,logstash 进程会被分为两个不同的角色。运行在应用服务器上的,尽量减轻运行压力,只做读取和转发,这个角色叫做 shipper;运行在独立服务器上,完成数据解析处理,负责写入 Elasticsearch 的角色,叫 indexer。   Kafka 是一个高吞吐量的分布式发布订阅日志服务,具有高可用、高性能、分布式、高扩展、持久性等特性。和Redis做轻量级消息队列不同,Kafka利用磁盘做消息队列,所以也就无所谓消息缓冲时的磁盘问题。生产环境中还是推荐使用Kafka做消息队列。此外,如果公司内部已经有 Kafka 服务在运行,logstash也可以快速接入,免去重复建设的麻烦。 一、Logstash搭建   详细搭建可以参考 Logstash安装搭建(一