当前位置: 代码迷 >> 综合 >> Easticsearch+Kibana+Logstash(ELK) 搭建实践
  详细解决方案

Easticsearch+Kibana+Logstash(ELK) 搭建实践

热度:44   发布时间:2023-12-16 14:19:00.0

搭建环境

  • Linux centos7 虚拟机
  • jdk8
  • elk 版本都是 7.2 (注意版本必须都对应,否则可能存在安装不成功)
  • 软件安装目录为 /usr/local/mysoft/
  • 软件包集合

Easticsearch+Kibana 搭建

参考 搭建流程

Logstash 搭建

# 1、下载安装包(建议使用迅雷下载)
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.2.0.tar.gz
tar -zxf logstash-7.2.0.tar.gz
cp -r logstash-7.2.0 /usr/local/mysoft/
# 2. 修改配置文件 jvm 参数 
# -Xms256m
# -Xmx256m
vi /usr/local/mysoft/logstash-7.2.0/config/jvm.options
# 3. 启动 logstash (抓取标准输入,然后输出到标准输出)
/usr/local/mysoft/logstash-7.2.0/bin/logstash -e 'input {stdin {}} output {stdout {}}'
# 验证。启动完成后输入任何内容回车都会返回你输出的内容

在这里插入图片描述

logstash 处理日志流程

input->decode->filter->encode->output

使用配置文件启动logstash

  1. 准备配置文件
# test1.conf 配置文件
input {
    # 从文件读取日志信息 输送到控制台file {
    path => "/usr/local/mysoft/logstash-7.2.0/test/test.log"# codec => "json" ## 以JSON格式读取日志type => "elasticsearch"start_position => "beginning"}
}# filter {
    #过滤日志# }output {
    # 标准输出# stdout {}# 输出进行格式化,采用Ruby库来解析日志stdout {
     codec => rubydebug }
}
  1. 启动
    在这里插入图片描述
  2. 往input 监控的日志文件中追加数据
cat "第一行日志" >> /usr/local/mysoft/logstash-7.2.0/test/test.log

在这里插入图片描述

使用配置文件启动logstash 日志输送至 Easticsearch

  1. 配置文件
input {
    file {
    path => "/usr/local/mysoft/logstash-7.2.0/test/test.log"type => "elasticsearch"start_position => "beginning" #从文件开始处读写}
}output{
    elasticsearch{
    hosts=>["192.168.101.10:9200"]# 指定索引创建的索引index => "es-message-%{+YYYY.MM.dd}"}# 同时输出在标准输出stdout{
    codec => rubydebug}
}
  1. 往指定的日志文件追加内容
echo "你好 朋友!!" >> test.log
  1. 访问es 的当天索引可查看是否录入进去
    http://192.168.101.10:9200/es-message-2020.03.07/_search

实战场景模拟

后台日志文件 被Logstash 抓取输送到 easticsearch 中,最后使用 kibana 可视化界面实现日志搜索。

  1. 启动 Easticsearch
  2. 启动 Logstash
# 启动的配置文件
input {
    file {
    path => "/usr/local/mysoft/logstash-7.2.0/test/new.log"type => "elasticsearch"start_position => "beginning" #从文件开始处读写}
}output{
    elasticsearch{
    hosts=>["192.168.101.10:9200"]# 指定索引创建的索引index => "es-message-%{+YYYY.MM.dd}"}# 同时输出在标准输出stdout{
    codec => rubydebug}
}# 启动
./logstash -f ../test/test_myes.conf
  1. 往监控的input 文件输送内容
echo 'fisrt time' >> new.log
echo 'fisrt run' >> new.log
echo 'new run' >> new.log

在这里插入图片描述

  1. 启 动 Kibana
    1) 打开 kibana 面板 ip:port 本例(http://192.168.101.10:5601/)
    2)创建搜索的索引
    在这里插入图片描述
    在这里插入图片描述
    3)重新点击到 右上角的 Discover,可以进行搜索
    在这里插入图片描述

总结

本文主要讲解 elk 的搭建过程,着重介绍了logstash 如何抓取日志,如何配置抓取日志的文件,如何配置输送日志到 easticsearch 。最后讲解了如何在 kibana 面板 进行日志查询。

  相关解决方案