前言

ELK即分别为ElasticSearch、Logstash(收集、分析、过滤日志的工具)、Kibana(es的可视化工具),其主要工作原理就是由不同机器上的logstash收集日志后发送给es,然后由kibana展示

ElasticSeach

详情可参考ElasticSearch、ElasticSearch-head的安装和问题解决 一文

Logstash

安装

官网下载:https://www.elastic.co/cn/downloads/logstash

百度云下载:

链接:https://pan.baidu.com/s/1Ev1WZokXKFbmVLPTWD98kw
提取码:vxt9

linux:

wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.3.tar.gz
tar -zxvf logstash-6.2.3.tar.gz
cd logstash-6.2.3

简易使用

./bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'  其中 stdin{} 表示从标准输入输入信息; -e 表示从命令行指定配置;然后 codec=>rubydebug 表示把结果输出到控制台。
./bin/logstash -e 'input { stdin{} } output { stdout{} }' 标准的输入输出,logstash最基本的工作模式,你输入什么,logstash就输出什么

另外,由于Logstash占用内存较大,默认堆内存为1G,因此内存不足的情况下会很卡

Filebeat

轻量级的日志传输工具,适用于没有java环境的服务器上,收集日志后发送给logstash、elasticsearch,缓冲redis、kafka

安装

官网下载:https://www.elastic.co/cn/downloads/beats/filebeat

linux下载:

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.1-linux-x86_64.tar.gz
tar -zxvf filebeat-7.6.1-linux-x86_64
mv filebeat-7.6.1-linux-x86_64 filebeat-7.6.1
cd filebeat-7.6.1

修改filebeat.yml文件

filebeat.inputs:

# Each - is an input. Most options can be set at the input level, so
# you can use different inputs for various configurations.
# Below are the input specific configurations. - type: log # Change to true to enable this input configuration.
enabled: true # Paths that should be crawled and fetched. Glob based paths.
paths:
- /var/log/*.log
#- c:\programdata\elasticsearch\logs\*
------------------------------------------------------------

#output.elasticsearch:
# Array of hosts to connect to.
#hosts: ["localhost:9200"]


# Protocol - either `http` (default) or `https`.
#protocol: "https"


# Authentication credentials - either API key or username/password.
#api_key: "id:api_key"
#username: "elastic"
#password: "changeme"


#----------------------------- Logstash output --------------------------------
output.logstash:
# The Logstash hosts
hosts: ["192.168.184.131:5044"]

注意:logstash和elasticsearch只能设置一个,否则会报输出不唯一的错误,要先启动logstash再启动filebeat

logstash输出日志到es配置

新建文件vim logfile.conf

input {
file {
path => "/var/log/*.log" //表示扫描目录下的所有以.log结尾的文件并将扫描结果发送给es
type => "ws-log"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["192.168.184.131:9200"]
index => "system-ws-%{+YYYY.MM.dd}" //索引名为system-ws-%{+YYYY.MM.dd}
}
}

此时可以通过以下命令检测配置文件是否有误

../bin/logstash -f logfile.conf --config.test_and_exit(当前目录为logstash-6.2.3/config)

将logstash和filebeat都启动

../bin/logstash -f logfile.conf(当前目录为logstash-6.2.3/config)
./filebeat -e -c filebeat.yml -d "public" (当前目录为filebeat-7.6.1)

如果想要后台启动则可以使用

nohup ../bin/logstash -f logfile.conf &  启动日志存储在当前目录的nohup.log文件中

nohup ../bin/logstash -f logfile.conf >logstash.log & 指定日志存储文件和位置

使用脚本文件启动
vim startup.sh

#!/bin/bash
  nohup ../bin/logstash -f logfile.conf &

 编写完成以后修改文件的执行权限 chmod -R 775 startup.sh

使用./startup.sh执行脚本(在startup.sh文件的目录下)

filebeat同理

Kibana

安装

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-linux-x86_64.tar.gz (最好与elasticsearch的版本保持一致)
tar -zxvf kibana-6.2.4-linux-x86_64.tar.gz
mv kibana-6.2.4-linux-x86_64 kibana-6.2.4
cd kibana-6.2.4

修改kibana.yml

server.port: 5601

server.host: "192.168.184.131"

elasticsearch.url: "http://192.168.184.131:9200"

kibana.index: ".kibana" 

启动kibana   ./kibana(在kibana的bin目录下)

后台启动可参考Logstash启动方式

最后当配置无误,启动成功后,会有这样的效果

参考文章:

快速搭建ELK日志分析系统

logstash安装及基础入门

ELK 性能(1) — Logstash 性能及其替代方案

ELK分布式日志系统的搭建的更多相关文章

  1. ELK +Nlog 分布式日志系统的搭建 For Windows

    前言 我们为啥需要全文搜索 首先,我们来列举一下关系型数据库中的几种模糊查询 MySql : 一般情况下LIKE 模糊查询  SELECT * FROM `LhzxUsers` WHERE UserN ...

  2. 使用Logstash工具导入sqlserver数据到elasticSearch及elk分布式日志中心

    首先记下这个笔记,Logstash工具导入sqlserver数据到elasticSearch. 因为logstash使用java写的,我本地开发是win11,所以javade jdk必须要安装.具体安 ...

  3. .NET下日志系统的搭建——log4net+kafka+elk

    .NET下日志系统的搭建--log4net+kafka+elk 前言     我们公司的程序日志之前都是采用log4net记录文件日志的方式(有关log4net的简单使用可以看我另一篇博客),但是随着 ...

  4. ELK分布式日志收集搭建和使用

    大型系统分布式日志采集系统ELK全框架 SpringBootSecurity1.传统系统日志收集的问题2.Logstash操作工作原理3.分布式日志收集ELK原理4.Elasticsearch+Log ...

  5. 【7.1.1】ELK日志系统单体搭建

    ELK是什么? 一般来说,为了提高服务可用性,服务器需要部署多个实例,每个实例都是负载均衡转发的后的,如果还用老办法登录服务器去tail -f xxx.log,有很大可能错误日志未出现在当前服务器中, ...

  6. .NetCore快速搭建ELK分布式日志中心

    懒人必备:.NetCore快速搭建ELK分布式日志中心   该篇内容由个人博客点击跳转同步更新!转载请注明出处! 前言 ELK是什么 它是一个分布式日志解决方案,是Logstash.Elastaics ...

  7. C#采用rabbitMQ搭建分布式日志系统

    网上对于java有很多开源的组件可以搭建分布式日志系统,我参考一些组件自己开发一套简单的分布式日志系 全部使用采用.NET进行开发,所用技术:MVC.EF.RabbitMq.MySql.Autofac ...

  8. Spring Cloud 5分钟搭建教程(附上一个分布式日志系统项目作为参考) - 推荐

    http://blog.csdn.net/lc0817/article/details/53266212/ https://github.com/leoChaoGlut/log-sys 上面是我基于S ...

  9. ELK统一日志系统的应用

    收集和分析日志是应用开发中至关重要的一环,互联网大规模.分布式的特性决定了日志的源头越来越分散, 产生的速度越来越快,传统的手段和工具显得日益力不从心.在规模化场景下,grep.awk 无法快速发挥作 ...

  10. Ansible实战:部署分布式日志系统

    本节内容: 背景 分布式日志系统架构图 创建和使用roles JDK 7 role JDK 8 role Zookeeper role Kafka role Elasticsearch role My ...

随机推荐

  1. Flutter2.X学习之路--调试页面布局好用的办法

    Flutter里有个很好用的东西,可以方便我们来进行页面组件的布局调试,话不多说,上代码 1.找到main.dart引入rendering.dart import 'package:flutter/r ...

  2. 华为云发布冷启动加速解决方案:助力Serverless计算速度提升90%+

    摘要:本文介绍了华为云对冷启动优化这一业界难题的探索之路,创新提出了基于进程级快照的优化方案. 作者信息-- 子游:华为元戎高级工程师 平山:华为云中间件 Serverless 负责人 琪君:华为元戎 ...

  3. 【Regex】判断密码强度的正则表达式

    原文地址 https://www.cnblogs.com/younShieh/p/17082522.html 如果本文对你有所帮助,不妨点个关注和推荐呀,这是对笔者最大的支持~     需求   最近 ...

  4. Quartz.Net 官方教程 Tutorial 2/3(Listener 和 JobStore)

    Listener 调度任务的监听,当前版本支持添加调度,触发器和任务的监听,其中触发器和任务的监听支持通过监听名称进行添加(Add*ListenerMatcher方法) 监听不能对外抛出异常,需要内部 ...

  5. DevGridView表格导出自定义页脚

    在CustomSummaryCalculate 事件里 //强制初始化,如果列是动态通过数据源加载的,则绑定数据源后gridview想获取列的话,需要调用强制初始化的方法 view.GridContr ...

  6. ES的基本语法

    1 基本使用 使用kibaba来执行语句 es安装和kibaba安装:https://www.cnblogs.com/jthr/p/17075759.html 1)添加PUT 已存在会直接覆盖 PUT ...

  7. JavaScript是怎样实现继承的?

    一.是什么 继承(inheritance)是面向对象软件技术当中的一个概念. 如果一个类别B"继承自"另一个类别A,就把这个B称为"A的子类",而把A称为&qu ...

  8. pandas连接msyql报(1115, "Unknown character set: 'utf8mb4'")错误

    代码如下: 报错如下: 首先,为什么会出现这个错误: 分析如下: 随着智能手机的普及,我们开始经常使用表情符号.��更好的帮助我们进行交流.但是mysql的utf8编码只支持3字节的数据,而移动端的表 ...

  9. Hadoop 及Spark 分布式HA运行环境搭建

    作者:京东物流 秦彪 工欲善其事必先利其器,在深入学习大数据相关技术之前,先手动从0到1搭建一个属于自己的本地Hadoop和Spark运行环境,对于继续研究大数据生态圈各类技术具有重要意义.本文旨在站 ...

  10. FCoE测试重启调试记录

    环境 CPU:Phytium,S2500/64 C00 内核版本:4.19.90-25.10 网讯网卡:txgbe 共两台设备,光纤直连 复现步骤 设备A.B分别执行以下操作,即可复现 modprob ...