栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

生产上使用ELK 详细搭建流程以及解析ng日志以及服务产生日志

生产上使用ELK 详细搭建流程以及解析ng日志以及服务产生日志

上一章节 我们说了如何安装 ElasticSearch,下面我们来安装剩下的 kibana 以及 logstash 跟 filebeat

安装 kibana

简介:Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。

https://www.elastic.co/cn/kibana/

去到官网 https://www.elastic.co/cn/downloads/kibana 找到对应版本的kibana 下载链接地址

cd /home
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.15.2-linux-x86_64.tar.gz
tar -zxcf  kibana-7.15.2-linux-x86_64.tar.gz
mv kibana-7.15.2 kibana

配置kibana
vi /home/kibana/config/kibana.yml

  server.host: “0.0.0.0" #所有地址都可以打开
  server.port: 5601 #端口
  elasticsearch.hosts: ["http://localhost:9200”] #es服务地址
  i18n.locale: "zh-CN” #设置成中文

启动kibana
 ./kibana/bin/kibana & 
  如果是root 用户启动 ./kibana/bin/kibana --allow-root & 

Logstash 安装

简介:Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中

https://www.elastic.co/cn/logstash/

去到官网 https://www.elastic.co/cn/downloads/logstash 找到对应版本的 logstash 下载链接地址

cd /home
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.15.2-linux-x86_64.tar.gz
tar -zxcf  logstash-7.15.2-linux-x86_64.tar.gz
mv logstash-7.15.2 logstash

测试语法
./bin/logstash -e 'input {stdin {}} output { stdout{}}’
启动成功后,控制台输入字符 回车就,然后 logstash 也会输出对应的结果

检测文件配置是否ok. -t OR --config.test_and_exit
./bin/logstash -f ./config/logstash-filebeat-console.yml —config.test_and_exit

启动Logstash的时候使用--config.reload.automatic或-r选项来开启自动重载配置。例如:
bin/logstash -f apache.config —config.reload.automatic

Logstash文档
  https://www.kancloud.cn/aiyinsi-tan/logstash/966055

Logstash 配置

logstash-filebeat-console.yml 这是测试 filebeat 传输数据过来,logstash 打印到控制台

input {
  beats {
    port => 5044 #跟 FileBeat 的端口保持一致
  }
}
 filter {
      mutate {
        remove_field => [ "input", "log", "ecs", "@version", "agent", "tags", "host" ]
      }
}
output {
  stdout {
    codec => rubydebug
  }
}



logstash-elasticsearch.yml  这是 filebeat 传输数据过来,logstash 打印到控制台 并同步到 elasticsearch 的配置

input {
  beats {
    port => 5044  #跟 FileBeat 的端口保持一致
  }
}
filter {
      mutate {
        remove_field => [ "input", "log", "ecs", "@version", "agent", "tags", "host" ]
        #rename => {"@timestamp" => "date"}
      }
      #grok { match => [ "dete", "%{HTTPDATE:[@metadata][timestamp]}" ] }
      #date { match => [ "[@metadata][timestamp]", "dd/MMM/yyyy:HH:mm:ss Z" ] }
}
output {
  elasticsearch {
    hosts => ["127.0.0.1:9200"]
    index => "llh_logstash"
  }
  stdout {
    codec => rubydebug
  }
}


插件介绍:
Grok内置的表达式
     https://github.com/logstash-plugins/logstash-patterns-core/blob/main/patterns/
     全部表达式:https://github.com/logstash-plugins/logstash-patterns-core/blob/main/patterns/ecs-v1/grok-patterns
Grok 文档
     https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html#plugins-filters-grok-break_on_match

可以在 kibana 开发工具 —> Grok Debugger 测试你的表达式
例子:
[25/Nov/2021:11:37:45 +0800] - - 408 0.000 - 0 "GET /soa_health_check.php?from=goproxy&get_sdk_info=1 HTTP/1.1" "-" - - "10.129.37.166"  Go-http-client/1.1" /usr/local/openresty/nginx/html/soa_health_check.php

Grok 表达式
[%{HTTPDATE:date}] - - %{NUMBER:bytes} %{NUMBER:duration} - %{NUMBER} "%{WORD:method} %{NOTSPACE:uri} %{NOTSPACE:http_version}" "%{NOTSPACE}" - - "%{IP:ip}”


Grok 其他的一些配置项目:
https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html#plugins-filters-grok-common-options


Mutate 插件 可以重命名、删除、替换和修改事件中的字段。
  https://www.elastic.co/guide/en/logstash/current/plugins-filters-mutate.html

FileBeat 安装

简介:Filebeat 都将为您提供一种轻量型方法,用于转发和汇总日志与文件,让简单的事情不再繁杂

https://www.elastic.co/cn/beats/filebeat

去到官网 https://www.elastic.co/cn/downloads/beats/filebeat 找到对应版本的 filebeat 下载链接地址

cd /home
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.15.2-linux-x86_64.tar.gz
tar -zxcf  filebeat-7.15.2-linux-x86_64.tar.gz
mv filebeat-7.15.2 filebeat


配置 filebeat
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /www/wwwlogs/*.log


# ------------------------------ Logstash Output -------------------------------
output.logstash:
  # The Logstash hosts
  hosts: ["127.0.0.1:5044”] # #跟 logstash 的端口保持一致


—— 启动 filebeat
   ./filebeat/bin/filebeat -e -c filebeat.yml

如果logstash 没有启动,那filebeat 启动就会有错误

测试都没有问题:
依次启动顺序:elasticsearch —> kibana —> logstash —> filebeat

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/603989.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号