IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> ELK 上手4 安装filebeat并读取ThinkPHP5日志写入logstash -> 正文阅读

[系统运维]ELK 上手4 安装filebeat并读取ThinkPHP5日志写入logstash

一、准备环境

  • CentOS
  • 已安装ELK

二、安装filebeat

官网下载地址:
https://www.elastic.co/cn/downloads/beats/filebeat

cd ~/home
https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.16.2-linux-x86_64.tar.gz
tar -xzvf filebeat-7.16.2-linux-x86_64.tar.gz
rm filebeat-7.16.2-linux-x86_64.tar.gz
cd filebeat-7.16.2-linux-x86_64/

# 修改配置文件 
vim filebeat.yml

直接连接logstash:
设置:


filebeat.inputs:
- type: filestream
  enabled: true
  paths:
    - ./sample.log
 
output.logstash:
  hosts: ["localhost:9600"] 

显示结果:

[root@local filebeat-7.16.2-linux-x86_64]$ ./filebeat test output
logstash: localhost:9600...
  connection...
    parse host... OK
    dns lookup... OK
    addresses: ::1, 127.0.0.1
    dial up... OK
  TLS... WARN secure connection disabled
  talk to server... OK

三、logstash设置

input {
  beats {
    port => 9600
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "你的索引名称_%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  }
}

这里定义了4561接收日志,并输出到elasticsearch。
重新加载logstash。

四、启动filebeat调试

./filebeat -e -c filebeat.yml
# 后台启动
nohup ./filebeat -e -c filebeat.yml > /dev/null &

五、到kibana建一个索引,名称与自己建的索引名称一致

在这里插入图片描述然后去Discover,发现这时可以看到日志了,但格式不太友好。
在这里插入图片描述

六、filebeat配置多行日志选项

配置多行日志配置项示例:

multiline.pattern: '^\['
multiline.negate: true
multiline.match: after

上面意思是将所有不是以[开头的行与之前行进行合并 。

参数讲解:

multiline.pattern 匹配多行的正则表达式
multiline.negate 多行模式是否禁用,默认为false
multiline.match 如何合并,可选的值是 after 或者 before。
multiline.flush_pattern 指定一个正则表达式,多行将从内存刷新到磁盘。
multiline.max_lines  可以合并成一个事件的最大行数,超出将丢弃,默认值500。

正则表达式可以使用:space:表示空格,如:

multiline.pattern: '^[[:space:]]'

表示合并以空格开始的行。
可以使用|来表示或操作:

multiline.pattern: '^[[:space:]]+(at|\.{3})\b|^Caused by:'

上面表示空格开头或以Caused by:开头的进行合并。

下面是合并反斜杠结束的行,使用一个\转义。$是代表结束符

multiline.pattern: '\\$'

针对ThinkPHP日志特点,起始行会有一排 -----,所以可以设置多行匹配模式如下:

filebeat.inputs:

- type: filestream

  enabled: true
  paths:
    - /var/log/*.log
  multiline.pattern: '^---------------------------------------------------------------'
  multiline.negate: true
  multiline.match: after
  encoding: utf-8

这时再去kibana看日志显示,点击左侧message,只显示message内容 ,这时右边显示就友好多了:
在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 14:23:11  更:2022-01-01 14:23:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 6:19:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码