【ELK】Linux安装简易部署

1.版本选择

elastic下载官方网址
稳定版 7.17.0、7.17.1

1.1 注意事项

  1. 所有组件都依赖jdk1.8+
  2. Elasticsearch、Logstash、Kibana 版本需保持一致 (这里演示版本 version: 7.17.0)
  3. ELK需部署在和被监控的服务同一套内网环境下。如有防火墙,需将ELK各个组件所用到的端口号一一加到防火墙安全策略中

1.2 版本下载

例如选择7.17.0版本下载:

2.linux安装部署

2.1 解压所有文件

上传文件到 /opt 目录下,进入一下步骤解压所有文件

cd /opt
tar -xzf elasticsearch-7.17.0-linux-x86_64.tar.gz
tar -xzf kibana-7.17.0-linux-x86_64.tar.gz
tar -xzf logstash-7.17.0-linux-x86_64.tar.gz

2.2 创建新用户

由于es不能直接使用root用户启动,这里创建新用户,并且进行分组。给予密码123456


 1. groupadd elk
 2. useradd elk -g elk -p 123456
 

2.3 安装Elasticsearch(单节点es)

2.3.1 给es文件目录赋予用户、用户组都是elk权限

chown -R elk:elk /opt/elasticsearch-7.17.0

2.3.2 切换elk用户登录

su elk

2.3.3 进入 elasticsearch目录下

cd /opt/elasticsearch-7.17.0

2.3.4 修改配置文件

vim ./conf/elasticsearch.yml【需要安装vim】

# 指定节点名称,每个节点名字唯一
node.name: es-node-1 
# 绑定ip,开启远程访问,可以配置0.0.0.0
network.host: 0.0.0.0
# elasticsearch服务端口,可更改,默认就是9200
http.port: 9200
# 数据目录路径
path.data: /opt/elk/elasticsearch-7.17.0/data/
# 日志文件路径
path.logs: /opt/elk/elasticsearch-7.17.0/logs/
# 解决跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"

2.3.5 启动 elasticsearch

# 显示进程启动,可以查看启动是否异常
./bin/elasticsearch  
# 没问题后-后台启动
./bin/elasticsearch -d
2.3.6 测试是否成功
  • curl http://localhost:9200

访问显示如下表示启动正常
在这里插入图片描述

宿主机访问内部需要开放端口

#firewalld防火墙开放命令:
firewall-cmd --zone=public --add-port=9200/tcp --permanent
# 重启刷新。如果没启动就不需要了
systemctl restart firewalld

常见问题说明

  1. vm.max_map_count 数量太小
    切换到root用户,修改配置文件sysctl.conf:vi /etc/sysctl.conf,在末尾行添加内容:
vm.max_map_count=262144
#使配置生效
sysctl -p 

执行完毕后切换elk用户执行启动命令

  1. bootstrap checks failed 问题
    切换到root用户,修改配置文件limits.conf:vi /etc/security/limits.conf,在末尾行添加内容:
* soft nofile 65536
* hard nofile 131072

执行完毕后切换elk用户执行启动命令

2.4 安装 Logstash

2.4.1 编辑配置文件

进入logstash主目录
cd /opt/logstash-7.17.0
复制原本文件
cp ./config/logstash-sample.conf ./config/logstash-es.conf
编辑文件

vi ./config/logstash-es.conf

# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.

input {

  file {
    path => "/opt/app/web/logs/tomcat-web-*.log"
    start_position => "end"
    type => "tomcat-web"
    codec => "plain"
  }

  file {
    path => "/opt/app/system/logs/tomcat-system-*.log"
    start_position => "end"
    type => "tomcat-system"
    codec => "plain"
  }

}


output {

  if [type] == "tomcat-web" {

    elasticsearch {
      hosts => ["http://192.168.192.128:9200"]
      index => "tomcat-web"
      codec => json
    }
  }

  if [type] == "tomcat-system" {

    elasticsearch {
      hosts => ["http://192.168.192.128:9200"]
      index => "tomcat-app"
    }
  }

  elasticsearch {
    hosts => ["http://192.168.192.128:9200"]
    index => "elk-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  }
}
文件说明input
字段名称字段说明
inputlogstash的数据收集源
file定义数据来源为文件
file-path文件路径地址
file-start_position开始收集的位置为文件末尾
file-type主要用来区分收集后的数据发送到哪
file-codec收集的数据格式
文件说明output
字段名称字段说明
outputlogstash的数据输出方式
if对数据进行判断逻辑处理
elasticsearch设置将收集后的日志输出到 es
elasticsearch-hosts输出es的host地址,可以填写多个
elasticsearch-indexes的索引方式
elasticsearch-codec输出json格式
elasticsearch-useres的账号(有就填写)
elasticsearch-passwordes的密码(有就填写)
启动logstash
# 显示启动
[elk@localhost logstash-7.17.0]$ ./bin/logstash -f ./config/logstash-es.conf 

启动没有问题后,使用 nohup进入后台启动,最好可以设置成 service 启动

[elk@localhost logstash-7.17.0]$ nohup ./bin/logstash -f config/config.conf > logs/logstash.log 2>&1 &

在这里插入图片描述

2.5 安装 Kibana

2.5.1 编写配置文件

进入logstash主目录
cd /opt/kibana-7.17.0-linux-x86_64
编辑文件
vi ./config/kibana.yml

kibana.yml修改以下内容

server.port: 5601
server.host: "0.0.0.0"
server.name: "elk-kibana"
i18n.locale: "zh-CN"
elasticsearch.hosts: ["http://localhost:9200"]

2.5.2 启动Kibana

# 显示启动,默认使用 config/kibana.yml 配置文件
[elk@localhost kibana-7.17.0-linux-x86_64]$ ./bin/kibana --allow-root 

启动没有问题后,使用 nohup进入后台启动,最好可以设置成 service 启动

[elk@localhost kibana-7.17.0-linux-x86_64]$ nohup  ./bin/kibana  --allow-root > logs/kibana.log 2>&1 &

出现[info][status] Kibana is now available (was degraded) 表示启动成功
在这里插入图片描述

2.5.3 外部访问一样需要开通防火墙端口权限,例如firewalld

[elk@localhost ~]$ firewall-cmd --zone=public --add-port=5601/tcp --permanent
[elk@localhost ~]$ systemctl restart firewalld
# 可以查看已经开启的端口
[elk@localhost ~]$ firewall-cmd --list-ports

3.整体联调互通

手动创建收集文件

[elk@localhost ~]$ cd /opt/app/web/logs
[elk@localhost logs]$ echo "hello-es-2023.12.26" > tomcat-web-2023-12-26.log

Kinbana创建索引模式查看

  • 访问http://host:5601

在这里插入图片描述

  • 创建索引,选择 tomcat-web索引

在这里插入图片描述

查看数据是否能够展示
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值