代码编织梦想

一、安装elasticsearch

  1. 从官网下载安装包elasticsearch、logstash、filebeat、kibana,版本尽量保持一致

    elasticsearch:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
    logstash:https://www.elastic.co/cn/downloads/past-releases#logstash
    filebeat:https://www.elastic.co/cn/downloads/past-releases#filebeat
    kibana:https://www.elastic.co/cn/downloads/past-releases#kibana
    
  2. 创建用户

    useradd es
    passwd es
    
  3. 进入目录:cd /home/es

  4. 上传elasticsearch-7.6.2-linux-x86_64.tar.gz并且解压

  5. 创建目录

    mkdir /home/es/elasticsearch-7.6.2/logs
    mkdir /home/es/elasticsearch-7.6.2/data   
    
  6. 修改配置文件:vi /home/es/elasticsearch-7.6.2/config/elasticsearch.yml

    cluster.name: es-application
    node.name: master
    path.data: /home/es/elasticsearch-7.6.2/logs
    path.logs: /home/es/elasticsearch-7.6.2/data   
    network.host: 192.168.248.10
    discovery.seed_hosts: ["192.168.248.10","192.168.248.11","192.168.248.12"]
    cluster.initial_master_nodes: ["master"]
    node.master: true
    http.port: 9200
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
  7. 配置资源使用:vi /etc/security/limits.conf,在文件末尾增加

    * soft nofile 65536
    * hard nofile 131072
    * soft nproc 65535
    * hard nproc 65535 
    End of file
    
  8. 配置虚拟内存大小:vi /etc/sysctl.conf

    vm.max_map_count=655360
    
  9. 刷新配置:sysctl -p

  10. 赋权给es用户:chown -R es:es /home/es

  11. 由于我本地装的是jdk8,而es运行需要jdk11,所以修改配置:vi /home/es/elasticsearch-7.6.2/bin/elasticsearch-env,删除判断
    在这里插入图片描述

  12. 将虚拟机拷贝两份,作为集群,然后各自修改elasticsearch.yml配置文件即可

    node.name: master
    network.host: 192.168.248.10
    node.master: true
    
  13. 启动:/home/es/elasticsearch-7.6.2/bin/elasticsearch

    cd /home/es/elasticsearch-7.6.2/bin
    nohup ./elasticsearch &
    
  14. 出现相关报错及解决办法

    1)max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

    cat /proc/sys/vm/max_map_count
    sudo sysctl -w vm.max_map_count=262144
    cat /proc/sys/vm/max_map_count
    

    2)the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

    cluster.initial_master_nodes: ["master"]
    

二、安装logstash

  1. 上传logstash-7.6.2.tar.gz并且解压

  2. 修改配置文件:vi /home/es/logstash-7.6.2/config/logstash-sample.conf

    # Sample Logstash configuration for creating a simple
    # Beats -> Logstash -> Elasticsearch pipeline.
    
    input {
     # 这里可以通过端口传输日志到es
      beats {
        port => 5044
      }
     # 读取本地的日志到es
     # file {
     #   path => ['/home/es/logdata/*.log']
     # }
    }
    filter {
      mutate {
        remove_field => [ "host" ]
      }
    }
    output {
      if [fields][filetype] == "testlog-log" {
       elasticsearch {
        hosts => ["http://192.168.248.10:9200","http://192.168.248.11:9200","http://192.168.248.12:9200"]
        index => "testlog-%{+YYYY.MM.dd}"
       }
      } else if [fields][filetype] == "jar-log"{
       elasticsearch {
        hosts => ["http://192.168.248.10:9200","http://192.168.248.11:9200","http://192.168.248.12:9200"]
        index => "jar-%{+YYYY.MM.dd}"
        #user => "elastic"
        #password => "changeme"
       }
      }else {
       elasticsearch {
        hosts => ["http://192.168.248.10:9200","http://192.168.248.11:9200","http://192.168.248.12:9200"]
        index => "hdfs-%{+YYYY.MM.dd}"
        #user => "elastic"
        #password => "changeme"
       }
      }
    }
    
  3. 默认的启动堆栈是4g,如果系统配置不高可以适当减少(可忽略):vi /home/es/logstash-7.6.2/config/jvm.options.conf

    -Xms400M
    -Xmx400M
    
  4. 启动logstash:nohup /home/es/logstash-7.6.2/bin/logstash -f /home/es/logstash-7.6.2/config/logstash-sample.conf &

三、安装kibana

  1. 上传kibana-7.6.2-linux-x86_64.tar.gz并且解压

  2. 修改配置:vi /home/es/kibana-7.6.2-linux-x86_64/config/kibana.yml

    server.port: 5601
    server.host: "192.168.248.10"
    elasticsearch.hosts: ["http://192.168.248.10:9200","http://192.168.248.11:9200","http://192.168.248.12:9200"]
    i18n.locale: "zh-CN"
    
  3. 启动kibana:nohup /home/es/kibana-7.6.2-linux-x86_64/bin/kibana &

  4. 测试es集群的健康状态:get _cat/allocation?v
    在这里插入图片描述

  5. 测试

    1)修改logstash的logstash-sample.conf配置,修改input,然后重启

    input {
     # 这里可以通过端口传输日志到es
      beats {
        port => 5044
      }
     # 读取本地的日志到es
     # file {
     #   path => ['/home/es/logdata/*.log']
     # }
    }
    

    2)手动修改/home/es/logdata底下的log日志

    3)页面查看,说明日志读取成功
    在这里插入图片描述

    4)创建索引模式
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u32Z2qh4-1679063685757)(C:\Users\86188\AppData\Roaming\Typora\typora-user-images\image-20230314170421440.png)]
    在这里插入图片描述
    在这里插入图片描述

    5)查看内容

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ejuJTJQO-1679063685759)(C:\Users\86188\AppData\Roaming\Typora\typora-user-images\image-20230314171106629.png)]

    6)测试结束,将logstash的logstash-sample.conf配置还原,重启

四、安装filebeat

  1. 上传kibana-7.6.2-linux-x86_64.tar.gz并且解压

  2. 修改配置文件:vi /home/es/filebeat-7.6.2-linux-x86_64/filebeat.yml

    #输出到logstash
    output.logstash:
      hosts: ["192.168.248.10:5044"]
    
    注释以下这段
    #-------------------------- Elasticsearch output ------------------------------
    #output.elasticsearch:
      # Array of hosts to connect to.
      #hosts: ["localhost:9200"]
    
      # Protocol - either `http` (default) or `https`.
      #protocol: "https"
    
      # Authentication credentials - either API key or username/password.
      #api_key: "id:api_key"
      #username: "elastic"
      #password: "changeme"
       
    # 配置需要采集的日志,一般采集不同应用的日志,分开采集,统一上传到5044
    # 可以跨服务,但是都需要配置filebeat
    # 这里可以自定义filetype,传给logstash,对日志进行分类
    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /home/es/testlog-log/*.log
      fields:     
        filetype: testlog-log
    - type: log
      enabled: true
      paths:
        - /home/es/jar-log/*.log
      fields:     
        filetype: jar-log
    

    ps:需要保证logstash-sample.conf的配置

    input {
      beats {
        path => 5044
      }
    }
    
  3. 启动:nohup /home/es/filebeat-7.6.2-linux-x86_64/filebeat -e -c /home/es/filebeat-7.6.2-linux-x86_64/filebeat.yml &

五、安装elasticsearch-analysis-ik

  1. 创建文件夹:mkdir /home/es/elasticsearch-7.6.2/plugins/analysis-ik

  2. 本地解压elasticsearch-analysis-ik-7.6.2,上传至 /home/es/elasticsearch-7.6.2/plugins/analysis-ik下

  3. 重启elasticsearch

  4. 测试

    POST _analyze
    {
     "analyzer":"ik_max_word",
        
        
     "text":["杭州市长春药店"]
    }
    

    解析成功
    在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40496191/article/details/129629639

elasticsearch logstash kibana elk集群搭建一键安装脚本-爱代码爱编程

一、 前言        很多朋友在刚接触elk的时候,搭建测试集群会出现各种各样的问题,这里,我编写了一份elk集群安装脚本,分分钟让你完成elk的搭建。 二、前期准备  我测试环境是centos7.2 ,在脚本中启动es和kibana的命令使用的是systemctl,使用centos6 的同学,自行修改。  脚本中会自动安装jdk1.8,请各

ELK集群搭建(基础教程)-爱代码爱编程

机器准备: 10.20.1.114node0110.20.1.115node0210.20.1.116node03集群内各台机器安装Elasticsearch 1、下载Elasticsearch的安装包 官方地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 2、Elas

(一)史上最强ELK集群搭建系列教程——集群方案设计-爱代码爱编程

引言 前面的文章中我们已经搭建过了单机版本的ELK日志收集系统,可参考我的博客(一)ELK单机版日志系统搭建——docker方式_北溟的博客-CSDN博客(docker搭建ELK单机版日志系统),从该篇起我将陆续推出EKL集群版本的日志系统搭建教程,该教程我会分为几个系列文章一一介绍,力求能够最大限度的完整性记录ELK集群的搭建过程。该集群我依然会采用d

(二)史上最强ELK集群搭建系列教程——ES集群搭建-爱代码爱编程

引言 上篇已经分享了我的ELK集群架构设计思路,从该篇起我们就进入实战环节。因为ELK中的应用大多数都是依赖elasticsearch的,所以我们搭建ELK集群的步骤就先从ES集群开始。ES是一个高可用的搜索引擎,我们搭建的ES集群通过分片副本同步方式保证了我们数据的存储安全性,同时也保证了我们数据的快速检索能力。我们的ES集群采用一个主节点,俩个数据节

(七)史上最强ELK集群搭建系列教程——filebeat服务搭建-爱代码爱编程

引言 filebeat是轻量级的日志收集工具,本小节我们就开始filebeat组件的搭建。filebeat组件的搭建也是我们elk集群搭建过程中的最后一小节内容,本节除了有关于filebeat的搭建过程,我们也会完整的演示一个elk集群收集日志的示例,从而验证我们整个elk集群是否能够正常工作。开始正文。 正文 拉取镜像命令:docker pu

(六)史上最强ELK集群搭建系列教程——kafka集群搭建-爱代码爱编程

前言 本小节是我们关于kafka集群搭建的系列教程,也是我们前面设计的整个ELK架构方案中的重要组成部分。由于kafka集群是依赖zookeeper实现通信的,我们也需要搭建一套zookeeper集群,本节中我们依旧采用docker-compose的方式搭建我们的kafka集群,同时为了便于管理我们的kafka集群,我们也会安装俩个辅助的工具管

(八)史上最强ELK集群搭建系列教程——docker-compose一键式搭建(完结篇)-爱代码爱编程

引言 前面的小节中我们已经独立成节,详细介绍了elk集群的搭建过程,本节将是我们elk集群搭建的终结篇。在本节中,我们的所有服务都是通过docker-compose一键式搭建,所有的服务都是在一个docker-compose的配置文件中维护。这样我们的整个服务都可以通过docker-compose命令进行一键式管控。我们的镜像也采用最新的镜像,elk的版

运维入坑实践之ELK集群部署-爱代码爱编程

运维入坑实践之ELK集群部署 ELK,即elasticsearch、logstash、kibana,是一个强大的日志分析利器,目前大部分公司都在使用此集群作为日志分析工具。业界比较流行的除了elk还有graylog(后续会整理一份graylog集群搭建教程)。本文主要讲解了elk集群的搭建步骤,后续会基于本集群为大家讲解nginx日志接入elk及字段解析

elk 7.9.3 集群部署_ljx1528的博客-爱代码爱编程

一、ELK介绍 ELK 是三个开源软件的缩写,提供一套完整的企业级日志平台解决方案。 分别是: • Elasticsearch:搜索、分析和存储数据 • Logstash :采集日志、格式化、过滤,最后将数据推送到Elasticsearch存储 • Kibana:数据可视化 • Beats :集合了多种单一用途数据采集器,用于实现从边缘机器向 Logsta

elk日志分析集群部署_~407的博客-爱代码爱编程

目录 一、ELK 简介 1、ELK日志分析系统组成 2、Elasticsearch(es) 3、Logstash 3、Kibana 2、日志处理步骤 二、Elasticsearch介绍 1、Elasticsearch核心概念 接近实时(NRT) cluster集群,ES是一个分布式的系统 Node节点,就是集群中的一台服务器 ind

elk详细安装教程_续写bug的博客-爱代码爱编程

ELK详细安装教程 ELK详细安装教程ELK的作用什么是ELK准备安装Elasticsearch安装Kibana安装Logstash安装ELK测试FileBeat安装 ELK详细安装教程 ELK的作用

elk集群部署---elasticsearch集群的部署-爱代码爱编程

1.  环境规划: 主机名IP地址角色node1192.168.56.111 ElasticSearch(master) Zookeeper Kafka node2192.168.56.112 ElasticSearch(slave) Kibana Zookeeper Kafka node3192.168.56.113 ElasticSearch(sla

【elastic (elk) stack 实战教程】01、elastic stack 概述_elasticstack 开发语言-爱代码爱编程

目录   一、Elastic Stack 在企业的常见架构 1.1 没有⽇志收集系统运维⼯作的⽇常痛点概述 1.2 Elastic Stack 分布式⽇志系统概述 1.2.1 Elastic Stack的主要优点有如下⼏个 1.2.2 使⽤ elastic stack 能收集哪些⽇志 1.3 Elastic Stack 企业级"EFK"架构图