ELK部署(文章有点儿长,搭建时请到官网将tar包下载好,按步骤可以完成搭建使用)

ELK指的是ElasticSearch、LogStash、Kibana三个开源工具

LogStash是负责数据的收集和过滤处理

ElasticSearch 是一个开源分布式搜索引擎,负责数据的存储、检索和分析

Kibana 是提供可视化的页面,对数据进行可视化预览

首先前提安装好java环境,java1.8

yum -y list java

yum install java-1.8.0-openjdk.x86_64

然后在官方下载ElasticSearch Kibana LogStash包

https://www.elastic.co/cn/downloads

这边用的版本elasticsearch-6.3.2 Kibana-6.3.2 LogStash-6.3.2

一、对系统参数做调整

vim /etc/security/limits.conf (修改如下内容)

* soft nofile 65536

* hard nofile 65536

* soft nproc 65536

* hard nproc 65536

vim /etc/security/limits.d/20-nproc.conf (修改如下内容)

* soft nproc  4096

root soft nproc  unlimited

vim /etc/sysctl.conf  (添加如下内容)

vm.max_map_count = 655360

fs.file-max=655360

sysctl -p 使内容生效

确保所有生效 必须重启服务器一遍 reboot

二、安装Elasticsearch

elasticsearch需要新建一个用户用来启动

useradd -d /home/els -m els

su els

mkdir -p /home/els/tools/

将tar包放置 /home/els/tools

cd /home/els/tools

tar -xzf elasticsearch-6.3.2.tar.gz

mv elasticsearch-6.3.2 /home/els/

cd /home/els/elasticsearch-6.3.2/

vim config/elasticsearch.yml(修改如下内容)

path.data: /home/els/elasticsearch-6.3.2/data    #自定义 数据存放地址

path.logs: /home/els/elasticsearch-6.3.2/logs   #自定义 日志存放地址

http.cors.enabled: true #开启跨域访问支持 默认为false

http.cors.allow-origin: "*" #跨域访问允许的域名地址,支持正则

network.host: 0.0.0.0  #任意IP可以访问

chown -R els.els /home/els/elasticsearch-6.3.2

nohup ./bin/elasticsearch &

浏览器访问 ip:9200 得到如下内容 便搭建成功

三、搭建elasticsearch_head

mkdir -p /root/ELK

cd /root/ELK

yum install git npm

git clone https://github.com/mobz/elasticsearch-head.git

cd elasticsearch-head

npm install

nohup npm run start &

然后浏览器访问ip:9100 连接你的Elasticsearch  ip:9200

四、安装Logstash

Logstash的安装同样如此,可以直接用root用户 将6.3.2的tar包解压,进入目录

Vim /你定义的目录/logstash-6.3.2/config/test.conf

input {

file{

path => [“/var/log/messages”,] #这可以是个列表 多个Log日志也是可以的

start_position => "beginning"

}

}

output{

ctdout{

codec => rubydebug #直接输出到屏幕

}

elasticsearch {

hosts => ["http://13.1.18.135:9200"]  #同时输出到elastisearch

index => "syslog-%{+YYYY.MM.dd}"

action => "index"

document_type => "test"

}

cd /你定义的目录/logstash-6.3.2/

./bin/logstash  -f config/test.conf

屏幕有输出,同时浏览器访问ip:9100,也能看到根据索引的输出信息

后期会详细说Logstash检索功能以及通过缓存中间件来传递数据接收数据

五、安装kibana

同样时将tar包解压到你的目录下

tar zxvf kibana-6.2.2-darwin-x86_64.tar.gz

cd /你的目录/kibana-6.2.2-darwin-x86_64

vim config/kibana.yml (修改如下内容)

server.host: "0.0.0.0"

elasticsearch.url: "http://localhost:9200"   #我这里使用同一台服务器 不是的话请用IP

nohup ./bin/kibana -H 0.0.0.0 &  #后台启用

浏览器访问 ip:5601

然后到左边菜单最下方Management 设置索引值

create Index Patern

输入 syslog* *匹配所有,与之前Logstash中输出output的index值

最后创建

然后到左边菜单中Discover中查看信息

左边设置当前的索引 ,右上角设置检索日期,和设置自动更新

搭建完成

接着以一个数据传递方式添加一个filebeat工具 是个轻量级的数据采集 可以直接输出到Logstash或者elasticsearch

配置同样简单

下载filebeat-6.3.2-linux-x86_64.tar.gz

解压到你的目录下 (修改下输入参数和输出参数)

vim filebeat-6.3.2-linux-x86_64/filebeat.yml

修改参数请按yml格式

可以输入多个地址

输入配置:

参数type , enabled, paths, fields(这个参数传入Logstash字段,用于判断)

输出配置:

output.logstash:

hosts: ["13.1.18.135:5022"] #表示传输到主机的5022端口负责接送数据

开启filebeat  注意-e -c顺序

./filebeat -e -c filebeat.yml

#可自行使用

#output.redis:

# hosts: ["13.1.18.135:6379"]

#  password: '123456'  #到redis.conf的 requirepass 123456 密码必须配置

#  key: "log_file" #传输的键值

#  db: 0   #0库

#  timeout: 5  #超时时间

输出配置可以有Elasticsearch,中间件缓存 redis,rabbitmq,kafka等

此时需要修改之前的Logstash中配置文件的test.conf的input

input {

beats {

port => 5022  #开启5022端口接收数据

#Filebeat传来数据

}

}

#同上的redis配置

#input {

#        redis{

#        port => '6379'

#        host => '13.1.18.135'

#        data_type => "list"

#        type => "log"

#        key => "log_file"

#        db => '0'

#        password => '123456'

#}

重启启动logstash

./bin/logstash  -f config/test.conf

当前的传输过程如下图

后期需要可以为多个filebeat用于多台服务器的日志同时采集,elastcsearch也可以设置为多个节点

下篇文章关于logstash的检索配置

ELK搭建(filebeat、elasticsearch、logstash、kibana)的更多相关文章

  1. ELK系列(1) - Elasticsearch + Logstash + Kibana + Log4j2快速入门与搭建用例

    前言 最近公司分了个ELK相关的任务给我,在一边学习一边工作之余,总结下这些天来的学习历程和踩坑记录. 首先介绍下使用ELK的项目背景:在项目的数据库里有个表用来存储消息队列的消费日志,这些日志用于开 ...

  2. ELK (Elasticsearch , Logstash, Kibana [+FileBeat])

    ELK 简述: ELK 是: Elasticsearch , Logstash, Kibana 简称, 它们都是开源软件. Elasticsearch[搜索]是个开源分布式基于Lucene的搜索引擎, ...

  3. ELK日志系统:Elasticsearch+Logstash+Kibana+Filebeat搭建教程

    ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程 系统架构 安装配置JDK环境 JDK安装(不能安装JRE) JDK下载地址:http://www.orac ...

  4. 【linux】【ELK】搭建Elasticsearch+Logstash+Kibana+Filebeat日志收集系统

    前言 ELK是Elasticsearch.Logstash.Kibana的简称,这三者是核心套件,但并非全部. Elasticsearch是实时全文搜索和分析引擎,提供搜集.分析.存储数据三大功能:是 ...

  5. 【转】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

    [转自]https://my.oschina.net/itblog/blog/547250 摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticS ...

  6. ELK 架构之 Elasticsearch、Kibana、Logstash 和 Filebeat 安装配置汇总(6.2.4 版本)

    相关文章: ELK 架构之 Elasticsearch 和 Kibana 安装配置 ELK 架构之 Logstash 和 Filebeat 安装配置 ELK 架构之 Logstash 和 Filebe ...

  7. 【Big Data - ELK】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

    摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticSearch,一款基于Apache Lucene的开源分布式搜索引擎)中便于查找和分析,在研究 ...

  8. ELK(elasticsearch+logstash+kibana)入门到熟练-从0开始搭建日志分析系统教程

    #此文篇幅较长,涵盖了elk从搭建到运行的知识,看此文档,你需要会点linux,还要看得懂点正则表达式,还有一个聪明的大脑,如果你没有漏掉步骤的话,还搭建不起来elk,你来打我. ELK使用elast ...

  9. 键盘侠Linux干货| ELK(Elasticsearch + Logstash + Kibana) 搭建教程

    前言 Elasticsearch + Logstash + Kibana(ELK)是一套开源的日志管理方案,分析网站的访问情况时我们一般会借助 Google / 百度 / CNZZ 等方式嵌入 JS ...

  10. 使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践--转载

    原文地址:https://wsgzao.github.io/post/elk/ 另外可以参考:https://www.digitalocean.com/community/tutorials/how- ...

随机推荐

  1. [转]收集android上开源的酷炫的交互动画和视觉效果

    原文链接:http://www.open-open.com/lib/view/open1411443332703.html 描述:收集android上开源的酷炫的交互动画和视觉效果. 1.交互篇 2. ...

  2. Edison Chou

    .NET中那些所谓的新语法之中的一个:自己主动属性.隐式类型.命名參数与自己主动初始化器 开篇:在日常的.NET开发学习中,我们往往会接触到一些较新的语法.它们相对曾经的老语法相比.做了非常多的改进, ...

  3. HDU 1285--确定比赛名次【拓扑排序 && 邻接表实现】

    确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  4. 用了一天的时间,linux下expect实现ssh自己主动登录server记,歧视下网上各种抄来抄去残段子

    由于要对客户方的快30个项目进行特别有顺序的重新启动,所以不得不想办法写个脚本,网上看了不少段子.真是残缺的能够. 没有一段是能够正常运行的.我来按顺序记录一下 脚本的本身 使用expect实现自己主 ...

  5. node09---中间件

    如果我的的get.post回调函数中,没有next参数,那么就匹配上第一个路由,就不会往下匹配了. 如果想往下匹配的话,那么需要写next() 1app.get("/",funct ...

  6. Android webView 缓存 Cache + HTML5离线功能 解决

    时间 -- :: CSDN博客 原文 http://blog.csdn.net/moubenmao/article/details/9076917 主题 Android HTML5 WebView的缓 ...

  7. 采集电脑摄像头和mic,rtp端口推送音视频工具

    介绍:这个是我在做一个rtmp播放的项目中自己写的rtp推送的工具,可选择摄像头,可选择推送rtp的端口和ip 下载地址: github:https://github.com/alexhegang/s ...

  8. SqlDependency C#代码监听数据库表的变化

    SqlDependency提供了这样一种能力:当被监测的数据库中的数据发生变化时,SqlDependency会自动触发OnChange事件来通知应用程序,从而达到让系统自动更新数据(或缓存)的目的. ...

  9. 使用Mapping实现的以太坊智能合约的代码

    Step 1: 创建一个基础合约 pragma solidity ^0.4.7; contract Coin { address public minter; mapping (address =&g ...

  10. proxy in java

    [Static] IFeature.java ImpicateF.java Runport.java StaticProxy.java IFeature.java package UProxy.sta ...