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. (10)centos7 包管理、远程传文件

    一.RPM red package manager 红帽包管理工具 -q 查询 -a 已安装的所有rpm 1.查询已安装的rpm列表 -qa 查看所有的rpm安装包 rpm -qa | grep py ...

  2. 戏说 .NET GDI+系列学习教程(二、Graphics类的方法)

    一.DrawBezier 画立体的贝尔塞曲线 private void frmGraphics_Paint(object sender, PaintEventArgs e) { Graphics g ...

  3. System之nanoTime函数

    原文地址:https://blog.csdn.net/yumolan4325/article/details/79201766 1 System有一个静态的函数nanoTime函数,该函数是返回纳秒的 ...

  4. JUC源码分析-线程池篇(三)ScheduledThreadPoolExecutor

    JUC源码分析-线程池篇(三)ScheduledThreadPoolExecutor ScheduledThreadPoolExecutor 继承自 ThreadPoolExecutor.它主要用来在 ...

  5. Java高级进阶:自定义ClassLoader

    假如我们的类不在classpath下,而我们又想读取一个自定义的目录下的class,如果做呢? 读取自定义目录的类 示例读取c:/test/com/test.jdk/Key.class这个类. pac ...

  6. pcA降维 SVD

    前言: PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的.在上篇文章中便是基于特征值分解的一种解释.特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中.而且线 ...

  7. 2019ICPC南京网络赛F Greedy Sequence

    题意:对于1<=i<=n每次找到(pos[i]-k,pos[i]+k)内不大于i的最大那个数,ans[i]=ans[mx]+1,若ans[mx]未知则递归处理ans[mx] PS:这个题比 ...

  8. 矢量切片应用中geoserver与geowebcache分布式部署方案

    在进行GIS项目开发中,常使用Geoserver作为开源的地图服务器,Geoserver是一个JavaEE项目,常通过Tomcat进行部署.而GeoWebCache是一个采用Java实现用于缓存WMS ...

  9. C#跨线程访问(一) ---- SynchronizationContext

    一.SynchronizationContext顾名思义是同步上下文的意思.利用此对象可以实现线程间数据的同步.异步访问. 二.例子 class Program { static Thread _wo ...

  10. 2018-8-10-C#-配置文件存储-各种序列化算法性能比较

    title author date CreateTime categories C# 配置文件存储 各种序列化算法性能比较 lindexi 2018-08-10 19:16:52 +0800 2018 ...