ELK日志分析平台.1-搭建

2017-12-28 | admin
一、简介
1、核心组成
    ELK由Elasticsearch、LogstashKibana三部分组件组成;
    Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
    Logstash是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用
    kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
2、四大组件
    Logstash: logstash server 端用来搜集日志;
    Elasticsearch: 存储各类日志;
    Kibana: web化接口用作查寻和可视化日志;
    Logstash Forwarder: logstash client端用来通过lumberjack 网络协议发送日志到logstash server;
3、ELK工作流程
    在需要收集日志的所有服务上部署logstash,作为logstash agent(logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到Redis,然后logstash indexer将日志收集在一起交给全文搜索服务ElasticSearch,可以用ElasticSearch进行自定义搜索通过Kibana 来结合自定义搜索进行页面展示。
    简单的流程示意图如下:
二、开始部署
    系统环境:CentOS 7.1
    服务器IP:172.16.16.201
    建立安装目录:/elk
    新建测试用户:useradd elk
    给予权限:chown -R elk:elk /elk
    关于ELK三者的版本问题:最好统一在同一修订版本,否则会在最后出现版本错误而不能抓取到日志数据
    如本次安装版本全部为6.1.1版本
1、安装JDK环境
    Elasticsearch、Logstash、Kibana均需要JDK1.8及以上环境,所以需要先安装JDK
    安装JDK过程略,参考笔记:JDK1.8安装笔记:http://www.chengzi520.com/?p=1512
2、安装Elasticsearch
    安装版本:elasticsearch-6.1.1
    安装目录:/elk/elasticsearch-6.1.1,安装过程略,参考笔记:elasticsearch-6.0.1安装:http://www.chengzi520.com/?p=1519
3、安装Logstash
    安装版本:logstash-6.1.1
    安装目录:/elk/logstash-6.1.1
 
 
 
 

Python

 
1
2
3
4
5
6
7
# 下载
cd /elk
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.1.1.tar.gz
 
# 解压、进入目录
tar zxvf logstash-6.1.1.tar.gz
cd logstash-6.1.1
添加系统变量
 
 
 
 

Python

 
1
2
3
4
5
vim /etc/profile
LOGSTASH_HOME=/elk/logstash-6.1.1
export PATH=$PATH:$LOGSTASH_HOME/bin
 
source /etc/profile
logstash常用参数
    -e :指定logstash的配置信息,可以用于快速测试;
    -f :指定logstash的配置文件;可以用于生产环境;
启动Logstash测试
    测试1:通过-e参数指定logstash的配置信息,用于快速测试,直接输出到屏幕。
    logstash -e “input {stdin{}} output {stdout{}}”
 
 
 
 
 

Python

 
1
2
3
4
5
6
7
8
9
10
11
12
13
[elk@localhost ~]$ logstash -e "input {stdin{}} output {stdout{}}"
Sending Logstash's logs to /elk/logstash-6.1.1/logs which is now configured via log4j2.properties
[2017-12-28T16:05:36,161][INFO ][logstash.modules.scaffold] Initializing module {:module_name=>"netflow", :directory=>"/elk/logstash-6.1.1/modules/netflow/configuration"}
[2017-12-28T16:05:36,212][INFO ][logstash.modules.scaffold] Initializing module {:module_name=>"fb_apache", :directory=>"/elk/logstash-6.1.1/modules/fb_apache/configuration"}
[2017-12-28T16:05:37,574][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2017-12-28T16:05:39,184][INFO ][logstash.runner          ] Starting Logstash {"logstash.version"=>"6.1.1"}
[2017-12-28T16:05:40,558][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}
[2017-12-28T16:05:44,576][INFO ][logstash.pipeline        ] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>1, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>5, "pipeline.max_inflight"=>125, :thread=>"#<Thread:0x449f3ddb run>"}
[2017-12-28T16:05:44,792][INFO ][logstash.pipeline        ] Pipeline started {"pipeline.id"=>"main"}
The stdin plugin is now waiting for input:    #等待手动输入
[2017-12-28T16:05:44,968][INFO ][logstash.agent           ] Pipelines running {:count=>1, :pipelines=>["main"]}
HelloWorld    # 手动输入
2017-12-28T08:05:58.028Z localhost.localdomain HelloWorld  #这种输入直接原封不动返回
    测试2:通过-e参数指定logstash的配置信息,用于快速测试,以json格式输出到屏幕。
    logstash -e ‘input{stdin{}}output{stdout{codec=>rubydebug}}’
4、安装Kibana
    安装版本:kibana-6.1.1
    安装目录:/elk/kibana-6.1.1
 
 
 
 
 

Python

 
1
2
3
4
5
6
# 下载、解压
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.1.1-linux-x86_64.tar.gz
tar zxvf kibana-6.1.1-linux-x86_64.tar.gz
 
mv kibana-6.1.1-linux-x86_64  ./kibana-6.1.1
cd kibana-6.1.1/
修改配置文件 
 
 
 
 
 

Python

 
1
2
3
4
5
vim config/kibana.yml
 
server.port: 5601  # 端口号
server.host: "172.16.16.201"  # 本机IP
elasticsearch.url: "http://172.16.16.201:9200"  # Elasticsearch url地址
启动
通过浏览器访问
    http://172.16.16.201:5601

ELK日志分析平台.1-搭建的更多相关文章

  1. 搭建ELK日志分析平台(上)—— ELK介绍及搭建 Elasticsearch 分布式集群

    笔记内容:搭建ELK日志分析平台(上)-- ELK介绍及搭建 Elasticsearch 分布式集群笔记日期:2018-03-02 27.1 ELK介绍 27.2 ELK安装准备工作 27.3 安装e ...

  2. 浅谈ELK日志分析平台

    作者:珂珂链接:https://zhuanlan.zhihu.com/p/22104361来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 小编的话 “技术干货”系列文章 ...

  3. ELK日志分析平台

    ELK日志分析平台 ELK(1):  ELK-简介 ELK(2):  ELK-安装环境和安装包 ELK(3):  ELK-安装elasticsearch ELK(4):  ELK-安装logstash ...

  4. ELK日志分析平台系统windows环境搭建和基本使用

    ELK(ElasticSearch, Logstash, Kibana),三者组合在一起就可以搭建实时的日志分析平台啦! Logstash主要用来收集.过滤日志信息并将其存储,所以主要用来提供信息. ...

  5. 1002-谈谈ELK日志分析平台的性能优化理念

    在生产环境中,我们为了更好的服务于业务,通常会通过优化的手段来实现服务对外的性能最大化,节省系统性能开支:关注我的朋友们都知道,前段时间一直在搞ELK,同时也记录在了个人的博客篇章中,从部署到各个服务 ...

  6. elk日志分析平台安装

    ELK安装 前言 什么是ELK? 通俗来讲,ELK是由Elasticsearch.Logstash.Kibana 三个开源软件的组成的一个组合体,这三个软件当中,每个软件用于完成不同的功能,ELK 又 ...

  7. ELK日志分析平台搭建

    ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自:http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志.应 ...

  8. elk实时日志分析平台部署搭建详细实现过程

    原文:http://blog.csdn.net/mchdba/article/details/52132663 1.ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段:以下内容 ...

  9. 在Windows系统下搭建ELK日志分析平台

    简介: ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成: Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索 ...

随机推荐

  1. go 复合数据类型

    数组 数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成.因为数组的长度是固定的,因此在Go语言中很少直接使用数组. 数组声明方式: #第一种 ] int balance ...

  2. [fw]awk求和

    suse11:~ # cat tmp.lst 4096 4 4096 4 4096 2 4096 4 8192 1 8192 4 8192 4 8192 4 8192 4 8192 4 8192 4 ...

  3. 简述ArcGIS的空间连接(Spatial Join)与字段映射(Field Map)操作

    插个广告,制作ArcGIS的Tool工具学习下面的教程就对了:零基础学习Python制作ArcGIS自定义工具 牢骚一下 在使用ArcMap进行空间连接操作的时候,往往会有两种特殊需求,其一是连接重叠 ...

  4. .Net Core应用RabbitMQ,及简单封装

    首先,还是万分感谢大家能够抽空来阅读我的文章,万分感谢.今天我带来的是.Net Core中应用RabbitMQ,和简单封装.因为昨天的文章里说了今天要写,所以今天一定要写出来.小编翻阅了很多资料,想要 ...

  5. vue规范规则

    vue组件,数据通信,样式,JS的规范规则.对vue官方风格指南的总结归类并加入自己的规范,在团队小组中使用. 1.项目名/文件目录命名: kebab-case(- 连接): 项目名:vue-admi ...

  6. APScheduler的简单记录

    此工具作为 定时任务调度 系统,在日常业务中经常使用,如定时获取第三方数据,定时清理数据 等等: 定时任务 和 业务逻辑 编写方式 一般有2种: 以 定时 清理db数据为例,在flask中,如下: 1 ...

  7. setbuf, setbuffer, setlinebuf, setvbuf - 流缓冲操作

    SYNOPSIS 总览 #include <stdio.h> void setbuf(FILE *stream, char *buf); void setbuffer(FILE *stre ...

  8. 2019HDU多校第三场 Distribution of books 二分 + DP

    题意:给你一个序列,你可以选择序列的一个前缀,把前缀分成k个连续的部分,要求这k个部分的区间和的最大值尽量的小,问这个最小的最大值是多少? 思路:首先看到最大值的最小值,容易想到二分.对于每个二分值m ...

  9. C++学习笔记【1】——"\n"与endl的区别是什么?

    #include <iostream> using namespace std; int main() { cout << "Hello, world!" ...

  10. 使用IDEA实现品优购项目搭建

    转发自 https://www.jianshu.com/p/4710a87b65fa 使用idea实现品优购项目搭建 1.使用idea实现品优购项目搭建 本篇文章只针对品优购第一天使用 IDEA 搭建 ...