Linux下安装ELK详细教程 --- 2021-11-09

2021-11-09  本文已影响0人  一位先生_

本文中使用的操作系统是Centos7。什么是ELK?为什么使用ELK?在上文中已经说过,这里就不再赘述,有需要的朋友可以查看 windows下部署ELK详细教程 ,下面我们直接进入今天的主题。本文会从以下几点进行阐述:

**注意:本文中ELK安装在同一个系统中,如果需要安装在不同的服务器,请注意端口的防火墙设置! **

一、安装JAVA环境

安装之前我们先确认下系统中是否安装过java,通过以下命令进行确认:

rpm -qa | grep java
rpm -qa | grep jdk
rpm -qa | grep gcj

如果没有输入信息表示没有安装过,如果安装过会显现如下相关信息:


image.png

当然,如果安装过,但是想要卸载当前版本重新安装的话,可以执行以下命令:

rpm -qa | grep java | xargs rpm -e --nodeps

安装JAVA步骤如下(我这里以java1.8版本为例):

1.1 查看java1.8版本列表

yum list java-1.8*

1.2 安装java-1.8.0版本的所有文件

yum install java-1.8.0-openjdk* -y

1.3 检查java是否安装成功

java -version
image.png

二、安装Elasticsearch

2.1 下载安装es

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-x86_64.rpm
sudo rpm --install elasticsearch-7.12.0-x86_64.rpm

通过以下命令可以查看es的安装路径(正常安装在/usr/share/elasticsearch/)

rpm -ql elasticsearch

** 2.2 修改ES数据和日志存储路径**

# 创建目录,用于存储elasticsearch数据
mkdir -p /data/elasticsearch/datadir
# 修改目录权限
chown -R elasticsearch:elasticsearch /data/elasticsearch/datadir

# 创建日志目录
mkdir -p /data/elasticsearch/logdir
# 修改目录权限
chown -R elasticsearch:elasticsearch /data/elasticsearch/logdir

2.3 修改ES配置文件

vi /etc/elasticsearch/elasticsearch.yml

修改信息如下:

# 集群名称,按照自己的需求调整
cluster.name: my-application

# 节点名称
node.name: node-1

# 设置data存储目录
path.data: /data/elasticsearch/datadir

# 设置logs日志的目录
path.logs: /data/elasticsearch/logdir

# 设置内存不使用交换分区
bootstrap.memory_lock: false

# 设置允许所有ip可以连接该elasticsearch,这里根据项目需求自行修改
network.host: 0.0.0.0

# 开启监听的端口,默认为9200
http.port: 9200

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

2.4 启动ES

# 启动服务
systemctl start elasticsearch

# 查看运行状态
systemctl status elasticsearch

# 设置开机启动
systemctl enable elasticsearch

注意:

问题:如果是通过SSH远程登录的服务器,启动ES服务时会报错,原因是部署ES时创建的elasticsearch用户默认是禁止shell登录的,通过切换用户命令可以看到提示:this account is currently not avaliable。

解决方案:将elasticsearch用户的shell从“/sbin /nologin”修改为“/bin/bash”即可。

修改shell配置,将elasticsearch用户的shell从“/sbin/nologin”修改为“/bin/bash”

vi /etc/passwd
image.png

这个是修改后的文件

修改成功后,再次启动服务即可成功。

注意:
ElasticSearch启动时Job for elasticsearch.service failed because the control process exited with error code.
解决方案:

编辑配置文件配置文件:
sudo vi /etc/elasticsearch/elasticsearch.yml
修改下面部分:
network.host: 0.0.0.0
discovery.seed_hosts: ["0.0.0.0"]

2.5 查看ES运行状态,出现以下信息说明服务启动成功

curl http://localhost:9200

image.png

三、安装Logstash

3.1 下载安装logstash

wget https://artifacts.elastic.co/downloads/logstash/logstash-7.12.0-x86_64.rpm
sudo rpm --install logstash-7.12.0-x86_64.rpm

3.2 修改logstash数据和日志存储路径

# 创建目录,用于存储logstash数据
mkdir -p /data/logstash/datadir
# 修改目录权限
chown -R logstash:logstash /data/logstash/datadir

# 创建日志目录
mkdir -p /data/logstash/logdir
# 修改目录权限
chown -R logstash:logstash /data/logstash/logdir

3.3 修改logstash配置文件

vi /etc/logstash/logstash.yml

修改信息如下:

# 设置data存储目录
path.data: /data/logstash/datadir

# 设置配置文件目录
path.config: /etc/logstash/conf.d

# 设置日志存储目录
path.logs: /data/logstash/logdir

3.4 启动logstash

# 启动服务
systemctl start logstash

# 查看运行状态
systemctl status logstash

# 设置开机启动
systemctl enable logstash

3.5 查看logstash运行状态

# 创建一个软连接
ln -s /usr/share/logstash/bin/logstash.lib.sh /bin/
# 执行logstash的命令(这里可能会不行,但没关系,上面已经能启动就可以了,先暂时这样)
logstash -e 'input { stdin { } } output { stdout {} }'

执行完上面命令后会出现等待用户输入的提示:“The stdin plugin is now waiting for input:”,这时我们输入测试内容:Jason


image.png

四、安装Kinaba

4.1 下载安装kinaba

wget https://artifacts.elastic.co/downloads/kibana/kibana-7.12.0-x86_64.rpm
sudo rpm --install kibana-7.12.0-x86_64.rpm

默认安装路径:/usr/share/kibana/

4.2 修改kibana配置文件

vi /etc/kibana/kibana.yml

修改信息如下:

# 端口,默认5601
server.port: 5601

# 允许所有ip访问
server.host: "0.0.0.0"

# 配置elasticsearch地址
elasticsearch.url: ["http://localhost:9200"]

kibana.index: ".kibana"

4.3 启动kibana服务

# 启动服务
systemctl start kibana

# 查看运行状态
systemctl status kibana

# 设置开机启动
systemctl enable kibana

4.4 查看kibana运行情况

curl http://localhost:5601

inux下安装ELK就完成了

上一篇 下一篇

猜你喜欢

热点阅读