当前位置: 首页 > news >正文

elk 日志处理的一点思路

zjtest7-frontend:/usr/local/logstash-2.3.4/bin# ./logstash  -f ../config/logstash_agent.conf 


zjtest7-frontend:/usr/local/logstash-2.3.4/bin# ./logstash  -f ../config/logstash_indexer.conf


你可以在每一个input插件设置一个type,根据type配置不同的filter....这样能节省点资源。logstash起多了,还是不太好的。毕竟每一个都是一个jvm进程....



/*** 写入redis
[elk@zjtest7-frontend config]$ cat logstash_agent.conf 
input {
        file {
                type => "zj_nginx_access"
                path => ["/usr/local/nginx/logs/zj_access.log"]
        }

        file {
                type => "wj_nginx_access"
                path => ["/usr/local/nginx/logs/wj_access.log"]
        }
}


filter {
    grok {
        match => {
            "message" => "%{IPORHOST:clientip} \[%{HTTPDATE:time}\] \"%{WORD:verb} %{URIPATHPARAM:request} HTTP/%{NUMBER:httpversion}\" %{NUMBER:http_status_code} %{NUMBER:bytes} \"(?

<http_referer>\S+)\" \"(?<http_user_agent>\S+)\" \"(?<http_x_forwarded_for>\S+)\""
        }
    }   
}
output {
        redis {
                host => "192.168.32.67"
                data_type => "list"
                key => "logstash:redis"
                port=>"6379"
                password => "1234567"
        }
}



output {
if [type] == "xxx" {
 redis {xxxxx}
}
}


根除不同的type 写入到redis



/***从redis读取,发送到elasticsearch

[elk@zjtest7-frontend config]$ cat logstash_indexer.conf 
input {
        redis {
                host => "192.168.32.67"
                data_type => "list"
                key => "logstash:redis"
                type => "redis-input"
                password => "1234567"
                port =>"6379"
        }
}





output {
        elasticsearch {
                hosts => "192.168.32.80:9200"
                index => "logstash-nginx-%{+YYYY.MM.dd}"
        }
		stdout {
			codec => rubydebug
		}
}



不同的 redis key 怎么发送到不同的elasticsearch 






比如 我同步应用日志到logstash 的  /log/zjzc 下面有nginx-192.168.32.1.log  nginx-192.168.32.2.log  nginx-192.168.32.3.log 


那么我    file {
                type => "zj_nginx_access"
                path => ["/log/zjzc/nginx-*.log"]
        }


转载于:https://www.cnblogs.com/zhaoyangjian724/p/6199442.html

相关文章:

  • 第九讲:共用数据的保护与对象的动态处理
  • rtems 4.11 IRQ (arm,beagle)
  • 第十讲:对象的赋值和复制
  • jQuery插件之ajaxFileUpload[转载]
  • 第十一讲:运算符重载与重载函数
  • Google Chrome Frame 自定义渲染方式,调用ActiveX
  • 第十二讲:重载单、双目、插入、提取运算符
  • 第十三讲:不同类型数据间的转换
  • 一)6张表
  • 第十四讲:继承与派生的概念
  • Spring MyBatis Oracle 多数据源
  • 第十五讲:派生类的构造函数和析构函数
  • 解决:JS如何取得当前正在执行的function的名字
  • 第十六讲:多重继承
  • HDU 4891 The Great Pan (模拟)
  • 2017-09-12 前端日报
  • Angularjs之国际化
  • Babel配置的不完全指南
  • CEF与代理
  • JS字符串转数字方法总结
  • MobX
  • NSTimer学习笔记
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Web Storage相关
  • 多线程事务回滚
  • 基于组件的设计工作流与界面抽象
  • 技术发展面试
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 利用jquery编写加法运算验证码
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 让你的分享飞起来——极光推出社会化分享组件
  • 人脸识别最新开发经验demo
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • ###STL(标准模板库)
  • $.ajax,axios,fetch三种ajax请求的区别
  • (1)(1.13) SiK无线电高级配置(五)
  • (2)nginx 安装、启停
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (四)Android布局类型(线性布局LinearLayout)
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (转)Google的Objective-C编码规范
  • (转)jdk与jre的区别
  • (转)ObjectiveC 深浅拷贝学习
  • (转)Sublime Text3配置Lua运行环境
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET CLR基本术语
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NET运行机制
  • ?php echo ?,?php echo Hello world!;?