1、多个日志文件作为输入源

input {
# 通过给日志事件定义类型来区分
file {
path => ["/var/log/nginx/access.log"]
type => "nginx_access"
start_position => "beginning"
} # 通过给日志事件定义类型来区分
file {
path => ["/var/log/nginx/error.log"]
type => "nginx_error"
start_position => "beginning"
} # 通过给日志事件新增字段来区分
file {
path => ["/var/log/nginx/api.log"]
add_field => {"myid" => "api"}
start_position => "beginning"
}
} filter {
# 判断类型后,分别对事件做相应处理
if [type] == "nginx_access" {
grok {
match => { "message" => "" }
}
} if [type] == "nginx_error" {
grok {
match => { "message" => "" }
}
} if [myid] == "api" {
grok {
match => { "message" => "" }
}
}
} output {
# 根据类型的不同,分别存储到不同的索引名称中
if [type] == 'nginx_access' {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "logstash_access-%{+YYYY.MM.dd}"
}
} if [type] == 'nginx_error' {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "logstash_error-%{+YYYY.MM.dd}"
}
} if [myid] == "api" {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "logstash_api-%{+YYYY.MM.dd}"
}
}
}

2、以redis作为输入源

input {
redis {
host => '10.105.199.10'
type => 'web_error'
port => ''
data_type => 'list'
key => 'web_error'
password => "E1e7ed7eF437416165597b956fac004e"
db =>
} } output {
if [type] == "web_error" {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "logstash_web_error-%{+YYYY.MM.dd}"
}
} }

 3、以kafka作为输入源

input {
kafka {
bootstrap_servers => "10.105.199.10:9092"
topics => ["www.example.com"]
codec => "json"
}
} filter {
grok {
match => {
"message" => "正则表达式匹配nginx日志"
}
}
} output {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "logstash-www.example.com_%{+YYYY.MM.dd}"
}
}

在Logstash的配置文件中对日志事件进行区分的更多相关文章

  1. 轻松测试 logstash 的配置文件

    配置文件本身非常脆弱!所以修改配置文件自然会引入部署失败的风险.如果能够对配置文件进行自动化测试将会极大的降低这种风险.本文将介绍一个可以自动化测试 logstash 配置文件的工具,让大家可以像写单 ...

  2. logstash 对配置文件conf敏感信息,密码等加密

    logstash的配置文件conf经常会涉及敏感信息,比如ES,mysql的账户密码等,以下使用logstash导入mysql为例子,加密隐藏mysql的密码. 在向keystore中添加key及其s ...

  3. 【事件中心 Azure Event Hub】使用Logstash消费EventHub中的event时遇见的几种异常(TimeoutException, ReceiverDisconnectedException)

    问题描述 使用EFK(Elasticsearch, Fluentd and Kibana)在收集日志的解决方案中, 可以先把日志发送到EventHub中,然后通过Logstash消费EventHub中 ...

  4. log4j配置文件及nutch中的日志配置

    使用slf4j作为日志系统时,由于slf4j只是一个接口,它需要一个具体实现来执行. 具体参考http://blog.csdn.net/jediael_lu/article/details/43854 ...

  5. log4j配置文件及nutch中的日志配置 分类: B1_JAVA 2015-02-17 10:58 483人阅读 评论(0) 收藏

    吐槽几句,log4j的坑啊.... (1)CLASSPATH中不能有多个log4j的版本本,否则有有奇形怪状的NoSuchMethod, NoSuchFiled, NoClassDefineFound ...

  6. log4cplus 在配置文件中设置文件路径,程序自动创建目录,且在日志文件前按日期创建相应的目录

    #include <string> #include <cstdio> #include <log4cplus/logger.h> #include <log ...

  7. 日志配置文件读取spring boot配置文件中的属性

    如果是读取 application.properties 这种spring boot的默认配置文件时 其中 scope固定为context  指明从上下文中获取, name 根据自己的意思给, sou ...

  8. logstash快速入门 (这篇文章很不错 ) | 两种方式往logstash传输数据实例:Apache 日志(从文件获取)、Syslog方式

    原文地址:http://www.2cto.com/os/201411/352015.html 原文地址:http://logstash.net/docs/1.4.2/tutorials/getting ...

  9. log4j 日志信息的引入(通用版)——解决项目运行过程中的日志信息

    定义 log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件,甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进程 ...

随机推荐

  1. Django框架(九)—— 单表增删改查,在Python脚本中调用Django环境

    目录 单表增删改查,在Python脚本中调用Django环境 一.数据库连接配置 二.orm创建表和字段 三.单表增删改查 1.增加数据 2.删除数据 3.修改数据 4.查询数据 四.在Python脚 ...

  2. JOGL图形形状

    图形对象 要访问程序特定于硬件和操作系统平台,以及其他语言编写,比如C和C++(原生应用)库,Java使用一种称为Java本地接口(JNI)编程框架的工作. JOGL内部使用此接口,如图中下面的图表来 ...

  3. Linux apache httpd virtual配置

    必须要关闭 selinux,否则无法访问目录

  4. mybatis的实际应用

    简单基本的增删改查语句就不说了,直接从一对一,一对多的关系开始: association联合:联合元素用来处理“一对一”的关系; collection聚集:聚集元素用来处理“一对多”的关系; MyBa ...

  5. 牛客网多校训练第八场A All one Matrix

    题目链接:https://ac.nowcoder.com/acm/contest/888/A 题意:求出有多少个不被包含的全1子矩阵 解题思路:首先对列做处理,维护每个位置向上1的个数,然后我们从最后 ...

  6. C# 获取系统开机时间

    原文:C# 获取系统开机时间 ///         ///  获取系统开机时间          ///         ///         private DateTime GetComput ...

  7. D3.js 弦生成器(V3版本)

    弦生成器(Chord Generator)   弦生成器(Chord Generator)根据两段弧来绘制弦,共有五个访问器,分别为source().target().radius().startAn ...

  8. 21-6-数组相关api

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. uname - 显示输出系统信息

    总览 uname [OPTION]... 描述 显示相应的系统信息. 没有指定选项时,同 -s. -a, --all 显示所有的信息 -m, --machine 显示机器(硬件)类型 -n, --no ...

  10. 2019牛客暑期多校训练营(第六场)Palindrome Mouse 回文树+dfs

    题目传送门 题意:给出一个字符串,将字符串中所有的回文子串全部放入一个集合里,去重后.问这个集合里有几对<a,b>,使得a是b的子串. 思路:一开始想偏了,以为只要求每个回文串的回文后缀的 ...