logstash+kibana+多elasticsearch集群部署(代码片段)

author author     2022-12-24     271

关键词:

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/

技术分享图片
技术分享图片
技术分享图片技术分享图片

filebeat+elasticsearch+logstash+kibana收集系统日志(docker)

参考技术A我们这里用到的是filebeat+elk(elasticsearch+logstash+kibana)来进行系统日志的收集。filebeat安装在各个服务器中,Logstash+ElasticSearch+Kibana安装在一台专门用于基础服务的服务器上。Filebeat是一个轻量级的托运人,用于转发和集中... 查看详情

日志分析系统elk(elasticsearch+logstash+kibana+filebeat)

目录​​ 一、安装es​​​​ 二、安装Logstash​​​​三、安装Kibana​​​​四、安装Filebeat​​​​五、集群模式​​搭建日志分析系统ELK(elasticsearch+logstash+kibana+filebeat)这里先介绍ELK的安装 首先下载ELK在官网下载... 查看详情

kibana(代码片段)

官网简介: https://www.elastic.co/guide/en/kibana/current/introduction.html官网下载: https://www.elastic.co/cn/downloads/kibana   logstash-6-1-4下载解压,执行./bin/kibana打开http://localhost:56 查看详情

elk上手2在centos下安装logstash和kibana(代码片段)

...安装ElassticSearch一、官网下载地址二、准备环境三、安装Logstash四、安装Kibana1.下载2.配置3.启动4.访问界面一、官网下载地址https://www.elastic.co/cn/downloads/logstash二、准备环境CentOS8JDK8三、安装Logstashwgethttps://artifacts.elastic.co/downloads/lo... 查看详情

怎么把logstash通过kibana可视化监控起来?

书接上一回,MetricBeat+Elasticsearch+Kibana实现监控指标可视化。问题来了,Logstash如何监控起来呢?1、看一下官方文档https://www.elastic.co/guide/en/logstash/8.3/monitoring-with-metricbeat.html说一下大前提:logs 查看详情

怎么把logstash通过kibana可视化监控起来?

书接上一回,MetricBeat+Elasticsearch+Kibana实现监控指标可视化。问题来了,Logstash如何监控起来呢?1、看一下官方文档https://www.elastic.co/guide/en/logstash/8.3/monitoring-with-metricbeat.html说一下大前提:logs 查看详情

怎么把logstash通过kibana可视化监控起来?

书接上一回,MetricBeat+Elasticsearch+Kibana实现监控指标可视化。问题来了,Logstash如何监控起来呢?1、看一下官方文档https://www.elastic.co/guide/en/logstash/8.3/monitoring-with-metricbeat.html说一下大前提:logs 查看详情

elk部署

master端:elasticsearch+logstash+redis+kibanaslave端:logstash+nginxor logstash+rsyslog1.slave端收集nginx、syslog日志通过logstash写入到master上的redis中2.master上的logstash读取redis中的日志输出到elastic,kibana再匹配读取elastic上内容 查看详情

1.elk系统落地实践

...stic.co/guide/en/elasticsearch/reference/current/getting-started.html)。Logstash是开源的服务器端数据处理管道,能够同时从多个来源采集数据、格式化数据,然后将数据发送到相应的地方。详细介绍请访问:Logstash(https://www.elastic.co/guide/en/log... 查看详情

nlog——elasticsearch——kibana

 Nlog、elasticsearch、Kibana以及logstash在项目中的应用(一) Nlog、elasticsearch、Kibana以及logstash在项目中的应用(二) ASP.NETCoreloggingwithNLogand Elasticsearch  一、.NetCore引用的nuget包;可以配置Elastics 查看详情

elk上手2在centos下安装logstash和kibana(代码片段)

...安装ElassticSearch一、官网下载地址二、准备环境三、安装Logstash四、安装Kibana1.下载2.配置3.启动4.访问界面5.Elasticsearch设置密码后连接(1)首先按前文给Elasticsearch设置密码。(2)修改kibana.yml(3)重启kibana6.日志高度设置一、官网下载地... 查看详情

elk-kibana

...开浏览器访问http://127.0.0.1:5601浏览kibana界面总结:ELK即之logstash——elasticsearch——kibana, 查看详情

kibana搭建

...jdkyuminstalljava-1.8.0-openjdk-y2.配置yum源vim /etc/yum.repos.d/logstash.repo[logstash-7.x]name=Elasticrepositoryfor7.xpackagesbaseurl=https://artifacts.elastic.co/packages/7.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md3.安装log... 查看详情

elk安装集群配置

---恢复内容开始---这里我用以elasticsearch-5.3.2、kibana-5.3.0、logstash-5.3.0的版本为例:1.创建elastic用户,这里elasticsearch、kibana、logstash都是在elastic用户下安装的  1)安装elasticsearch  tar-zxfelasticsearch-5.3.2.t 查看详情

elasticsearch&logstash&kibana学习历程logstash使用场景和安装部署(代码片段)

Logstash基本介绍和使用场景自我认为:logstash就是日志的采集收集,日志的搬运工,实时去采集日志。读取不同的数据源,并进行过滤,开发者自定义规范输出到目的地。日志的来源很多,如系统日志,应用日志等等(同类软件... 查看详情

elasticsearch+logstash+kibana(代码片段)

ElasticSearch+Logstash+kibana 1、介绍:  Logstash:搬运工  ElasticSearch:搜索引擎  Kilbana:可视化系统   ElasticSearch是基于lucene的搜索框架,它提供了一个分布式多用户能力的全文搜索引擎。  基于restfulweb接口  上... 查看详情

elasticstack之kibana入门

...志收集,存储,分析工具。ElasticStack是ELK(Elasticsearch,Logstash,Kibana)从5版本开始的新名称,那么的他们都能干什么?参见下图: 我们使用logstash来收集日志,Elasticsearch存储日志 查看详情

elk搭建实时日志分析平台之二logstash和kibana搭建(代码片段)

...时日志分析平台之一ElasticSearch》文:铁乐与猫四、安装Logstashlogstash是一个数据分析软件,主要目的是分析log日志。1)下载和解压logstash下载地址:https://www.elastic.co/cn/downloads/logstash上传到服务器/usr/ELK目录后,解压:sudotar-zxvflog... 查看详情