Logstash+Kibana+多ElasticSearch集群部署

ELK原理与介绍

?
ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash 。
官方文档 :https://www.elastic.co/

  • Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
  • Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
  • Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

?

主机 IP 主要服务
linux-node1 192.168.200.129 jdk、logstash、elasticsearch、kibana
linux-node2 192.168.200.130 jdk、elasticsearch

?

操作步骤

?

  • 安装elasticsearch、jdk

    # 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     //安装elasticsearch
    # yum install java -y             //安装java  jdk
    # java -version     //查看java版本
  • 配置elasticsearch
    -------------------linux-node1服务器配置 -------------------------
    # vim /etc/elasticsearch/elasticsearch.yml
    cluster.name: abner   //17行 集群名称
    node.name: linux-node1   //23行 节点名称
    path.data: /data/es-data   //33行37行 工作目录
    path.logs: /var/log/elasticsearch/
    bootstrap.memory_lock: true   //43行 防止交换swap分区
    network.host: 0.0.0.0    //54行 监听网络
    http.port: 9200   //58行 端口
    discovery.zen.ping.unicast.hosts: ["127.0.0.1", "192.168.200.130"]
    //68行 单播列表自动发现机制
     -------------------linux-node2服务器配置(其他同上)---------------------
    node.name: linux-node2   // 23行 节点名称
    discovery.zen.ping.unicast.hosts: ["127.0.0.1", "192.168.200.129"]
    //68行 单播列表自动发现机制
    
    # mkdir -p /data/es-data
    # chown -R elasticsearch:elasticsearch /data/es-data/
    # systemctl start elasticsearch.service
    # netstat -ntap | grep 9200


    ?

  • 测试

    http://192.168.175.132:9200

?

?
?

  • RESTful API (通过json格式交互)

    # curl -i -XGET ‘http://192.168.200.129:9200/_count?pretty‘ -d ‘{"query": { "match_all": {} }}‘

?
?

  • 内存解锁和文件限制

    生产环境中必须要修改(注意)

    # vim /etc/security/limits.conf
    //末尾插入
    elasticsearch soft memlock unlimited
    elasticsearch hard memlock unlimited
    * soft nofile 65535
    * hard nofile 65535
    
    # systemctl stop elasticsearch.service
    # systemctl start elasticsearch.service

?
?

?
?

?
?

logstash部署

  • Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
  • 安装logstash
    # rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
    # 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
  • 定义输入和输出流,类似管道
    # /opt/logstash/bin/logstash -e ‘input { stdin{} } output { stdout{} }‘
  • 详细格式显示
    # /opt/logstash/bin/logstash -e ‘input { stdin{} } output { stdout{ codec => rubydebug } }‘

?

  • 写入到elasticsearch中

    # /opt/logstash/bin/logstash -e ‘input { stdin{} } output { elasticsearch { hosts => ["192.168.200.129:9200"] } }‘

?

  • 写入ES和同时详细格式显示

    # /opt/logstash/bin/logstash -e ‘input { stdin{} } output { elasticsearch { hosts => ["192.168.200.129:9200"] } stdout { codec => rubydebug } }‘

?

  • 创建 logstash配置文件写入

    # vim /etc/logstash/conf.d/01-logstash.conf
    input { stdin { } }
    output {
        elasticsearch { hosts => ["192.168.200.129:9200"] }
        stdout { codec => rubydebug }
    }
    # /opt/logstash/bin/logstash -f /etc/logstash/conf.d/01-logstash.conf

?

  • 使用logstash配置文件:
  • 收集系统日志
  • 收集java异常日志
  • 事件优化处理
    # vim /root/file.conf
    input {
                file {
                        path => "/var/log/messages"
                        type => "system"
                        start_position => "beginning"
                }
                file {
                        path => "/var/log/elasticsearch/abner.log"
                        type => "es-error"
                        start_position => "beginning"
                        codec => multiline {
                        pattern => "^\["
                        negate => true
                        what => "previous"
                    }
                }
    }
    
    output {
    
             if [type] == "system" {
                     elasticsearch {
                             hosts => ["192.168.200.129:9200"]
                             index => "system-%{+YYYY.MM.dd}"
                     }
             } 
    
             if [type] == "es-error" {
                     elasticsearch {
                             hosts => ["192.168.200.129:9200"]
                             index => "es-error-%{+YYYY.MM.dd}"
                     }
             }
    }
    
    # logstash -f /root/file.conf

?
?

kibana部署

  • Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

    # 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           //2行
    server.host: "0.0.0.0"   //5行
    elasticsearch.url: "http://192.168.200.129:9200"    //12行 ES地址
    kibana.index: ".kibana"    //20行
  • Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
    # yum install screen -y
    #  screen   //开启
    # /usr/local/kibana/bin/kibana   //启动监听

    按下组合键 ctrl+a+d 进行丢入后台
    打开浏览器:http://192.168.200.129:5601/



原文地址:http://blog.51cto.com/13630803/2162641

时间: 2024-10-11 01:20:39

Logstash+Kibana+多ElasticSearch集群部署的相关文章

elasticsearch 集群部署

Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也都采用Elasticsearch作为其搜索服务.废话在此就不多赘述了,下面记录下CentOS7下Elasticsearch集群部署过程: 1)基础信息 elk-es01.kevin.cn    192.168.10.44 elk-es02.kevin.cn    192.168.10.45 elk-

kibana显示elasticsearch集群中flume到入的日志

日志通过flume导入elasticsearch集群见这里:flume 日志导入elasticsearch kibana介绍 kibana主页 kibana是一个功能强大的elasticsearch数据显示client,logstash已经内置了kibana.你也能够单独部署kibana,最新版的kibana3是纯html+jsclient.能够非常方便的部署到Apache.Nginx等Httpserver. kibana3的地址: https://github.com/elasticsearc

我的ElasticSearch集群部署总结--大数据搜索引擎你不得不知

摘要:世上有三类书籍:1.介绍知识,2.阐述理论,3.工具书:世间也存在两类知识:1.技术,2.思想.以下是我在部署ElasticSearch集群时的经验总结,它们大体属于第一类知识“techknowledge(技术)”.但其中也穿插一些我个人的理解.敬请指正. 关键词:ElasticSearch, 搜索引擎, 集群, 大数据, Solr, 大数据 三类书籍 和 两类知识: 有一些书是对某一新知识领域的介绍,将此知识领域从头到尾.从内而外剖开了分析,吸收这些知识主要在于“记忆”,(也有“领会”)

elasticsearch集群部署

先说下我用的版本:elasticsearch5.2.2 对于初学者来说,我觉得elasticsearch负载均衡没啥好介绍的,在不涉及到elasticsearch优化的前提下,其实还是蛮简单的. 之所以要写下来,是为了帮助跟我一样笨的同学少走弯路.少踩坑. 为什么这么说? 因为在做elasticsearch集群测试的时候,我也是在网上查找资料.但网上的资料都是千篇一律,而且有一个非常非常重要的关键点没讲. 那就是集群各节点之间的通讯端口:9300的开启都忽略了. 一开始百度,各种可能都试了,怎么

elasticsearch + kibana + x-pack + logstash_集群部署安装

elasticsearch 部分总体描述: 1.elasticsearch 的概念及特点.概念:elasticsearch 是一个基于 lucene 的搜索服务器.lucene 是全文搜索的一个框架.特点: - 分布式,可扩展,高可用 - 能够实时搜索分析数据. - 复杂的 RESTful API.总结:是一个采用RESTful API 标准,实现分布式,可扩展以及高可用的实时数据存储分析的全文搜索工具. 2.elasticsearch 涉及的相关概念.(关系菲关系对比)相关概念: -Node:

1.elasticsearch集群部署

1.limit的修改 vim /etc/security/limits.conf 具体内容为: *  soft   nofile    65536 *  hard   nofile    65536 *  soft noproc 2048 *  hard noproc 4096 * - memlock unlimited es  soft  memlock  unlimited es  hard  memlock  unlimited sysctl -p 生效 不做上述操作,部署es启动可能:

elasticsearch集群部署,及采坑问题

1,官网下载安装包 2,解压安装包到指定的目录 tar -zxvf elasticsearch-6.5.4.tar.gz 3,重命名 mv elasticsearch-6.2.1  elasticsearch 4,创建数据存放路径(应将设置配置为在Elasticsearch主目录之外定位数据目录,以便在不删除数据的情况下删除主目录!) mkdir -p /home/data/es 5,建立用户并授权(es不能用root运行) groupadd es useradd es -g es passwd

Elasticsearch 7.5.0集群部署

一.背景介绍ELK 不是一款软件,而是 Elasticsearch.Logstash 和 Kibana 三种软件产品的首字母缩写.这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack.根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案. Elasticsearch:分布式搜索和分析引擎,具有高可伸缩.高可靠和易管理等特点.基于 Apache Lucene 构建,能对大容量的数据进行接

谈一谈Elasticsearch的集群部署

??Elasticsearch天生就支持分布式部署,通过集群部署可以提高系统的可用性.本文重点谈一谈Elasticsearch的集群节点相关问题,搞清楚这些是进行Elasticsearch集群部署和拓扑结构设计的前提.关于如何配置集群的配置文件不会在本文中提及. 节点类型 1. 候选主节点(Master-eligible node) ??一个节点启动后,就会使用Zen Discovery机制去寻找集群中的其他节点,并与之建立连接.集群中会从候选主节点中选举出一个主节点,主节点负责创建索引.删除索