美文网首页
linux安装logstash

linux安装logstash

作者: KwongRay | 来源:发表于2020-05-11 14:08 被阅读0次

logstash 7.x
一、下载软件
二、安装部署
2.1. 准备patterns文件
2.2. 创建配置文件
2.3. 后台运行
一、下载软件
https://www.elastic.co/cn/downloads/logstash

二、安装部署
2.1. 准备patterns文件
到logstash的目录下,创建patterns目录

mkdir patterns
在patterns目录里新建一个java的patterns文件

内容如下:

user-center

MYAPPNAME ([0-9a-zA-Z_-]*)

RMI TCP Connection(2)-127.0.0.1

MYTHREADNAME ([0-9a-zA-Z._-]|(|)|\s)*
就是一个名字叫做java的文件,不需要文件后缀

2.2. 创建配置文件
到logstash的config目录下创建logstash.conf文件

需要修改以下地方

filter 块中的patterns_dir路径
output 块中的密码
vim logstash.conf

input {
beats {
port => 5044
}
}

filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:[%{POSINT:syslog_pid}])?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
syslog_pri { }
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
if [fields][docType] == "sys-log" {
grok {
patterns_dir => ["/opt/logstash-7.6.1/patterns"]
match => { "message" => "[%{NOTSPACE:appName}:%{NOTSPACE:serverIp}:%{NOTSPACE:serverPort}] %{TIMESTAMP_ISO8601:logTime} %{LOGLEVEL:logLevel} %{WORD:pid} [%{MYAPPNAME:traceId}] [%{MYTHREADNAME:threadName}] %{NOTSPACE:classname} %{GREEDYDATA:message}" }
overwrite => ["message"]
}
date {
match => ["logTime","yyyy-MM-dd HH:mm:ss.SSS Z"]
}
date {
match => ["logTime","yyyy-MM-dd HH:mm:ss.SSS"]
target => "timestamp"
locale => "en"
timezone => "+08:00"
}
mutate {
remove_field => "logTime"
remove_field => "@version"
remove_field => "host"
remove_field => "offset"
}
if [fields][docType] == "point-log" {
grok {
patterns_dir => ["/opt/logstash-7.6.1/patterns"]
match => {
"message" => "%{TIMESTAMP_ISO8601:logTime}|%{MYAPPNAME:appName}|%{WORD:resouceid}|%{MYAPPNAME:type}|%{GREEDYDATA:object}"
}
}
kv {
source => "object"
field_split => "&"
value_split => "="
}
date {
match => ["logTime","yyyy-MM-dd HH:mm:ss.SSS Z"]
}
date {
match => ["logTime","yyyy-MM-dd HH:mm:ss.SSS"]
target => "timestamp"
locale => "en"
timezone => "+08:00"
}
mutate {
remove_field => "message"
remove_field => "logTime"
remove_field => "@version"
remove_field => "host"
remove_field => "offset"
}
}
if [fields][docType] == "mysqlslowlogs" {
grok {
match => [
"message", "#\s+User@Host:\s+%{USER:user}[[]]+]\s+@\s+(?:(?<clienthost>\S) )?[(?:%{IP:clientip})?]\s+Id:\s+%{NUMBER:id}\n# Query_time: %{NUMBER:query_time}\s+Lock_time: %{NUMBER:lock_time}\s+Rows_sent: %{NUMBER:rows_sent}\s+Rows_examined: %{NUMBER:rows_examined}\nuse\s(?<dbname>\w+);\nSET\s+timestamp=%{NUMBER:timestamp_mysql};\n(?<query_str>[\s\S])",
"message", "#\s+User@Host:\s+%{USER:user}[[]]+]\s+@\s+(?:(?<clienthost>\S) )?[(?:%{IP:clientip})?]\s+Id:\s+%{NUMBER:id}\n# Query_time: %{NUMBER:query_time}\s+Lock_time: %{NUMBER:lock_time}\s+Rows_sent: %{NUMBER:rows_sent}\s+Rows_examined: %{NUMBER:rows_examined}\nSET\s+timestamp=%{NUMBER:timestamp_mysql};\n(?<query_str>[\s\S])",
"message", "#\s+User@Host:\s+%{USER:user}[[]]+]\s+@\s+(?:(?<clienthost>\S) )?[(?:%{IP:clientip})?]\n# Query_time: %{NUMBER:query_time}\s+Lock_time: %{NUMBER:lock_time}\s+Rows_sent: %{NUMBER:rows_sent}\s+Rows_examined: %{NUMBER:rows_examined}\nuse\s(?<dbname>\w+);\nSET\s+timestamp=%{NUMBER:timestamp_mysql};\n(?<query_str>[\s\S])",
"message", "#\s+User@Host:\s+%{USER:user}[[]]+]\s+@\s+(?:(?<clienthost>\S) )?[(?:%{IP:clientip})?]\n# Query_time: %{NUMBER:query_time}\s+Lock_time: %{NUMBER:lock_time}\s+Rows_sent: %{NUMBER:rows_sent}\s+Rows_examined: %{NUMBER:rows_examined}\nSET\s+timestamp=%{NUMBER:timestamp_mysql};\n(?<query_str>[\s\S])"
]
}
date {
match => ["timestamp_mysql","yyyy-MM-dd HH:mm:ss.SSS","UNIX"]
}
date {
match => ["timestamp_mysql","yyyy-MM-dd HH:mm:ss.SSS","UNIX"]
target => "timestamp"
}
mutate {
convert => ["query_time", "float"]
convert => ["lock_time", "float"]
convert => ["rows_sent", "integer"]
convert => ["rows_examined", "integer"]
remove_field => "message"
remove_field => "timestamp_mysql"
remove_field => "@version"
}
}
}

output {
if [fields][docType] == "sys-log" {
elasticsearch {
hosts => ["http://localhost:9200"]
user => "elastic"
password => "qEnNfKNujqNrOPD9q5kb"
index => "sys-log-%{+YYYY.MM.dd}"
}
}
if [fields][docType] == "point-log" {
elasticsearch {
hosts => ["http://localhost:9200"]
user => "elastic"
password => "qEnNfKNujqNrOPD9q5kb"
index => "point-log-%{+YYYY.MM.dd}"
routing => "%{type}"
}
}
if [fields][docType] == "mysqlslowlogs" {
elasticsearch {
hosts => ["http://localhost:9200"]
user => "elastic"
password => "qEnNfKNujqNrOPD9q5kb"
index => "mysql-slowlog-%{+YYYY.MM.dd}"
}
}
}
复制
2.3. 后台运行
nohup bin/logstash -f config/logstash.conf &

相关文章

  • Linux安装Logstash

    本文介绍Linux环境如何安装Logstash 本文环境是在腾讯云服务器CentOS7.2搭建的,JDK1.8,L...

  • linux安装logstash

    logstash 7.x一、下载软件二、安装部署2.1. 准备patterns文件2.2. 创建配置文件2.3. ...

  • Linux安装Logstash

    前言 logstash是ELK日志系统中的一部分,主要承担将收集完成日志进行过滤,并且输出到es的职责。 Logs...

  • Linux 下 安装 Logstash

    前提 安装 Logstash 前确保有安装 Java,如果没有安装则需要先安装Java,关于Linux 下安装 J...

  • centos7搭建ElasticSearch环境

    linux环境: centos7es版本:7.0.0java版本:1.8搭建filebeat安装logstash ...

  • linux下安装logstash

    准备工作 准备工作请见 linux下安装elasticsearch 获取 logstash 配置环境变量 修改文件...

  • 2022.06.30 Linux 安装 Logstash

    一、下载地址 https://www.elastic.co/cn/downloads/past-releases#...

  • kafka->logstash

    一、安装kafka 请参考:kafka安装 二、安装logstash 请参考:logstash安装 三、kafka...

  • logstash+elasticsearch+kibana搭建日

    logstash+elasticsearch+kibana搭建日志平台 Linux环境下快速搭建logstash+...

  • Logstash采集Nginx日志写入ES

    Logstash采集Nginx日志方式 RPM安装Logstash采集Nginx日志 Docker安装Logsta...

网友评论

      本文标题:linux安装logstash

      本文链接:https://www.haomeiwen.com/subject/pujunhtx.html