ELK——日志收集分析平台
ELK简介:
在开源的日志管理方案之中,最出名的莫过于ELK了,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。
1)ElasticSearch是一个基于Lucene的开源分布式搜索服务器。
它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。
设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
在elasticsearch中,所有节点的数据是均等的。
2)Logstash是一个完全开源的工具,它可以对你的日志进行收集、过滤、分析,支持大量的数据获取方法,并将其存储供以后使用(如搜索)。
说到搜索,logstash带有一个web界面,搜索和展示所有日志。
一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
3)Kibana 是一个基于浏览器页面的Elasticsearch前端展示工具,也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
工作流程:logstash负责从各个docker容器中提取日志(做了volume,配置path即可),然后将读取到的日志转发到ElasticSearch进行索引和保存,Kibana分析和可视化数据。
#注:在这里我们使用了filebeat代替了logstash
ELK的安装部署:
1、下载下面的三个软件https://www.elastic.co/cn/products
[root@centos ~]# ls
elasticsearch-7.1.0-x86_64.rpm kibana-7.1.0-x86_64.rpm  filebeat-7.1.0-x86_64.rpm
2、下载java环境
[root@centos ~]# yum install java -y
3、安装ELK
[root@centos ~]# yum install elasticsearch-7.1.0-x86_64.rpm kibana-7.1.0-x86_64.rpm filebeat-7.1.0-x86_64.rpm   -y
配置filebeat:vim /etc/filebeat/filebete.yml
在inputs项中
将enabled改为true 同时配置你的paths
在outputs项中更改hosts

然后重启filebeat:systemctl restart filebeat
elasticsearch启动
systemctl restart elasticsearch
 
kibana启动
 
1、修改监听地址
[root@centos ~]# vim /etc/kibana/kibana.yml
server.host: “192.168.64.4”  #这是你要使用浏览器访问的ip
 
2、重启kibana
[root@centos ~]# systemctl restart kibana
 
查看所有端口
[root@centos ~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 192.168.64.4:5601 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 ::ffff:127.0.0.1:9200 :::*
LISTEN 0 128 ::1:9200 :::*
LISTEN 0 128 ::ffff:127.0.0.1:9300 :::*
LISTEN 0 128 ::1:9300 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
 
浏览器访问kibana
输入服务器IP指定kibana端口5601,然后即可使用。
 

EFK搭建

安装java

安装java1.8以上的版本并验证

[root@localhost ~]# yum install java
[root@localhost ~]# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

安装Elasticsearch

安装Elasticsearch(Elasticsearch、Kibana、FileBeat版本最好一致)

[root@localhost ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
[root@localhost ~]# tar -zxvf elasticsearch-6.2.4.tar.gz
[root@localhost ~]# mv elasticsearch-6.2.4 /usr/local/elasticsearch-6.2.4
[root@localhost ~]# cd /usr/local/elasticsearch-6.2.4
[root@localhost ~]# vi config/elasticsearch.yml
network.host: 0.0.0.0
http.port: 9200 #由于这里不能直接用root用户运行elasticsearch,所以要创建一个新用户
[root@localhost ~]# adduser fengzi
[root@localhost ~]# passwd fengzi
[root@localhost ~]# chmod -R 777 /usr/local/elasticsearch-6.2.4
[root@localhost ~]# su fengzi #启动elasticsearch
[root@localhost ~]# ./bin/elasticsearch

如果服务启动不起来,以下是解决办法

#添加以下4行内容
[root@localhost local]# vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
efk soft nproc 8192
efk hard nproc 8192 #修改成以下内容
[root@localhost local]# vim /etc/security/limits.d/20-nproc.conf
* soft nproc 4096
root soft nproc unlimited #添加如下一行
[root@localhost local]# vim /etc/sysctl.conf
vm.max_map_count=655360
[root@localhost local]# sysctl -p
#查看一下9200和9300端口有没有启
[root@localhost local]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 80 :::3306 :::*
LISTEN 0 128 :::9200 :::*
LISTEN 0 128 :::9300 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*

安装Kibana

[root@localhost local]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-linux-x86_64.tar.gz
[root@localhost local]# tar -zxvf kibana-6.2.4-linux-x86_64.tar.gz
[root@localhost local]# vi config/kibana.yml
elasticsearch.url: "http://0.0.0.0:9200"
server.host: "0.0.0.0"
kibana.index: ".kibana"
#启动kibana服务
[root@localhost local]# ./bin/kibana #查看5601端口有没有启动
[root@localhost local]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:5601 *:*
LISTEN 0 80 :::3306 :::*
LISTEN 0 128 :::9200 :::*
LISTEN 0 128 :::9300 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*

安装FileBeat

[root@localhost local]# wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.4-linux-x86_64.tar.gz
[root@localhost local]# tar -zxvf filebeat-6.2.4-linux-x86_64.tar.gz
[root@localhost local]# vi filebeat.yml
enabled: true
[root@localhost local]# ./filebeat -c filebeat.yml

配置Kibana

ELK/EFK——日志收集分析平台的更多相关文章

  1. ELK:日志收集分析平台

    简介 ELK是一个日志收集分析的平台,它能收集海量的日志,并将其根据字段切割.一来方便供开发查看日志,定位问题:二来可以根据日志进行统计分析,通过其强大的呈现能力,挖掘数据的潜在价值,分析重要指标的趋 ...

  2. CentOS7下使用ELK搭建日志集中分析平台

    应用场景: ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构,很多公司利用它来搭建可视化的海量日志分析平台 ...

  3. ELKF-分布式日志收集分析平台搭建 最小化 配置过程 - 查看收集日志(windows10下搭建)

    前言 Elasticsearch是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发的.这三个产品被设计成一个集成解决方案,称为“Elastic Stack” ...

  4. ELK日志收集分析平台部署使用

    一.ELK介绍 开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成: 1.ElasticSearch是一个基于 ...

  5. ELK日志收集分析平台 (Elasticsearch+Logstash+Kibana)使用说明

    使用ELK对返回502的报警进行日志的收集汇总 eg:Server用户访问网站返回502 首先在zabbix上找到Server的IP 然后登录到elk上使用如下搜索条件: pool_select:X. ...

  6. ELK+kafka日志收集分析系统

    环境: 服务器IP 软件 版本 192.168.0.156 zookeeper+kafka zk:3.4.14  kafka:2.11-2.2.0 192.168.0.42 zookeeper+kaf ...

  7. 用ELK搭建简单的日志收集分析系统【转】

    缘起 在微服务开发过程中,一般都会利用多台服务器做分布式部署,如何能够把分散在各个服务器中的日志归集起来做分析处理,是一个微服务服务需要考虑的一个因素. 搭建一个日志系统 搭建一个日志系统需要考虑一下 ...

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

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

  9. syslog-ng日志收集分析服务搭建及配置

    syslog-ng日志收集分析服务搭建及配置:1.网上下载eventlog_0.2.12.tar.gz.libol-0.3.18.tar.gz.syslog-ng_3.3.5.tar.gz三个软件: ...

随机推荐

  1. python基础(二)---第一个程序

    1. 第一个程序 1.1 Hello Python书写步骤 步骤一:新建文本文档文件,修改名称为hello.py 步骤二:使用记事本打开文件,书写程序内容如下: 步骤三:打开命令行,输入执行指令:py ...

  2. 创业学习---今日头条创业过程分析---HHR计划

    本文搜集和整理了今日头条创业的一些关键点的资料------by 春跃(本文的主要观点都是搜集整理,所以不得本人同意不得转载) 一,18年之前的今日头条创业时间表: 1,张一鸣参与创业的履历:酷讯,饭否 ...

  3. Beego Learning Notes

    Beego框架学习 1.1软件框架 一个公司是由公司中的各部部门来组成的,每一个部门拥有特定的职能,部门与部门之间通过相互的配合来完成让公司运转起来. 一个软件框架是由其中各个软件模块组成的,每一个模 ...

  4. 重新梳理IT知识之java-02语法(二)

    1.如何获取一个随机数 比如:10-99 调用方法:Math.random //Math.random方法得到的是double类型的值范围在[0.0,1.0),一般需要加工后才可满足开发要求. 代码: ...

  5. js实现配置菜品规格时,向后台传一个json格式字符串

    由于本公司做的是订餐平台,那么在上传菜品时,需要配置菜品规格,比如份量(大中小),味道(猛辣,中辣,微辣) 由于这些数据,在表的设计时 没有保存到菜品表,那么在点击保存菜品数据时,配置规格这块数据,我 ...

  6. MavenProfile简介

    在我们平常的java开发中,会经常使用到很多配制文件(xxx.properties,xxx.xml),而当我们在本地开发(dev),测试环境测试(test),线上生产使用(product)时,需要不停 ...

  7. Hibernate面试题(七)--load与get区别

    1. load方式是延迟加载,只有属性被访问的时候才会调用sql语句 get方式是非延迟加载,无论后面的代码是否会访问到属性,马上执行sql语句 2. 都通过id=500去获取对象1. get方式会返 ...

  8. 「JSOI2014」歌剧表演

    「JSOI2014」歌剧表演 传送门 没想到吧我半夜切的 这道题应该算是 \(\text{JSOI2014}\) 里面比较简单的吧... 考虑用集合关系来表示分辨关系,具体地说就是我们把所有演员分成若 ...

  9. php 高级 PHP的垃圾回收机制

    PHP可以自动进行内存管理,清楚不再需要的对象.PHP使用了引用计数这种单纯的垃圾回收机制.每个对象都内含一个引用计数器,每个reference链接到对象,计数器加1,当reference离开生存空间 ...

  10. Inject shellcode into PE file

    先声明这是不免杀的,只是演示. 哔哩哔哩视频 新增节 一般能实现特定功能的shellcode的长度都比较长,可以分到几个节上的空白区,但是这样麻烦啊,或者把最后一个节扩大,但是最后一个节一般没有执行的 ...