logstash配置白名单决定去哪个index
input {
kafka {
bootstrap_servers => "127.0.0.1:9092"
client_id => "log"
auto_offset_reset => "latest"
consumer_threads =>
decorate_events => true
topics => ["nginx_access_log_test"]
codec => "json"
type => "nginx_log"
}
}
filter {
mutate {
gsub => ["message", "\\x22", '"']
gsub => ["message", "\\x09", '']
}
json {
source => "message"
remove_field=>["message","beat","@version"]
}
ruby {
code => '
file = File.open("/usr/local/logstash/config/white.txt", "r")
text = file.read
file.close
if !text.include?(event.get("request_uri")) then
event.set("es_flag","")
else
event.set("es_flag","")
end
'
}
}
output {
if [es_flag] ==""
{
elasticsearch
{
hosts => "127.0.0.1:9200"
index => "nginx_access_log_test"
}
}
else
{
elasticsearch
{
hosts => "127.0.0.1:9200"
index => "nginx_access_log_test2"
}
}
stdout {
codec => rubydebug
}
}
复杂点的生产环境配置:
input{
kafka {
bootstrap_servers => "127.0.0.1:9092"
client_id => "nginxaccesslog"
auto_offset_reset => "latest"
consumer_threads =>
decorate_events => true
topics => ["nginx_access_log"]
codec => "json"
type => "nginx_log"
}
kafka {
bootstrap_servers => "127.0.0.1:9092"
client_id => "database"
auto_offset_reset => "latest"
consumer_threads =>
decorate_events => true
topics => ["dsideal_db"]
codec => "json"
type => "dsideal_db"
}
kafka {
bootstrap_servers => "127.0.0.1:9092"
client_id => "devops_real"
auto_offset_reset => "latest"
consumer_threads =>
decorate_events => true
topics => ["devopsrealinfo"]
codec => "json"
type => "devopsrealinfo"
}
kafka {
bootstrap_servers => "127.0.0.1:9092"
client_id => "devops_base"
auto_offset_reset => "latest"
consumer_threads =>
decorate_events => true
topics => ["devopsbaseinfo"]
codec => "json"
type => "devopsbaseinfo"
}
}
filter{
mutate {
gsub => ["message", "\\x22", '"']
gsub => ["message", "\\x09", '']
}
json {
source => "message"
remove_field=>["message","beat","@version","@timestamp"]
}
if [type] == "nginx_log" {
ruby {
code => '
file = File.open("/usr/local/logstash/config/white.txt", "r")
text = file.read
file.close
if !text.include?(event.get("request_uri")) then
event.set("es_flag","")
else
event.set("es_flag","")
end
'
}
}
}
output {
if [type] == "nginx_log" {
if [es_flag] =="" {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "nginx-access-log"
}
}
else {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "nginx-access-log-other"
}
}
}
if [type] == "dsideal_db" {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "%{table_name}"
document_id => "%{id}"
}
}
if [type] == "devopsbaseinfo" {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "devopsbaseinfo"
document_id => "%{id}"
}
}
if [type] == "devopsrealinfo" {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "devopsrealinfo"
}
}
}
logstash配置白名单决定去哪个index的更多相关文章
- servlet过滤器配置白名单、黑名单
1.web.xml配置 <filter> <description>过滤是否登陆</description> <filter-name>encoding ...
- Confluence 6 配置白名单
Confluence 管理员可以通过添加 URLs 到白名单选择出入的链接和使用 RSS 宏,HTML 包含宏和小工具中的内容. 如果一个内容被添加到 Confluence 系统中,但是这个 URLs ...
- ubuntu apache2.4.7配置白名单
1.仅允许192.168.1.1访问,此处需要注意apache2.2和2.4版本之后白名单配置的方法是不一样的 <Directory /var/www/> Options FollowSy ...
- nginx配置白名单
配置如下: http模块: http { include mime.types; default_type application/octet-stream; #log_format main '$r ...
- 【Azure Redis 缓存 Azure Cache For Redis】在创建高级层Redis(P1)集成虚拟网络(VNET)后,如何测试VNET中资源如何成功访问及配置白名单的效果
当使用Azure Redis高级版时候,为了能更好的保护Redis的安全,启用了虚拟网路,把Redis集成在Azure中的虚拟网络,只能通过虚拟网络VENT中的资源进行访问,而公网是不可以访问的.但是 ...
- axios 封装 跨域 实现 (后端跨域配置白名单)
1. 始vue化项目 vue init webpack deaxios # 使用脚手架创建项目 deaxios(项目名,随便取得) cd deaxios # 进入项目cnpm install npm ...
- nginx 配置白名单
在http 模块 增加 geo $remote_addr $ip_whitelist{ default 0; include white_ip.conf; } 在location 模块 增加 (注意i ...
- mysql配置白名单
1. 测试是否允许远程连接 $ telnet 192.168.1.8 3306 host 192.168.1.4 is not allowed to connect to this mysql ser ...
- xinetd黑/白名单配置教程(以telnet为例)
对于诸如telnet等托管于xinetd的服务,当请求到来时由于是通过xinetd进行通知,所以可以直接在xinetd上配置白名单允许和拒绝哪些ip连接服务. 本文主要参考xinetd.conf的ma ...
随机推荐
- Linux安装JDK(tar)
我以JDK1.8为例 ⒈下载 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...
- Linux内存管理 (10)缺页中断处理【转】
转自:https://www.cnblogs.com/arnoldlu/p/8335475.html 专题:Linux内存管理专题 关键词:数据异常.缺页中断.匿名页面.文件映射页面.写时复制页面.s ...
- UniGUI 如何进行 UniDBGrid 的单元 Cell 的计算 ?
来源:http://forums.unigui.com/index.php?/topic/10508-update-dataset-events-in-unidbgrid/?hl=unidbgrid ...
- pycharm安装numpy和scipy(window)
win 10,64位,python3.6 用的pycharm,依次点file-settings-project-project interpreter,出现下图,(一般按正常安装流程,Package里 ...
- <TCP/IP>记一次关于IP地址和MAC物理地址的思考
是的,从3月6日第一次上计算机网络课起,我还是今天第一次对这本书里讲的知识点有了自己的疑问..之前看书就是 嗯嗯这好像很有道理,嗯嗯也许再多看几章就知道它在讲什么了.. 不过今天已经自学到了网络层了, ...
- OpenStack实践系列④计算服务Nova
OpenStack实践系列④计算服务Nova 3.6 Nova控制节点的部署创建服务的凭证,完成下列步骤: 创建nova用户,并加入到service项目中,赋予admin权限 [root@node1 ...
- Python-数据类型 主键auto_increment
MySQL数据操作: DML========================================================在MySQL管理软件中,可以通过SQL语句中的DML语言来实 ...
- 12)django-ORM(单表返回数据3种方式)
单表查询还回数据有3种形式,返回形式不一样,模板调用方式不同 1)返回Queryset里面内容为对象:Business.objects.all() 这里内容显示是对象 2)返回Queryset里面内容 ...
- 如何用Axure快速制作APP交互原型
对于产品经理来说,熟练使用一些常用软件是一项十分必要的技能.其中,作为一个专业的快速原型设计工具,Axure RP无疑在产品人心中拥有一个难以撼动的地位.但就要PS一样,虽然足够专业,但同样也会存在使 ...
- winform数据存储的方式
存储的方式有三种: 一.SQL数据库 二.Access(office 2007版本以上是需要安装驱动的) 三.XML