ELK日志监控平台安装部署简介--Elasticsearch安装部署

最近由于工作需要,需要搭建一个ELK日志监控平台,本次采用Filebeat(采集数据)+Elasticsearch(建立索引)+Kibana(展示)架构,实现日志搜索展示功能。

一、安装环境描述:

  1、JDK1.8以上版本;

  2、CentOS release 6.10 (Final) x86_64

二、Elasticsearch安装部署

  2.1 官方网站

    Elasticsearch:https://www.elastic.co/downloads/elasticsearch
    Kibana:https://www.elastic.co/downloads/kibana
    Filebeat:https://www.elastic.co/downloads/beats/filebeat

  2.2 安装方式

    这里采用RPM安装方式,要在root权限下安装。

    为什么采用RPM安装方式?

    因为采用这种方式安装,直接可将软件安装成服务,可采用service命令启动;

    2.2.1 安装

    这里我采用的是6.3.2版本;

    依次执行以下命令:

      wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.rpm
      wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.rpm.sha512
      shasum -a 512 -c elasticsearch-6.3.2.rpm.sha512
      rpm --install elasticsearch-6.3.2.rpm

    2.2.2 查看已安装的软件、卸载  

      1、查看所有已安装的软件命令:
      rpm –qa
      2、查询指定名称软件包是否安装命令:
      rpm –q 包名称

      例:rpm -q elasticsearch
      3、卸载
      rpm -e rpm安装包名称

      例:rpm -e elasticsearch

    2.2.3 设置开机启动 

      chkconfig --add elasticsearch

    2.2.4 启动/关闭服务

      service elasticsearch start
      service elasticsearch stop

    2.2.5 查看进程,获取对应PID  

      ps -ef|grep elasticsearch
      杀死进程:kill -9 PID

  2.3 Elasticsearch配置

    2.3.1 通过RPM方式安装,配置文件位置

      (1)默认配置文件:/etc/elasticsearch/elasticsearch.yml
      (2)系统配置文件:/etc/sysconfig/elasticsearch

    2.3.2 可通过修改/etc/sysconfig/elasticsearch配置文件的配置来指定默认配置文件位置:

      ES_PATH_CONF=/etc/elasticsearch

    2.3.3 常用文件默认位置

类型

描述

默认位置

设置

home

Elasticsearch 根目录或者$ES_HOME

/usr/share/elasticsearch

bin

包含elasticsearch (用于启动程序)elasticsearch-plugin(用于安装插件)

/usr/share/elasticsearch/bin

conf

配置文件目录,包含elasticsearch.yml

/etc/elasticsearch

ES_PATH_CONF

conf

环境变量文件,包括堆栈大小

/etc/sysconfig/elasticsearch

data

索引、分片的数据存储位置

/var/lib/elasticsearch

path.data

logs

Elasticsearch运行日志

/var/log/elasticsearch

path.logs

plugins

插件文件位置

/usr/share/elasticsearch/plugins

 

    2.3.4 常见配置

      elasticsearch.yml :用于配置elasticsearch

      关键elasticsearch配置:

      (1)集群名称(Cluster name)

         例如:“cluster.name:elasticsearch ”。

         设置好后会自动发现在现在同一网段下的节点,如果在同一网段下有多个集群,可用这个属性来区分不同的集群。

      (2)节点名称(Node name)

         elasticsearch启动时会自动创建节点名称,但也可在node.name中配置。

         指定节点名称有助于利用API访问具体的节点。

      (3)节点是否为master主节点

         每个节点都可被配置成为主节点,默认值为true;

         在node.master:true 中进行设置,目的是指定该节点是否有资格被选举为node,默认集群中的第一台机器为master,如果这台机器宕机就会重新选举master。

      (4)设置节点是否存储数据:默认为true,即设置 node.data: true 。

        如果希望节点只是一个master但不存储数据,则应当设置为:

        node.master: true

        node.data: false

      (5)node.attr.rack 设置机架编号

      (6)在node.max_local_storage_nodes中设置一台机器能运行的最大节点数目

      (7)设置分配给当前节点的索引数据所在位置:可在配置文件的path.data 进行设置;

        默认是:/var/data/elasticsearch

        可以选择,包含一个以上的位置,用逗号隔开;

      (8)设置日志文件所在位置path.logs

        默认是:/var/log/elasticsearch

      (9)设置绑定的IP地址network.host

        network.host: 服务器IP

      (10)设置HTTP传输监听定制的端口,默认是9200,在配置文件中http.port 中进行设置。

      (11)设置集群中master节点的初始列表,可通过这些节点来自动发现新加入的集群节点:

        Discovery.zen.ping.unicast.hosts: ["host1","host2"]

 

      jvm.options :用于配置elasticsearch JVM配置
      常用配置:
        -Xms2g
        -Xmx2g

      

      log4j2.properties : 用于配置elasticsearch的日志

  2.4 常见报错及对应解决方案

    2.4.1、启动报错解决方案:

    报错1:java.lang.UnsupportedOperationException: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed

    解决方案:修改elasticsearch.yml 添加以下内容

      bootstrap.memory_lock: false

      bootstrap.system_call_filter: false

  

  2.5 测试是否安装成功

    在终端执行以下命令:    

    curl -X GET "服务器IP:9200/"

    

    如果显示类似以下内容,则表示启动成功:
    {
      "name" : "PH13r4Z",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "6YfRHmWJQhmWqEyuyozQgw",
      "version" : {
        "number" : "6.3.2",
        "build_flavor" : "default",
        "build_type" : "rpm",
        "build_hash" : "053779d",
        "build_date" : "2018-07-20T05:20:23.451332Z",
        "build_snapshot" : false,
        "lucene_version" : "7.3.1",
        "minimum_wire_compatibility_version" : "5.6.0",
        "minimum_index_compatibility_version" : "5.0.0"
      },
      "tagline" : "You Know, for Search"
    }

   未完待续。

      

上一篇:-webkit-line-clamp 多行文字溢出...


下一篇:pytorch中(函数名有下划线和没有下划线)clamp和clamp_的区别