输入内容中最好不要出现 "type":"...",key为type的json。它会覆盖配置文件中的type。导致type不相等,不执行output es操作。

比如json:{"type":"123"}

logstash配置文件为:

input {
kafka {
bootstrap_servers => "111.111.1.1:9092"
topics => ["test"]
group_id => "test_group_main"
client_id => "test_kafka_client_25"
type => "test_logstash_25"
}
} filter {
if [type] == "test_logstash_25" {
json {
source => "message"
remove_field => ["message"]
}
}
} output { if [type] == "test_logstash_25" { #这里的type值变成了123,取自json。导致不存es库。
elasticsearch {
hosts=> ["111.111.11.111:9200"]
index=> "my_test-%{+YYYY.MM.dd}"
codec => json
}
}
}

自动重新加载配置

为了可以自动检测配置文件的变动和自动重新加载配置文件,需要在启动的时候使用以下命令:

./bin/lagstash -f configfile.conf --config.reload.automatic
1
默认,检测配置文件的间隔时间是3秒,可以通过以下命令改变

--config.reload.interval <second>
1
如果已经运行了没有提供自动重启的logstash,可以发送一个挂起命令给logstash重新加载配置文件:

kill -1 <pid>
1
配置文件自动重载工作原理

检测到配置文件变化
通过停止所有输入停止当前pipline
用新的配置创建一个新的管道
检查配置文件语法是否正确
检查所有的输入和输出是否可以初始化
检查成功使用新的pipeline替换当前的pipeline,
检查失败,使用旧的继续工作.
在重载过程中,jvm没有重启.

注意事项

stdin输入插件不支持自动重启.
syslog作为输入源,当重载配置文件时,会崩溃.请看: https://github.com/logstash-plugins/logstash-input-syslog/issues/40
---------------------
作者:落叶下的光
来源:CSDN
原文:https://blog.csdn.net/qq_32292967/article/details/78622647
版权声明:本文为博主原创文章,转载请附上博文链接!

启动时加载目录下所有配置文件:配置文件必须要以 config 为后缀。 yml在指定单个可以执行,批量就不认了!!!

bin/logstash -f ./config/ (bin/logstash -f ./config/*还是启动第一个)

需要用pipeline.xml


验证正确性:

bin/logstash -f first-pipeline.conf --config.test_and_exit
bin/logstash -f first-pipeline.conf --config.reload.automatic  自动加载

./bin/logstash  --path.settings ./bak.config/ 自己设定config目录

logstash 自动重新加载配置的更多相关文章

  1. PHP设计模式:类自动载入、PSR-0规范、链式操作、11种面向对象设计模式实现和使用、OOP的基本原则和自动加载配置

    一.类自动载入 SPL函数 (standard php librarys) 类自动载入,尽管 __autoload() 函数也能自动加载类和接口,但更建议使用 spl_autoload_registe ...

  2. PHP自动加载配置ArrayAccess类

    ArrayAccess是PHP的类,可以把对象当成数组来使用访问. Config.php   配置类 <?php namespace IMooc; class Config implements ...

  3. Intellij如何设置编译后自动重新加载class文件?

    前段时间突然发现Intellij不能自动重新加载类了,每次编译后都要重新启动项目,才能显示更新效果,后来网上查询Intellij下如何配置热部署,都说是要配置构件,然后在web容器的编辑页面选择upd ...

  4. Supervisor重新加载配置

    Supervisor重新加载配置启动新的进程 liaojie 发布于 1年前,共有 0 条评论 一.添加好配置文件后 二.更新新的配置到supervisord supervisorctl update ...

  5. SpringMVC加载配置Properties文件的几种方式

    最近开发的项目使用了SpringMVC的框架,用下来感觉SpringMVC的代码实现的非常优雅,功能也非常强大, 网上介绍Controller参数绑定.URL映射的文章都很多了,写这篇博客主要总结一下 ...

  6. 在线配置热加载配置 go-kratos.dev 监听key

    paladin https://v1.go-kratos.dev/#/config-paladin example Service(在线配置热加载配置) # service.go type Servi ...

  7. ExtJs基础知识总结:自定义弹窗和ComboBox自动联想加载(四)

    概述 Extjs弹窗可以分为消息弹窗.对话框,这些弹窗的方式ExtJs自带的Ext.Msg.alert就已经可以满足简单消息提示,但是相对复杂的提示,比如如何将Ext.grid.Panel的控件显示嵌 ...

  8. nginx 启动,停止和重新加载配置

    要启动nginx的,运行可执行文件.一旦nginx的启动时,它可以通过与-s参数调用可执行来控制.使用以下语法 nginx -s signal 其中,信号可以是下列之一: stop - fast sh ...

  9. ecshop 工作流程加载配置介绍

    ecshop 工作流程加载配置介绍 分类: ecshop2014-09-14 09:36 729人阅读 评论(2) 收藏 举报 模板引擎工作流 这里简单介绍下echsop工作流程: 首先,你会发现一般 ...

随机推荐

  1. vue路由懒加载 及import

  2. 【AO笔记】关于创建IFeatureClass中的参考系设置——不能为null也不能为IUnknownCoodinateSystem

    创建一个要素类是很简单的,只需要获取一枚IFeatureWorkspace或者一个IFeatureDataset,然后调用其CreateFeatureClass()即可. 这个CreateFeatur ...

  3. 【Android】用Cubism 2制作自己的Live2D——官方App样例源码学习(2)!

    前言- 明确了项目目录的结构,但是结构什么的也太"抽象"了. 本篇开始上代码! 模型的绘制- 前几天的学习中,live2d的绘制有了一些了解了,在Android端使用OpenGL ...

  4. Jmeter使用JDBC请求简介

    1.现在oracle或mysql的jdbc然后放到jmeter的lib路径下 2.添加jdbc默认请求控件. 3.添加jdbc请求 4.发送 5.出现ORA-00911错误是由于sql语句错误,注意别 ...

  5. 简单概括下MongoDB 4.0 新特性

    (1)跨文档事务支持 (ACID) 首个支持跨文档事务的NoSQL云数据库,将文档模型的速度,灵活性和功能与ACID保证相结合.现在,使用MongoDB解决各种用例变得更加容易. (2)40%迁移速度 ...

  6. Django 数据库读写分离 分库分表

    多个数据库 配置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BA ...

  7. python学习——读取染色体长度(三、用循环或者函数求总长并获取最长染色体长度)

    # 读取fasta # 解析每条序列的长度 chr_len = [10,20,30,40,50] # 求和 # 方法一:通过循环 total_len = 0 #定义total_len的初始长度 for ...

  8. 一个简单的以太坊合约让imtoken支持多签

    熟悉比特币和以太坊的人应该都知道,在比特币中有2种类型的地址,1开头的是P2PKH,就是个人地址,3开头的是P2SH,一般是一个多签地址.所以在原生上比特币就支持多签.多签的一个优势就是可以多方对一笔 ...

  9. Linux centos ansible

    创建m01.backup.nfs.web01.web02 m01(172.16.1.61).backup(172.16.1.41).nfs(172.16.1.31).web01(172.16.1.7) ...

  10. Virtual DOM 系列三:Diff算法

    DOM操作是昂贵的,为了减少DOM操作,才有了Virtual DOM.而Virtual DOM的关键就是通过对比新旧vnode,找出差异部分来更新节点.对比的关键算法就是Diff算法. 历史由来: d ...