ElasticStack实时分析Laravel日志

ElasticStack实时分析Laravel日志

概述

ElasticStack 是一个开源的解决方案,包括 Elasticsearch、Logstash 、Kibana、Beats等等,可以收集各种类型,各种格式的源数据,同时提供数据搜索,分析和可视化的展示。

结构

  • filebeat:收集laravel日志并写进redis

  • logstsh:logstash从redis获取数据,通过filter模块过滤,然后输出到elasticsearch

  • elasticsearch:接收logstash发送的数据

  • Kibana:将elasticsearch的数据转化为各种图表,提供数据可视化支持

安装配置

filebeat

  1. 前往elastic官网下载安装包(https://www.elastic.co/downloads/beats/filebeat)
    此处下载6.6.0的rpm安装包
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.6.0-x86_64.rpm
  1. rpm安装
rpm -ivh filebeat-6.6.0-x86_64.rpm

3.配置:修改输入输出源

vim /etc/filebeat/filebeat.yml
···
  
#=========================== Filebeat inputs =============================
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /mnt/win/WWW/testapi/storage/logs/*.log
    - /mnt/win/WWW/testweb/storage/logs/*.log
  
···

  
#================================ Outputs =====================================
output.redis:
  hosts: ["127.0.0.1:6379"]
  db: 0
  timeout: 5
  key: "laravel_log"
  
  # Optional protocol and basic auth credentials.
  #protocol: "https"
  #username: "elastic"
  #password: "changeme"
  
···
  1. 启动
systemctl start filebeat

Logstash

  1. 前往elastic官网下载安装包(https://www.elastic.co/cn/downloads/logstash)
    此处下载6.6.0的rpm安装包
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.6.0.rpm
  1. rpm安装
rpm -ivh logstash-6.6.0.rpm

3.logstash配置:

vim /etc/logstash/logstash.yml
···
  
path.config: /etc/logstash/conf.d
  
···
  
http.host: "0.0.0.0"
  
···
  
path.logs: /var/log/logstash

4.pipeline配置:

vim /etc/logstash/con.d/laravel_log.conf
# 从redis将数据取出
input {
  redis {
    type => "laravel_log"
    host => "127.0.0.1"
    port => "6379"
    db => "0"
    data_type => "list"
    key => "laravel_log"
  }
}
  
# 格式化laravel日志
filter {
   grok {
        match => [ "message","\[%{TIMESTAMP_ISO8601:logtime}\] %{WORD:env}\.(?<level>[A-Z]{4,5})\: %{GREEDYDATA:msg}}" ]
        }
}
  
# 输出到elasticsearch
output {
    elasticsearch {
        hosts => ["127.0.0.1:9200"]
        index => "laravel_log"
    }
}

  1. 启动
systemctl start logstash

ElasticSearch

  1. 前往elastic官网下载安装包(https://www.elastic.co/cn/downloads/elasticsearch)
    此处下载6.6.0的rpm安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.rpm
  1. rpm安装
rpm -ivh elasticsearch-6.6.0.rpm
  1. 配置
vim /etc/elasticsearch/elasticsearch.yml

开启并修改network.host

network.host: 0.0.0.0
  1. 启动
systemctl start elasticsearch
  1. 使用

访问 http://192.168.10.66:9200/ (IP自行替换)

Kibana

  1. 前往elastic官网下载安装包(https://www.elastic.co/cn/downloads/kibana)
    此处下载6.6.0的rpm安装包
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.6.0-x86_64.rpm
  1. rpm安装
rpm -ivh kibana-6.6.0-x86_64.rpm
  1. 配置
vim /etc/kibana/kibana.yml

修改server.hostelasticsearch.hosts

server.host: "0.0.0.0"
elasticsearch.hosts: ["http://127.0.0.1:9200"]
  1. 启动
systemctl start kibana
  1. 使用

访问 http://192.168.10.66:5601/ (IP自行替换)

日志分析

  1. 创建Index
    打开kibana,点击侧边栏最后一项 Management - Kibana - Index Patterns - Create index pattern ,根据引导,增加index

  2. 查看日志
    点击侧边栏第一项 Discover,选择对应的Index,查看生成的Laravel日志

  3. 创建图表
    打开kibana,点击侧边栏 Visualize ,根据需要新增图表

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值