elk部署文档

最近项目中有用到elk,虽然说之前了解过,但是真的把它在项目中用起来,还是有点考验熟练度。在这里记一下自己操作时的步骤,方便个人学习使用。

一、基础环境

安装linux中的一个下载文件工具

yum -y install wget

安装JDK
1.下载jdk

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm

2.修改权限

chmod 755 jdk-8u131-linux-x64.rpm

3.安装jdk

rpm -ivh jdk-8u131-linux-x64.rpm

jdk默认安装路径 /usr/java/jdk1.8.0_131
4.检查是否安装成功
输入命令java -version,结果如下就是安装成功(我这里安装的jdk1.8)

[root@VM-4-5-centos ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

5.配置环境变量

vim /etc/profile 
在最后增加这几行

export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

6.重新加载配置文件

source /etc/profile

二、安装elasticsearch

注意
1.elasticsearch和kibana都不能用root用户启动,所以需要增加用户
2.elasticsearch、kibana、logstash 要使用对应版本(版本可以可以查官网,也可以直接址用相同版本)
0.创建用户并赋予相应权限

// 创建目录用来作为安装路径
mkdir /usr/local/elk
// 添加用户
useradd elk
passwd elk
// 赋予权限
chown -R  elk:elk  /usr/local/elk

用户创建成功之后,切换用户:su elk,一下操作使用elk用户操作

1.下载elasticsearch

cd /usr/local/elk/
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.3-linux-x86_64.tar.gz

2.解压重命名

tar -zxvf elasticsearch-7.17.3-linux-x86_64.tar.gz
mv elasticsearch-7.17.3 elasticsearch

3.修改elasticsearch 配置文件(我这里启动的是单节点)

vim elasticsearch.yml
# 两个path路径需要我们自己创建一下目录,如果不存在
path.data: /usr/local/elk/elasticsearch/data
path.logs: /usr/local/elk/elasticsearch/log
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["127.0.0.1"]
discovery.type: single-node

4.启动

bin/elasticsearch -d

5.启动报错解决
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统当中打开文件最大数目的限制,不然ES启动就会抛错

#切换到root用户
vim /etc/security/limits.conf

末尾添加如下配置:

* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096

[2]: max number of threads [1024] for user [es] is too low, increase to at least [4096]
无法创建本地线程问题,用户最大可创建线程数太小

vim /etc/security/limits.d/20-nproc.conf

改为如下配置:

* soft nproc 4096

[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 最大虚拟内存太小,调大系统的虚拟内存

vim /etc/sysctl.conf

追加以下内容:

vm.max_map_count=262144

保存退出之后执行如下命令:

sysctl -p

[4]: 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
缺少默认配置,至少需要配置discovery.seed_hosts/discovery.seed_providers/cluster.initial_master_nodes中的一个参数.

vim config/elasticsearch.yml

#添加配置

discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]

#或者 单节点(集群单节点)

discovery.type: single-node

三、安装Kibana

0.切换用户

su elk

1.下载kibana并且解压

wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.3-linux-x86_64.tar.gz

tar -zxvf kibana-7.17.3-linux-x86_64.tar.gz

2.修改配置文件

vim config/kibana.yml

server.port: 5601
server.host: "0.0.0.0"  #这里配置本地可能会做成其它机器访问不了
elasticsearch.hosts: ["http://localhost:9200"]  #elasticsearch的访问地址
i18n.locale: "zh-CN"   #Kibana汉化

3.启动kibana

nohup  bin/kibana &

有如下日志字样内容的应该就启动成功了

"type":"log","@timestamp":"2022-09-03T19:47:17+08:00","tags":["info","status"],"pid":28767,"message":"Kibana is now degraded"

4.验证
浏览器访问 http://ip:5601/
在这里插入图片描述

5.访问问题解决
在访问 http://localhost:5601/ 时可能会出现,页面一直loadding的状态,如下图在这里插入图片描述
这个时候不要急,打开F12看一下控制台,你可能会发现前台有这样一个一个错误
Uncaught Error: kbnBundles does not have a module defined for “entry/core/public”
这个错误是因为浏览器版本过低导致的,重新下载一个浏览器应该可以解决。我当时在这里卡在很久,网上也有看到说是版本过低,于是我查看了我的谷歌双核浏览器版本发现是最新的版本,直到最后我重新下载了一个firefox浏览器才发现,双核浏览器也是坑了我。

四、安装logstash

1.下载logstash

wget https://artifacts.elastic.co/downloads/logstash/logstash-7.17.3-darwin-x86_64.tar.gz

2.解压

tar -zxvf logstash-7.17.3-darwin-x86_64.tar.gz

3.目录重命名

mv  logstash-7.17.3  logstash

4.验证

bin/logstash -e 'input { stdin { } } output { stdout {} }'

启动之后,直接在命令窗口 输入hello ,回车,看到有结果输出就ok了。
至此基础环境就搭建好了,但是想要将elk应用与服务中,获取日志,按结构化输出,还是需要对各个组件做更深的了解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值