ELK集中式日志平台搭建

 

一、配置JAVA环境

ELK 需要 JAVA 8 以上的运行环境,若未安装则按如下步骤安装:

# 查看是否安装
$ rpm -qa | grep java

# 批量卸载
$ rpm -qa | grep java | xargs rpm -e --nodeps

# 安装java环境
$ yum install -y java-1.8.0-openjdk*

#查看安装的版本
$ java -version

#输出查询的版本结果
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)

在文件【/etc/profile】配置环境变量:

# 指向安装目录,其中1.8.0.201需与版本号保持一致(每个机器上安装的版本号可能不一致,需进入目录查看)
JAVA_HOME=/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64

PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
JAVACMD=/usr/bin/java
export JAVA_HOME JAVACMD CLASSPATH PATH

 使配置环境生效

$ source /etc/profile

至此, java 执行环境安装完成。

 

二、安装 Elasticsearch

通过 官方地址 下载选择最新版本,然后解压:

$ cd /usr/local/src
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz
$ mkdir -p /usr/local/elk
$ tar zxvf elasticsearch-6.6.2.tar.gz
$ mv /usr/local/src/elasticsearch-6.6.2 /usr/local/elk/elasticsearch

 启动前,需要修改配置文件 jvm.options 中 JVM 大小,否则可能会内存溢出,导致启动失败。

$ vim config/jvm.options

# 根据实际情况修改
-Xms128m
-Xmx256m

由于 Elasticsearch 新版本不允许以 root 身份启动,因此先创建 elk 用户,并把 elasticsearch的用户和用户组改为 elk.

$ useradd elk
$ chown -R elk:elk /usr/local/elk/elasticsearch

 使用 service 服务方式管理 Elasticsearch

 由于使用的源码复制安装, 所以在【/etc/init.d】目录中不会存在启动脚本,我们手动创建这个启动脚本。

$ vim /etc/init.d/elasticsearch

脚本【/etc/init.d/elasticsearch】内容如下:

#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch

ES_USER="elk"
ES_GROUP="elk"
ES_HOME="/usr/local/elk/elasticsearch"
MAX_OPEN_FILES=65536
MAX_MAP_COUNT=262144
LOG_DIR="$ES_HOME/logs"
DATA_DIR="$ES_HOME/data"

case "$1" in
start)
    su - $ES_USER<

保存创建的【elasticsearch】脚本,并为其添加可执行权限 【x】

chmod +x /etc/init.d/elasticsearch

添加到 service 中

# 添加到 sevice 管理中
$ chkconfig --add elasticsearch
#设置开机自启动
$ chkconfig elasticsearch on
#查看配置结果
$ chkconfig --list elasticsearch 
#结果:
elasticsearch   0:off   1:off   2:on    3:on    4:on    5:on    6:off

至此 基本配置项目设置完成,测试配置是否正确

$ netstat -tlunp |grep 9200
# 启动 elasticsearch
$ $service elasticsearch start
# 查看进程情况
$ ps aux |grep elasticsearch
# 查看端口情况
$ netstat -tulnp |grep 9200

ELK集中式日志平台搭建_第1张图片

启动过程中遇到的问题:

 问题1:

[2019-03-27T17:39:22,103][ERROR][o.e.b.Bootstrap          ] [A_HbEkY] node validation exception
[1]: initial heap size [536870912] not equal to maximum heap size [1073741824]; this can cause resize pauses and prevents mlockall from locking the entire heap
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[3]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

解决方法:

$ vi /usr/local/elk/elasticsearch/config/jvm.options

###-Xms 和 -Xmx需要配置的相等,不然无法启动成功。
-Xms1024m
-Xmx1024m


$ vi /etc/sysctl.conf

## 文件末尾添加vm.max_map.count
vm.max_map_count = 6553500

问题2:ERROR: [1] bootstrap checks failed
             [1]: max number of threads [1024] for user [elasticsearch] is too low, increase to at least [4096]

错误原因:启动检查未通过

                  elasticsearch用户的最大线程数太低

解决办法:

修改limits.d目录下的配置文件: 

vi /etc/security/limits.d/90-nproc.conf

ELK集中式日志平台搭建_第2张图片

问题 3: ERROR: [1] bootstrap checks failed

               [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] 

 每个进程最大同时打开文件数太小

  修改/etc/security/limits.conf文件,增加配置,用户退出后重新登录生效

ELK集中式日志平台搭建_第3张图片

 

你可能感兴趣的:(ELK)