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. Cell的复用机制问题总结

    创建方式汇总,注册和不注册Cell注册的两种方式 1.tableView registerNib:(nullable UINib *) forCellReuseIdentifier:(nonnull ...

  2. Address already in use: JVM_Bind 8083端口被占用的几个解决办法

    运行Tomcat时若出现Address already in use: JVM_Bind 端口被占用,一般使用下面几个办法可以解决: 假设端口为8083 1.启动cmd, 执行命令netstat -a ...

  3. 根据已知值,选中selec中的选项

    $("#modal").find("select[name=materialType]").find("option").each(func ...

  4. AWS cloudfront

    添加新跳转的时候添加的参数 AcceptAccess-Control-Allow-OriginAuthorizationCloudFront-Forwarded-ProtoCloudFront-Vie ...

  5. IDEA2017.3.1破解激活

    idea激活有多种方式,网上较多的是使用注册码或者填License server网址,目前(2017年8月19日)使用注册码的方式,亲测可用的只有lanyun提供的注册码,但是会在2017年11月份的 ...

  6. UVA11021 Tribles 概率dp

    题目传送门 题意:开始有$k$只兔子,每只都是活一天就死,每只死前都会有$pi$的概率生出$i$只兔子.求$m$天后兔子死光的概率. 思路: 设$f[i]$为一只兔子在第i天死完的概率,那么答案就是$ ...

  7. SSL/TLS工作原理

    以前已经介绍过HTTP协议和HTTPS协议的区别,这次就来了解一下HTTPS协议的加密原理. 为了保证网络通信的安全性,需要对网络上传递的数据进行加密.现在主流的加密方法就是SSL (Secure S ...

  8. 判断有向无环图(DAG)

    1.拓扑排序 bfs 所有入度为0的先入选. 2.tarjan 1个点1个集合 3.暴力 一个点不能重新到达自己

  9. mui框架页面每次加载操作

    最近在优化自己用mui开发的app,主要还是针对交互这块儿,这里简单给大家说一下问题点场景,就是我是通过动态添加底部tabBar的方法创建了一个底部可以切换的操作区域,代码如下: mui.init() ...

  10. flyway 管理数据库版本

    Flyway 和 Liquibase 都是 Java 项目中常用的 DB migration 工具, 从使用简便性看,Flyway 比 Liquibase 更简单, 从 github 的 star 数 ...