ELK8.17部署(Ubantu24x64)

检查java环境 ELK8.x不支持java8

若无环境可执行 sudo apt install openjdk-17-jre-headless

准备安装包

官网下载地址: ELK

products 搜Elasticsearch、Kibana、Logstash、Filebeat

versions需一致,这里使用8.17.0

Elasticsearch
Kibana
Logstash
Filebeat

elasticsarch安装

javascript 复制代码
# 建一个文件夹
cd /usr/local/
mkdir elk
# 我这里用的shell  使用rz上传文件  上传安装包
cd elk
rz
# 解压
tar -zxvf elasticsearch-x.x.x.xxxx
cd elasticsearch-xxx
mkdir data
# 修改配置文件
vim ./config/elasticsearch.yml
javascript 复制代码
cluster.name: es-application
node.name: node-1
# 这个地址是新建的data文件
path.data: /usr/local/elk/elasticsearch-8.17.0/data/
path.logs: /usr/local/elk/elasticsearch-8.17.0/logs/
# 允许外网访问
network.host: 0.0.0.0
http.port: 9200
# 关闭ssl
xpack.security.enabled: false
xpack.security.http.ssl:
  enabled: false
  keystore.path: certs/http.p12

如果没有安全证书需要申请:Elastic stack安全配置

elk不能root启动,可用安装系统时创建的用户启动,若无可创一个

javascript 复制代码
#创建新用户及授权
groupadd elk
 
useradd elk -g elk -p elkelk
 
chown -R elk:elk /usr/local/elk
javascript 复制代码
#切用户启动 
su elk
 
# 后台启动
./bin/elasticsearch -d
 
# 查看是否启动成功
ps -ef|grep elasticsearch
 
# 调用这个出现You Know, for Search就算成功
curl http://ip:9200

Kibana安装

切回root上传安装包后解压

修改配置:vim ./config/kibana.yml

javascript 复制代码
# 端口号
server.port: 5601

# 汉化
i18n.locale: "zh-CN"
 
# ip地址
server.host: "192.168.xx.xx"
 
# es连接
elasticsearch.url: "http://192.168.xx.xx:9200"
javascript 复制代码
#切用户
su elk
#非后台启动,关闭shell窗口即退出
./bin/kibana

#后台启动 (推荐使用后台启动)
nohup ./bin/kibana > kibana_start.log 2>&1 & 
 # 检查是否启动成功
ps -ef|grep kibana	

Logstash安装

切回root上传安装包后解压

cp ./config/logstash-sample.conf ./filebeat.conf

修改配置:vim ./config/filebeat.yml

javascript 复制代码
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.

input {
  beats {
    host => '0.0.0.0'
    port => 5044
  }
  #file{
  #  path => ['/mnt/coding/blog/storage/logs/*.log']
  #  type => 'user_log'
  #  start_position => "beginning"      
  #}
}

output {
   if [app] == "xxx" {
        if [type] == "xxx-log" {
           elasticsearch {
              hosts => ["http://192.168.xxx.xxx:9200"]
              index => "filebeat_blog_log-%{+YYYY.MM.dd}"
              user => "elastic"
              password => "changeme"
           }
        }
    }

#elasticsearch {
    #hosts => ["http://192.168.xxx.xxx:9200"]
   # index => "filebeat_log-%{+YYYY.MM.dd}"
    #index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  #}
}
javascript 复制代码
#切用户
su elk

#启动
nohup ./bin/logstash -f ./config/filebeat.conf > logstash_start.log 2>&1 &

 # 检查是否启动成功
ps -ef|grep logstash 

Filebeat安装

切回root上传安装包后解压

修改配置:vim ./filebeat.yml

复制代码
filebeat.inputs:
- type: log
  # 应用名
  id: xxx-java
  enabled: true
  paths:
  # 应用输出日志地址
    - /usr/local/java/xxx/*.log
  fields:
    level: debug
    review: 1
    # 应用名
    app: XXX
    # 应用类型
    type: XXX-log
  fields_under_root: true
setup.kibana:
  host: "192.168.XXX.XXX:5601"
output.logstash:
  hosts: ["192.168.XXX.XXX:5044"]

其他高级配置:Filebeat的高级配置详解

javascript 复制代码
#切用户
su elk

#启动
nohup ./filebeat > filebeat_start.log 2>&1 & 

 # 检查是否启动成功
ps -ef|grep filebeat 

生成模型

登录kibana:192.168.XXX.XXX:5601

选择菜单:Stack Management

继续选择菜单:索引管理/Index Management 出现索引文件就是日志上传成功了

若成功选择菜单:数据视图/index pattern

创建视图后即可选择菜单Discover选择相应视图进行搜索

相关推荐
NamoAmitabha1285 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No75 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌6 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠121387 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck8 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
云老大-阿里云国际站代理商8 小时前
华为云国际站服务代理商:NAT网关怎么配?多台ECS共用公网IP要注意什么
服务器·华为云·云计算
zx_741484818 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS9 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿9 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog10 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros