基于弹性堆栈(ELK堆栈)的日志分析、存储及展示

ELK简介

“ELK”是三个开源项目的首字母缩写:Elasticsearch,Logstash和Kibana。Elasticsearch是一个搜索和分析引擎。Logstash是一个服务器端数据处理管道,它同时从多个源中提取数据,对其进行转换,然后将其发送到像Elasticsearch这样的“存储”。Kibana允许用户使用Elasticsearch中的图表和图形可视化数据。

ELK原理

在所有需要收集日志的服务上部署logstash,作为logstashagent用于监控并过滤所手机的日志,将过滤后的内容整合在一起,最终全部交给elasticsearch检索引擎;可以用elasticsearch进行自定义搜索,再通过Kibana结合自定义搜索内容生成图标,进行日志展示。

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的。

ELK基本模型

日志分析存在的困境

  • 开发人员不能登录线上服务器查看日志
  • 各个系统都有日志,日志分散难以查找
  • 日志数据量大,查找慢,数据不够实时

环境准备

关闭防火墙及selinux

虚拟机分配

主机名 IP地址 所用软件
node-1 172.16.10.21 Elasticsearch、logstash、kibana
node-1 172.16.10.29 Elasticsearch、logstash、kibana

ES群集的搭建

es群集需要两台虚拟机,一台作为主,一台作为从。两台服务器的软件安装方式都相同,不同之处在于软件的配置文件的修改,但是也是区别不大。

安装es软件

加载gpg验证密钥

rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

创建yum仓库

rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
vim /etc/yum.repos.d/elasticsearch.repo

[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enable=1

安装软件包

yum install elasticsearch -y
yum install java -y

配置es群集

修改配置文件(两台服务器不同的地方会注明)

vim /etc/elasticsearch/elasticsearch.yml
cluster.name: chen  //自定义,两台服务器保持一致
node.name: linux-node1   //节点名称两台服务器各不相同
path.data: /data/es-data    //自定义,需手动创建,若不创建服务会启动失败
path.logs: /var/log/elasticsearch/   //默认路径,不可更改
bootstrap.memory_lock: true   //开启防止交换分区,避免数据丢失
network.host: 0.0.0.0    //允许任意地址监听
http.port: 9200     //开启服务器端口
discovery.zen.ping.unicast.hosts: ["172.16.10.21", "172.16.10.29"]
//识别形式选用单播,host1为本地地址,host2为对方地址,在两一台服务器上地址书写顺序相反

创建文件夹并赋予权限

mkdir -p /data/es-data
chown -R elasticsearch:elasticsearch /data/es-data/   //用户在安装软件时自动创建

系统优化

vim /etc/security/limits.conf    //以下内容文件末尾插入即可
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited    //普通用户内存解锁
* soft nofile 65535
* hard nofile 65535    //文件限制

启动服务

systemctl start elasticsearch.service
netstat -ntap | grep 9200

加载es插件

/usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head

数据的存储,展示

访问网页

访问网页即可查看到两个服务器,此时两个服务器已经完成了选举,指定了主从服务器

存储数据

使用json格式在网页中添加数据

查询数据

数据删除

数据索引分片

数据的索引会自动创建5个分片,单击概览即可看到

配置logstash

数据通常以多种格式分散在许多系统中。Logstash支持各种输入,这些输入同时从众多公共源中提取事件。通过连续的流媒体方式轻松从日志,指标,Web应用程序,数据存储和各种AWS服务中提取数据。实验中并不是两台服务器都需要安装该软件,当你需要分析某个服务器中的日志文件时,即可安装。

配置yum源

vim /etc/yum.repos.d/logstash.repo
[logstash-2.1]
name=Logstash repository for 2.1.x packages
baseurl=http://packages.elastic.co/logstash/2.1/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enable=1

安装软件

yum install logstash -y

收集系统日志

创建配置文件

vim file.conf    //文件位置自定义,演示是在/目录下创建

input {
      file {
          path => "/var/log/messages"    //路径为系统日志存放路径
          type => "system"               //类型自定义
          start_position => "beginning"   //从头开始获取
      }
}

output {
     elasticsearch {
          hosts => ["172.16.10.21:9200"]
          index => "system-%{+YYYY.MM.dd}"    //年月日固定格式
     }
}

开启收集

ln -s /opt/logstash/bin/logstash /usr/bin/
logstash -f /root/file.conf

网页查看数据


部署kibana

软件安装

wget https://download.elastic.co/kibana/kibana/kibana-4.3.1-linux-x64.tar.gz
tar zxvf kibana-4.3.1-linux-x64.tar.gz -C /opt/
mv /opt/kibana-4.3.1-linux-x64/ /usr/local/kibana

配置文件修改

vim /usr/local/kibana/config/kibana.yml
server.port: 5601   //开启端口
server.host: "0.0.0.0"
elasticsearch.url: "http://172.16.10.21:9200"   //此处为es地址
kibana.index: ".kibana"

启动监听

screen    //启用分屏,若是没有该命令,则使用yum安装
/usr/local/kibana/bin/kibana    //启用监听
ctrl+a+d  //放入后台执行 

访问网站、创建索引

查看数据


原文地址:http://blog.51cto.com/13643643/2162628

时间: 2024-10-05 04:26:00

基于弹性堆栈(ELK堆栈)的日志分析、存储及展示的相关文章

linux下利用elk+redis 搭建日志分析平台教程

linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm elk 日志分析+redis数据库可以创建一个不错的日志分析平台了,下面我们来看一篇在linux下利用elk+redis 搭建日志分析平台教程,希望例子对各位有帮助. 这个是最新的elk+redis搭建日志分析平台,今年时间是2015年9月11日. Elk分别为 elasticsearch,logstash, kibana 官网为:https://www.elasti

ELK+redis搭建日志分析平台

ELK+redis搭建日志分析平台 1.ELK简介 ELKStack即Elasticsearch + Logstash + Kibana.日志监控和分析在保障业务稳定运行时,起到了很重要的作用.比如对nginx日志的监控分析,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录,所以可以通过读取日志文件来分析:redis的list结构正好可以作为队列使用,用来存储logstash传输的日志数据.然后elasticsearch就可以进行分析和查询了. 本文搭建的的是一个分布式的日志收

elk开源分布式日志分析平台

elk 开源分布式日志分析平台 一.简介1.核心组成2.三大组件3.elk 的工作流程4.elk 的帮助手册二.Logstash 和 elasticsearch(elasticsearch 和 logstash 依赖 java环境)1.java2.nginx 的安装3.redis 的安装4.安装 elasticsearch5.安装 logstash6.安装 kibana三.检验 elk 的日志结果 一.简介1.核心组成>.elk 由 Elasticsearch,Logstash 和 Kibana

ELK搭建实时日志分析平台之二Logstash和Kibana搭建

本文书接前回<ELK搭建实时日志分析平台之一ElasticSearch> 文:铁乐与猫 四.安装Logstash logstash是一个数据分析软件,主要目的是分析log日志. 1)下载和解压logstash 下载地址: https://www.elastic.co/cn/downloads/logstash 上传到服务器/usr/ELK目录后,解压:sudo tar -zxvf logstash-6.1.3.tar.gz 我下的这个6.1.3版本的logstash tar包大小有110多M了

CentOS 7 使用ELK套件搭建日志分析和监控平台

1 概述 ELK套件(ELK stack)是指ElasticSearch.Logstash和Kibana三件套.这三个软件可以组成一套日志分析和监控工具. 由于三个软件各自的版本号太多,建议采用ElasticSearch官网推荐的搭配组合:http://www.elasticsearch.org/overview/elkdownloads/ 2 环境准备 2.1 软件要求 本文把ELK套件部署在一台CentOS单机上. 具体的版本要求如下: 操作系统版本:CentOS 6.4: JDK版本:1.

CentOS下使用ELK套件搭建日志分析和监控平台

1 概述 ELK套件(ELK stack)是指ElasticSearch.Logstash和Kibana三件套.这三个软件可以组成一套日志分析和监控工具. 由于三个软件各自的版本号太多,建议采用ElasticSearch官网推荐的搭配组合:http://www.elasticsearch.org/overview/elkdownloads/ 2 环境准备 2.1 软件要求 具体的版本要求如下: 操作系统版本:CentOS 6.4: JDK版本:1.7.0: Logstash版本:1.4.2: E

centos7搭建ELK开源实时日志分析系统

Elasticsearch 是个开源分布式搜索引擎它的特点有分布式零配置自动发现索引自动分片索引副本机制 restful 风格接口多数据源自动搜索负载等. Logstash 是一个完全开源的工具他可以对你的日志进行收集.分析并将其存储供以后使用如搜索. kibana 也是一个开源和免费的工具他 Kibana 可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面可以帮助您汇总.分析和搜索重要数据日志. 日志从客户端到服务端处理后在传递给客户的数据流流向如下

专栏文章推荐:轻松玩转ELK海量可视化日志分析系统

最近一直在更新ELK系列的专栏,此专栏主要是针对ELK从入门到实战应用的介绍,内容非常实用,通过多年对ELK的使用经验,此文浓缩了ELK的各种应用技能和总结,强烈推荐给大家阅读. 在学习过程中,如果遇到任何问题可在本文后面留言,或者在专栏里面留言. 下面是专栏的介绍. 专栏介绍 ELK是目前行业中非常热门的一个技术,它可以用于电商网站.门户网站.企业IT系统等各种场景下,也可以用于对海量的数据进行近实时的数据分析. 专栏深入浅出剖析ELK在企业常见应用框架以及ZooKeeper.Kafka与EL

ELK搭建实时日志分析平台(elk+kafka+metricbeat)-KAFKA搭建

一.kafka搭建 建立elk目录:mkdir /usr/loca/elk 安装zookeeper: 192.168.30.121: 192.168.30.122: 192.168.30.123: 3. kafka安装: a. 192.168.30.121 b. 192.168.30.122: c. 192.168.30.123: 4.启动: 在三台服务器上执行下面命令: