在Logstash的配置文件中对日志事件进行区分
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的配置文件中对日志事件进行区分的更多相关文章
- 轻松测试 logstash 的配置文件
配置文件本身非常脆弱!所以修改配置文件自然会引入部署失败的风险.如果能够对配置文件进行自动化测试将会极大的降低这种风险.本文将介绍一个可以自动化测试 logstash 配置文件的工具,让大家可以像写单 ...
- logstash 对配置文件conf敏感信息,密码等加密
logstash的配置文件conf经常会涉及敏感信息,比如ES,mysql的账户密码等,以下使用logstash导入mysql为例子,加密隐藏mysql的密码. 在向keystore中添加key及其s ...
- 【事件中心 Azure Event Hub】使用Logstash消费EventHub中的event时遇见的几种异常(TimeoutException, ReceiverDisconnectedException)
问题描述 使用EFK(Elasticsearch, Fluentd and Kibana)在收集日志的解决方案中, 可以先把日志发送到EventHub中,然后通过Logstash消费EventHub中 ...
- log4j配置文件及nutch中的日志配置
使用slf4j作为日志系统时,由于slf4j只是一个接口,它需要一个具体实现来执行. 具体参考http://blog.csdn.net/jediael_lu/article/details/43854 ...
- log4j配置文件及nutch中的日志配置 分类: B1_JAVA 2015-02-17 10:58 483人阅读 评论(0) 收藏
吐槽几句,log4j的坑啊.... (1)CLASSPATH中不能有多个log4j的版本本,否则有有奇形怪状的NoSuchMethod, NoSuchFiled, NoClassDefineFound ...
- log4cplus 在配置文件中设置文件路径,程序自动创建目录,且在日志文件前按日期创建相应的目录
#include <string> #include <cstdio> #include <log4cplus/logger.h> #include <log ...
- 日志配置文件读取spring boot配置文件中的属性
如果是读取 application.properties 这种spring boot的默认配置文件时 其中 scope固定为context 指明从上下文中获取, name 根据自己的意思给, sou ...
- logstash快速入门 (这篇文章很不错 ) | 两种方式往logstash传输数据实例:Apache 日志(从文件获取)、Syslog方式
原文地址:http://www.2cto.com/os/201411/352015.html 原文地址:http://logstash.net/docs/1.4.2/tutorials/getting ...
- log4j 日志信息的引入(通用版)——解决项目运行过程中的日志信息
定义 log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件,甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进程 ...
随机推荐
- 戏说 .NET GDI+系列学习教程(三、Graphics类的应用_验证码扩展)
从别人那拷贝的 #region 定义和初始化配置字段 //用户存取验证码字符串 public string validationCode = String.Empty; //生成的验证码字符串 pub ...
- 拾遗:git pull 与 push 远程分支与本地分支顺序识别问题
最后放置的都是数据最终到达的仓库分支名称 对于pull来说,是拉到本地,所以本地仓库分支名称写在最后 git pull [--force] [remote repo]:[my repo] 对于push ...
- Git 学习第四天
我们已经知道,通过命令 git remote add origin git@github.com/Your.name/file.git 可以连接远程仓库,那么,假如我现在想切换另个一远程仓库的连接应该 ...
- DQL 数据查询语言 show
2.show show databases; 查看所有的库 show tables; 查看当前库的所有的表 show tables from database; 查看指定的库下的所有表 show pr ...
- cdh5.47 上配置flume
flume 配置文件 # Define a memory channel called ch1 on agent1agent1.channels.ch1.type = memoryagent1.cha ...
- WebServer Project-01-反射
简介 上网浏览网页,离不开服务器,客户请求页面,服务器响应页面,响应的内容是根据每个web请求来产生动态内容的,其内部即启动多个线程来产生不同内容.这种请求响应的交互,都是基于HTTP协议的. 当然现 ...
- 【Codeforces】450 B(div2)
题目链接:http://codeforces.com/problemset/problem/450/B 题意: 求这个的第n项. 题解:$f_{i+1} = f_i - f_{i-1} $ \begi ...
- 在Nginx/Tengine服务器上安装证书
可以从SSL证书服务控制台下载证书安装到Nginx/Tengine服务器上. 环境:以CentOS 7.Nginx 1.15.6为例. 证书名称以domain name为示例,如证书文件名称为doma ...
- SQL登录报错
在安装完SQL后,发现报出了error40和53的错误,作为小白的我也是一脸懵逼,明明一切都是按照默认加下一步安装的,为什么到了连接数据库的时候就出现了问题呢? 后来经过调查,发现需要将sql配置管理 ...
- 微服务(Microservices)和服务网格(Service Mesh)的架构概念
注:文章内容为摘录性文字,自己阅读的一些笔记,方便日后查看. 微服务(Microservices) 在过去的 2016 年和 2017 年,微服务技术迅猛普及,和容器技术一起成为这两年中最吸引眼球的技 ...