日志收集系统搭建-ELK

使用 ELK 收集日志 在这种情况下,ELK 为我们提供了统一的日志管理解决方案,它能很好的支持 Logback 等日志框架,使得我们可以集中的管理不同应用输出的日志信息。创建完成后,返回 Kibana 的首页,选择 Discover 选项,切换到我们新建的 logstash-* 选项下,然后选择时间段,就可以看到相应的日志信息了。在上图中应用日志框架直接将日志发送给 Logstash,然后 Logstash 将接收的日志写入 ElasticSearch 中,开发人员通过可视化的 Kibana 可以进行日志的查询和分析。 阅读详情

前言

    日志是我们分析系统运行情况、问题定位、优化分析等主要数据源头。目前,主流的业务系统都采用了分布式、微服务的形式。如果想要查看日志,就需要从不同的节点上去查看,而且对于整个业务链路也非常不清晰。因此,我们首先引入日志收集框架,将分布在各个节点的日志统一汇总到一处。方便日志查询、分析与问题定位。

    根据我们目前的技术栈,我们的服务是在spring cloud下搭建的。因而使用spring sleuth搭建日志收集是快而便捷的。个人使用spring sleuth + kafka +zipkin + mysql,搭建起一个系统间的trace日志追踪系统。该套框架的优势在于,使用简单(只要引入自己封装好的starter,指定kafka及zookeeper地址即可)。spring sleuth会自动拦截http请求,并分配统一trace id来追踪这一次的请求全链路。最后,通过zipkin的可视化页面,我们能非常方便的看出一次请求的整个链路,而且能直观的看出各个系统的耗时,对于性能分析比较有帮助。但是,相较于本文要说的ELK日志系统而言,spring sleuth还是有几个明显的缺点的:

    1. spring sleuth只会获取过滤到的http请求信息,对于收集系统打印的业务日志信息较麻烦,可定制化相较于ELK太差。(这也是选择ELK的主要原因)

    2. spring sleuth的日志生成、收集、生产、消费,都共同消耗服务资源。

    反观ELK,有两种选择,即可以嵌入到系统(使用log4j的socket发送日志到ELK),也可以独立存在(logstash直接读取日志文件)。而且,对于日志文件中内容的获取,有更灵活的配置(基于logstash的filter插件)。So, it's ELK!

    最后再说一点,说了这么多,应该都知道ELK指的是elasticsearch+logstash+kibana。对于logstash,如果你的server所在的机器上,资源比较紧张,那么可以选择elastic家族中的Filebeat来做server日志的收集工作。这也正是官方所推荐的(The Filebeat client is a lightweight, resource-friendly tool that collects logs from files on the server and forwards these logs to your Logstash instance for processing. Filebeat is designed for reliability and low latency. Filebeat has a light resource footprint on the host machine, and the Beats input plugin minimizes the resource demands on the Logstash instance.)。我们日志系统的搭建也是使用了Filebeat来收集日志,统一汇总到日志系统的logstash,然后再由logstash将日志信息推送到elasticsearch。在此,暂且叫BELK。用一个图来形象的表述一下关系:

1. 环境准备

    首先,我们需要准备日志系统需要的环境。

    1. JRE需要1.8+。

    2. ES等需要创建文件限制提升到65536+;虚拟内存区域最大数量262144+。

bash
vi  /etc/security/limits .conf
# 添加下面内容
test  - nofile 65536   # test为操作账号
vi  /etc/sysctl .conf
# 添加下面内容
vm.max_map_count=262144
# 保存并生效
sysctl -p

2. 安装elasticsearch

    1. 到官网下载压缩包。本例使用的是6.2.2版本。elasticsearch-6.2.2.zip。

    2. 解压:unzip elasticsearch-6.2.2.zip -d /sinochem/software/elasticsearch-6.2.2

    3. 配置文件修改。配置文件在解压目录中的./config下的elasticsearch.yml文件。需要我们修改的项为:

         

elasticsearch.yml
cluster.name: es-application # 集群名字
 
node.name: node-1 # 当前节点名字
 
path.data: /sinochem/software/elasticsearch-6.2.2/data # es数据存放路径
 
path.logs: /sinochem/software/elasticsearch-6.2.2/logs # es日志路径
 
network.host: 10.144.132.70 # 当前节点IP地址
 
http.port: 9200 # 监听端口号

 

    4. 启动服务。nohup ./bin/elasticsearch >/dev/null & 

    注:目前ES只是单机模式,后续升级支持集群模式。

3. 安装Kibana    

    1. 到官网下载压缩包。本例使用的是6.2.2版本。kibana-6.2.2-linux-x86_64.tar.gz。

    2. 解压:tar -zxvf kibana-6.2.2-linux-x86_64.tar.gz

    3. 配置文件修改。配置文件在解压目录中的./config下的kibana.yml文件。需要我们修改的项为:

         

kibana.yml
server.port: 5601 # 服务端口
 
server.host: "10.144.132.70" # 服务IP地址
 
kibana.index: ".kibana" # kibana在es中的索引

 

    4. 启动服务。nohup ./bin/kibana >/dev/null &

4. 安装Logstash

    1. 到官网下载压缩包。本例使用的是6.2.2版本。logstash-6.2.2.tar.gz。

    2. 解压:tar -zxvf logstash-6.2.2.tar.gz

    3. 配置文件修改。配置文件在解压目录中的./config下新增日志配置文件logstash.conf。文件内容为:

         

logstash.conf
input {
     # beat插件,监听5044端口
     beats {
         port => "5044"
     }
}
filter {
     grok {
         match => [ "message", "%{COMBINEDAPACHELOG}" ]
     }
     date {
         match => [ "timestamp", "yyyy-MM-dd HH:mm:ss.SSS" ]
     }
}
output {
     # 日志输出到ES
     elasticsearch {
         hosts => ["10.144.132.70:9200"]
         index => "logstash-%{+YYYY.MM.dd}"
     }
}

 

    4. 启动服务。nohup ./bin/logstash -f config/logstash.conf --config.reload.automatic >/dev/null &

5. 安装Filebeat

    以上几个都是安装在ELK系统体系下的,Filebeat需要安装到各个服务所在机器上。Filebeat使用的是6.3.0版本,使用该版本是为了使用其中的processors。当然以上也可以使用6.3.X版本。

    1. 到官网下载压缩包。filebeat-6.3.0-linux-x86_64.tar.gz。

    2. 解压:tar -zxvf filebeat-6.3.0-linux-x86_64.tar.gz

    3. 配置文件修改。配置文件在解压目录中的./config下的filebeat.yml文件。简单配置如下:

filebeat.yml
filebeat.inputs:
# 用户自定义部分 start
- type: log
   paths:
     # 日志文件
     - /sinochem/app/cooperation/monitor-gateway/logs/*-info.log
   exclude_lines: ['^DBG']
   fields:
     # 服务名称
     app_name: monitor-gateway
   fields_under_root: true
 
- type: log
   paths:
     - /sinochem/app/cooperation/monitor-admin-service/logs/*-info.log
   exclude_lines: ['^DBG']
   fields:
     app_name: monitor-admin-service
   fields_under_root: true
# 用户自定义部分 end
 
output.logstash:
   hosts: ["10.144.132.70:5044"]
 
fields:
   # 需要用户设置环境变量,或者直接将本机IP替换变量
   ip_address: "${IP_ADDRESS:UNKNOWN}"
fields_under_root: true
 
processors:
- drop_fields:
   fields: ["host"]
# - add_host_metadata: ~
# - decode_json_fields:
#      fields: ["host"]
 
filebeat.shutdown_timeout: 5s

 

    4. 启动服务。nohup ./bin/filebeat -e -c config/filebeat.yml -d publish >/dev/null &

后记

    至此,基础版本的BELK系统已经搭建完成。我们可以在浏览器中输入:http://11111:5601/ 访问ES的可视化界面。如下图所示,日志信息已经汇总到了ES中。

    目前版本只是雏形,其中还有一些功能需要完善。例如:ES集群的搭建、ES索引、ES历史数据的处理等。ELK搭建也是初次接触,存在使用与认知错误是不可避免的,在此欢迎各位童鞋当面或留言指正,以上。

 

ELK统一日志收集系统搭建 安装软件 分别安装 elasticsearch、logstash、kibana、filebeat elasticsearch https://www.elastic.co/cn/downloads/elasticsearch logstash https://www.elastic.co/cn/downloads/logstash kibana https://www.elastic.co/cn/downloads/kibana filebeat https://www.elastic.co/cn/dow 阅读详情

相关推荐

从零搭建一个基于 ELK 的日志、指标收集与监控系统

在需要私有化部署的系统中,大部分系统仅提供系统本身的业务功能,例如用户管理、财务管理、客户管理等。但是系统本身仍然需要进行日志的采集、应用指标的收集,例如请求速率、主机磁盘、内存使用量的收集等。同时方便的分布式系统日志的查看、指标的监控和告警也是系统稳定运行的一个重要保证。 为了使得私有化部署的系统能更健壮,同时不增加额外的部署运维工作量,本文提出了一种基于 ELK 的开箱即用的日志和指标收集方案。 背景 在当前的项目中,我们已经使用了 Elasticsearch 作为业务的数据储存,同时利用 ans

JAVA一木的博客 423

模拟搭建日志收集系统

Hadoop-模拟搭建日志收集系统 一、技术点梳理 二、任务 2.1 调通单机版的thrift,python版本 2.1.1 安装thrift Hadoop-模拟搭建日志收集系统 一、技术点梳理 二、任务 当前环境: python:python2.7 java:1.8.0_171 操作系统:centos7 2.1 调通单机版的thrift,python版本 ...

weixin_31351409的博客 766

Windows系统搭建ELK日志收集(详细版)

ELK(Elasticsearch, Logstash, Kibana)是一个强大的开源数据分析和可视化平台,主要用于日志数据的收集、存储、分析和可视化。ELK在日志管理、监控、分析和故障排查等方面有广泛的应用。

qq_45873770的博客 2664

Hadoop-模拟搭建日志收集系统

一. 技术点梳理Nginx:其实一个web server,此流程中做反向代理,起到分发用户请求的作用,在集群环境时,也可以用它实现负载均衡;Spawn cgi:提供一个cgi网关接口,可以将server服务,快速的暴露出去以便对外提供服务,对外提供的服务走fcgi协议,fcgi协议是一种特殊的http请求,而http请求安全性相对差一些,因为容易受到外部的攻击;Thrift RPC: 通过执行th...

夏一的博客 5512

数据结构实验1 集合的交、并、差

姓名:Far_Rainbow 学号: 202505000X 专业: 软件工程 年级:2020级 实验名称:实验1 集合的交、并、差 实验内容: (1)实验目的 通过该实验,让学生复习巩固C语言中的循环结构、循环控制条件、分支结构和数组/链表、函数的调用等有关内容,体会到用数组存储集合时,需要记录集合元素的个数,否则输出结果会出现数据越界现象。 (2)实验内容 通过键盘,分别输入两个数据元素类型为正整数的集合A和B,以负数输入为结束条件,输出两个集合的交、并、差。 (3)实验要求 从程序完善性上考虑,集合元

Far_Rainbow的博客 2176

遗传算法解整数规划IntCon

x = ga(fun,nvars,A,b,[],[],lb,ub,nonlcon,IntCon) IntCon就是代表整数的参量,描述的是哪几个自变量是0-1整数变量。比如navrs设置有4个变量,设置IntCon为[2 3],代表第2和第3个变量是整数。 再比如设置IntCon=2:2:nvars,代表偶数项的变量是整数。 值得注意的是一旦设置了非空的IntCon,则Aeqandbeqmust be an empty entry ([]), andnonlconmust re...

jianti9962的博客 9219

Filebeat零基础入门:5分钟搭建日志收集系统

Filebeat是Elastic Stack中的轻量级日志采集器,相比Logstash占用资源更少,配置也更简单。上完成的,它的在线环境特别适合快速尝试各种配置,还能一键部署测试服务,省去了本地搭建环境的麻烦。对于想要学习Filebeat的新手来说,真的是个不错的起点。今天就把我的学习过程整理成笔记,用最简单的步骤带你快速上手。这里给出一个最简单的配置示例:监控/var/log下的日志,输出到控制台。希望这篇入门指南能帮你快速上手Filebeat。如果一切正常,你就能在控制台看到实时输出的日志内容了。

BlackStone33的博客 820

ubuntu通过qemu安装银河麒麟V10_Arm_v8 (kylin_v10_飞腾/鲲鹏版)

一、windows下安装vmware虚拟机 二、ubuntu下载地址 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04/ubuntu-20.04.3-live-server-amd64.iso 三、vmware中新建虚拟机,并使用ubuntu-20.04.3-live-server-amd64.iso作为启用盘 。。。在虚拟机中安装ubuntu(略) 四、配置ssh(如果ssh登录不上时配置) 修改openssh的配置 vi /etc/s

u010533742的博客 8703

ELK日志收集

搭建ELK ELK是由elasticsearch、logstash、kibana三个开源软件组成的一个组合体,ELK是elastic公司公司研发的一套完整的日志收集、分析和展示的企业级解决方案,在这三个软件当中,每个软件用于完成不同的功能,官方域名为elastic.io,ELK stack的主要优点: 处理方式灵活:elasticsearch是实时全文索引,具有强大的搜索功能 配置相当简单:elasticsearch的API全部使用JSON接口,logstash使用模块配置,kibana的配置文件部分

u010864567的博客 5479

Uniapp-APP后台保活插件(安卓后台保活)

Uniapp-APP后台保活插件(安卓后台保活)亲测有效!

weixin_57844432的博客 1万+

搞定汽车座椅电机EMC超标:一个PCB滤波板的实战设计与避坑心得

本文详细介绍了汽车座椅电机EMC超标问题的解决方案,通过PCB滤波板的实战设计,解决了传导发射测试超标问题。文章分享了在空间受限条件下的滤波电路架构设计、接地系统优化及迭代验证过程,为汽车直流电机的EMC整改提供了实用方法论。

weixin_30336061的博客 377

用ELK搭建简单的日志收集分析系统

缘起在微服务开发过程中,一般都会利用多台服务器做分布式部署,如何能够把分散在各个服务器中的日志归集起来做分析处理,是一个微服务服务需要考虑的一个因素。搭建一个日志系统搭建一个日志系统需要考虑一下一些因素: 利用什么技术,是自己实现还利用现成的组件 日志需要定义统一的格式 日志需要拥有一个锚点来进行全局跟踪 第一个问题,针对我们小公司来说,基本没有自己的研发能力,绝对是选用第三方开源的组件了。ELK配

lzw_2006的专栏 3万+

SAP ERP与金蝶云星空的集成案例(新能源光伏行业)

通过建设PLM、SAP、MES、WMS、SCADA、EAM等多系统集成的工业互联网平台作为数字化工厂的控制中枢,不仅可以实现人员、设备、物料、工艺参数、产品等生产全流程追溯管理,同时也可以根据数据采集进行生产现场的控制调节,最大程度降低能耗水平。销售订单创建下推金蝶采购订单创建修改、销售订单创建下推金蝶销售订单创建修改、销售发货过账下推金蝶采购入库单、销售发货过账下推金蝶销售出库单:在SAP ERP系统创建销售订单、销售发货过账单后推送到云星空系统,进行采购/销售订单的创建修改、完成物料的入库和出库流程。

集信通 1615

从0开始搭建ELK日志收集系统

更改elasticsearch-5.6.16文件夹及内部文件的所属用户及组为elsearch:elsearch。添加配置文件如下,根据nginx和ongodb的路径创建配置。注意,低版本无法修改为中文,只能使用插件修改为中文。创建elsearch用户组及elsearch用户。使用刚才创建的配置文件启动logstash。使用es-head插件查看是否成功。见上方已经创建了两个索引,成功。若启动报错,则需要修改内核配置。cd命令进入bin目录,进入配置文件修改配置。创建用户及其数据目录。

wang20010104的博客 1527

Vue - 解决 Property or method “__v_isRef“ is not defined on the instance but referenced(浏览器控制台报错,代码没错)

vue,vue2控制台报错,vue报错Propertyormethod"__v_isRef"isnotdefinedontheinstancebutreferenced,vue代码没问题,但是报错Propertyormethod"__v_isRef"isnotdefinedontheinstancebutreferenced,vue2如何解决报错,vue怎么解决报错问题,vue2Propertyormethod"__v_isRef"isnotdefi

🏆 前端领域优质创作者 4499

小龙虾们的好伙伴专栏导航

本文系统解析了OpenClaw技术架构,包括Channel层和网关层的设计实现,并与AgentSkills等技术方案进行对比。同时提供了OpenClaw的系列实用指南,涵盖小龙虾培养、客户资源管理、系统自动化巡检以及技术趋势助手构建等应用场景,帮助用户从零成本入门到高效落地应用,实现业务全流程自动化管理。

wend的博客 209

ELK分布式日志收集系统的搭建

ELK分布式日志收集系统的搭建 filebeat+logstash+elasticsearch+kibana搭建一个分布式的日志收集系统

yanziyu0721730的博客 2万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

企业级日志管理:SpringBoot+ELK日志收集系统搭建指南

在企业级应用开发中,日志管理是至关重要的一环。有效的日志管理能够帮助开发人员和运维人员快速定位问题、监控系统运行状态以及进行性能分析。Spring Boot 作为一款流行的 Java 开发框架,结合 ELK(Elasticsearch + Logstash + Kibana)堆栈,可以构建一个强大的企业级日志收集系统。本文将详细介绍如何搭建基于 Spring Boot 和 ELK 的日志收集系统。

梵心白莲的博客 972

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

ELK+Kafka搭建分布式日志收集系统

一、传统日志收集的弊端 二、ELK收集系统过程 三、搭建系统 四、代码

weixin_39555954的博客 2228

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Kubesphere上搭建ELK日志收集系统

版本:elasticsearch:7.14.01)创建挂载文件2)开放端口,设置环境变量3)挂载配置。

我的博客 1156

记:搭建一套ELK日志收集系统实践

确保 Logstash 和 Elasticsearch 服务正在运行,并监听相应的端口(例如,5044 和 9200),以使这个配置文件正常工作。Output部分:该部分定义了输出插件,指定Logstash应该将接收到的数据发送到哪个目标。:在你的配置中,过滤器部分是空的。这里使用了Logstash的动态索引命名,基于数据的 metadata信息和日期来生成索引名称。path.config:指定es和logstash连接的配置文件,就是新建的logstash.conf文件的绝对路径。

qq_67095878的博客 1515

ELK日志收集系统搭建

ELK日志收集系统搭建

weixin_42492256的博客 1027

使用ELK搭建日志收集和分析系统

总之,使用ELK搭建日志收集和分析系统可以帮助企业和组织更好地管理和分析日志数据,识别问题和优化系统,提高系统的性能和稳定性。同时,也可以结合其他工具和技术使用,以满足不同场景和需求的要求。配置Kibana进行数据可视化和分析。配置Logstash收集日志数据。安装Elasticsearch。扩展和优化日志收集和分析系统。安装Java运行环境。安装Logstash。

lonely_baby的博客 641

elk日志收集系统 linux_从零搭建一个基于ELK的日志、指标收集与监控系统

作者 | 陈迪 在需要私有化部署的系统中,大部分系统仅提供系统本身的业务功能,例如用户管理、财务管理、客户管理等。但是系统本身仍然需要进行日志的采集、应用指标的收集,例如请求速率、主机磁盘、内存使用量的收集等。同时方便的分布式系统日志的查看、指标的监控和告警也是系统稳定运行的一个重要保证。为了使得私有化部署的系统能更健壮,同时不增加额外的部署运维工作量,本文提出了一...

weixin_33413839的博客 155

centos7上单节点elk7.10日志收集系统搭建

1. 准备工作 安装jdk8以上版本 2. 安装elesticsearch7.10 2.1 修改系统参数vi /etc/security/limits.conf 末尾添加如下参数: * soft nofile 65536 * hard nofile 131072 * soft nproc 4096 * hard nproc 4096 2.2 修改系统参数 vi /etc/sysctl.conf vm.max_map_count=262144 2.3配置重新生效 sysctl -p ...

zw1987zw的博客 1375

ELK日志收集原理+es集群+elk搭建+本地目录文件读取,搭建分布式日志收集系统

ELK分布式日志收集系统介绍 1.ElasticSearch是一个基于Lucene的开源分布式搜索服务器。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行...

黎明大大的博客 891
上一篇: 分布式之redis复习精讲
下一篇: 仅需3分钟,你就能明白Kafka的工作原理
mengfch
博客等级 码龄20年 6粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值