在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守护进程 ...
随机推荐
- SonarQube搭建和使用教程
我想使用 SonarQube 查阅代码 请问怎么做,现在只有一个要审查代码的项目
- Dubbo入门到精通学习笔记(十七):FastDFS集群的安装、FastDFS集群的配置
文章目录 FastDFS集群的安装 FastDFS 介绍(参考:http://www.oschina.net/p/fastdfs) FastDFS 上传文件交互过程: FastDFS 下载文件交互过程 ...
- 并发编程(二)——利用Process类开启进程、僵尸进程、孤儿进程、守护进程、互斥锁、队列与管道
Process类与开启进程.守护进程.互斥锁 一.multiprocessing模块 1.multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模 ...
- python3 递归函数return返回None
今天写了一个函数,执行之后打印出来的结果是None,不明白,之后百度了一下,这里记一下过程,免得之后再踩坑 #!/usr/bin/python3# -*- coding:utf-8 -*- def b ...
- Selenium3 + Python3自动化测试系列七——多窗口切换
多窗口切换 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作. WebDriver提供了switch_to.window()方法,可以实现在不同的窗口之间切 ...
- zabbix--源码安装部署zabbix3.2
zabbix运行在lamp环境或者lnmp环境都是可以的,如果是新系统推荐使用lamp或者lnmp一键安装包, 或者可以向下面这种方式: PHP安装 源码安装 rpm -ivh php55w-comm ...
- createBottomTabNavigator: 怎么在切换tab的时候让页面重新渲染
1.import withNavigationFocus from react-navigation to your class . 2.hen export your like this : exp ...
- kali 修改默认语言
打开 /etc/default/locale将 LANG="en_US.UTF-8" 修改成 LANG="zh_CN.UTF-8"重启 reboot 配置方法 ...
- leetcode -有效的字母异位词 python&C++
C++解题代码: class Solutiion { public: bool isAnagram(string s, string t) { ](); int n = s.length(); int ...
- Android 防止切换横屏闪退
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="ht ...