ELK完整搭建过程 -- 以及各个坑点解决方案

news/2024/11/25 3:39:47/

搭建环境

系统
Ubuntu-12.04.5-server-amd64(不建议大家用Ubuntu!坑太多)
环境
jdk-8u131-linux-x64.tar.gz
node最新版本
grunt-cli最新版本(cnpm安装,npm可能被墙!)
软件
elasticsearch-5.4.1.tar.gz
kibana-5.4.1-linux-x86_64.tar.gz
logstash-5.4.1.tar.gzElasticsearch

注:所有软件我都安装在/opt下面了 大家可以自行调整!

搭建过程

  1. 配置全局需要的目录
Mkdir –p /opt/tmp/data
Mkdir –p /opt/tmp/log
Mkdir –p /opt/backup
  1. 配置用户
Useradd elk
Groupadd elks
Usermod -a –G elks elk 
Usermod -a –G root elk
  1. JDK配置
Cd /opt/
Tar –zxvf /opt/backup/jdk-8u131-linux-x64.tar.gz
Mv jdk-8u131-linux-x64 jdk
Sudo vi /etc/profile

在底部添加如下内容

export JAVA_HOME=/opt/jdk
export PATH=$PATH:$JAVA_HOME/bin
export
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH

为解决elasticsearch启动报错

ulimit -SHn 65537

保存后执行以下命令

Source /etc/profile

验证环境

Java -version

Logstash 配置

Cd /opt/
Tar –zxvf /opt/backup/ logstash-5.4.1.tar.gzElasticsearch
Mv logstash-5.4.1* logstash
Cd /opt/logstash/config/
vi logstash.conf

在配置文件中添加如下内容

#start
input {file {path =>["/opt/tmp/Logstash.log"]add_field => {"appName" => "elk"}type =>"elk"}beats {port => 5044}
}
filter{grok { match => {"message" => "msg" }}
}
output {elasticsearch { hosts => ["192.168.152.128:9200"] }stdout { codec => rubydebug }
}
#end

保存

Kibana 配置

Cd /opt/
Tar –zxvf /opt/backup/ kibana-5.4.1-linux-x86_64.tar.gz
Mv kibana-5.4.1* kibana
Cd /opt/kibana/config/
Vi kibana.yml

在配置文件中添加如下内容

server.host: "192.168.152.128"
elasticsearch.url: http://192.168.152.128:9200
#账户密码需要自己看自己的默认是下边的
elasticsearch.username: "elastic"
elasticsearch.password: "changeme"
#end

保存

Elasticsearch 配置

Cd /opt/
Tar –zxvf /opt/backup/ elasticsearch-5.4.1.tar.gz
Mv elasticsearch-5.4.1* elastic
Cd /opt/elastic
vi elasticsearch.yml

在配置文件中添加如下内容

path.data: /opt/tmp/data
path.logs: /opt/tmp/log
network.host: 192.168.152.128
http.port: 9200

为防止Elastic启动报错

http.cors.allow-origin: "/.*/"
http.cors.enabled: true
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

编辑ELK配置文件
vi jvm.options
#把下边两个改为以下参数

#看自己的内存修改
-Xms512m
-Xmx512m

一大片坑

Chown –R elk.elks /opt/
#或者Chown –R elkselk /opt/
Su elk
Cd /opt/elastic/bin/
./elasticsearch
Cd /opt/kibana/bin/
./kibana -e -c filebeat.yml
Cd /opt/logstash/bin
./logstash –f logstash.conf
#如果没问题的话就可以访问
#http://IP:9200
#http://IP:5601
#首次登陆的时候,需要先配置索引,默认使用的索引是logstash-*,并且是基于时#间的。建议把基于时间的选项取消,然后点击创建。
#完成索引配置后,切换到Discover页面就可以开始进行日志数据的检索
#可惜不可能没问题!!!

坑1 JDk

JDK一定要去官网下载!!!JDK官网

坑2 5.2无法启动bug

报错:
ERROR: bootstrap checks failed
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
原因
这是在因为Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
解决方案
在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面加入以下配置:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

小坑

 [WARN ][o.e.b.JNANatives ] unable to install syscall filter:
Java.lang.UnsupportedOperationException: seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMPandCONFIG_SECCOMP_FILTERcompiledinatorg.elasticsearch.bootstrap.Seccomp.linuxImpl(Seccomp.java:349) ~[elasticsearch-5.0.0.jar:5.0.0] at org.elasticsearch.bootstrap.Seccomp.init(Seccomp.java:630) ~[elasticsearch-5.0.0.jar:5.0.0]
解决方案
重新安装新版本的Linux系统

大坑!!!

ERROR: bootstrap checks failed max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]、
原因
无法创建本地文件问题,用户最大可创建文件数太小
解决方案
切换到root用户,编辑limits.conf配置文件, 添加类似如下内容
vi /etc/security/limits.conf
#加入内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
# * 代表用户
#保存 ulimit –a 不生效的话 退出然后重新登陆

大坑!!!

max number of threads [1024] for user [es] likely too low, increase to at least [2048]
原因
无法创建本地线程问题,用户最大可创建线程数太小
解决方案
切换到root用户,进入limits.d目录下,修改90-nproc.conf 配置文件。
vi /etc/security/limits.d/90-nproc.conf
#找到如下内容:
* soft nproc 1024
#修改为
* soft nproc 2048

大坑!!!

max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
原因
最大虚拟内存太小
解决方案
换到root用户下,修改配置文件sysctl.conf
vi /etc/sysctl.conf
#添加下面配置:
vm.max_map_count=655360
#执行命令:
sysctl -p

然后重新启动elasticsearch,即可启动成功。

大坑!!!

Elasticsearch 插件安装

5.X版本没有plugins脚本

所以可以用
./elasticsearch-plugin install x-pack
旧版本:plugins install xxx
新版本安装
#官网放出来的信版本可以只用通过下载rpm包直接进行安装rpm - ivh xxx.rpm

http://www.ppmy.cn/news/586609.html

相关文章

几种开放源码的TCP/IP协议栈比较

http://blog.chinaunix.net/uid-28785506-id-3828286.html 原文地址:几种开放源码的TCP/IP协议栈比较 作者:三点水兽 1、BSD TCP/IP协议栈 BSD栈历史上是其他商业栈的起点,大多数专业TCP/IP栈(VxWorks内嵌的TCP/IP栈)是…

【龙芯1c库】移植硬浮点FPU

龙芯1c库是把龙芯1c的常用外设的常用功能封装为一个库,类似于STM32库。完整源码请移步到https://gitee.com/caogos/OpenLoongsonLib1c 龙芯1C上有硬浮点协处理器,整个移植过程主要参考《see mips run 中文版.pdf》中第7章“浮点支持”。文档《see mips …

BZOJ 1695 [Usaco2007 Demo]Walk the Talk 链表+数学

题意:链接 方法:乱搞 解析: 出这道题的人存心报复社会。 首先这个单词表…先上网上找这个单词表… 反正总共2265个单词。然后就考虑怎么做即可了。 刚開始我没看表,找不到怎么做,最快的方法我也仅仅是想到了类n^6的做法。 然后我就卡关辣,这关…

编译microwindow(nano-X) 及flnx-0.18

来自: http://blog.chinaunix.net/uid-20595394-id-1619435.html http://blog.chinaunix.net/uid-20595394-id-1619427.html 先编译microwindows,然后flnx。 说明:编译freetype库时,在freetype-x.x.xx/builds/unix/libtool中需要指定ran…

ARM-交叉编译器各版本的区别

转载地址:http://blog.csdn.net/dragon101788/article/details/17456019 1、EABIarm-2008q3-39-arm-none-eabi Sourcery G Lite 2008q3-39 All versions... Sourcery G for ARM EABI is for use in bare-metal and/or RTOS environments.(适用于编译…

SpringBoot + Elasticsearch + Kibana (7.8.1)入门应用

一、下载安装 ElasticSearch 下载地址 …/elasticsearch-7.8.1/bin 的 elasticsearch.bat …/elasticsearch-7.8.1/config/elasticsearch.yml //# 主要配置 network.host: 127.0.0.1 http.port: 9200 //# 解决跨域访问 http.cors.enabled: true http.cors.allow-origin: &quo…

几种开源TCP/IP协议概述--LwIP,uIP,TinyTcp和uC/IP

1、BSD TCP/IP协议栈 BSD栈历史上是商业栈的起点,大多数专业TCP/IP栈(VxWorks内嵌的TCP/IP栈)是BSD栈派生的。这是因为BSD栈在BSD许可协议下提供了这些专业栈的雏形,BSD许用证允许BSD栈以修改或未修改的形式结合这些专业栈的代码而…

算法设计与分析:Word Ladder(Week 4)

学号:16340008 题目:127. Word Ladder Question: Given two words (beginWord and endWord), and a dictionarys word list, find the length of shortest transformation sequence from beginWord to endWord, such that: Only one letter can be ch…