- 浏览: 2147759 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (682)
- 软件思想 (7)
- Lucene(修真篇) (17)
- Lucene(仙界篇) (20)
- Lucene(神界篇) (11)
- Solr (48)
- Hadoop (77)
- Spark (38)
- Hbase (26)
- Hive (19)
- Pig (25)
- ELK (64)
- Zookeeper (12)
- JAVA (119)
- Linux (59)
- 多线程 (8)
- Nutch (5)
- JAVA EE (21)
- Oracle (7)
- Python (32)
- Xml (5)
- Gson (1)
- Cygwin (1)
- JavaScript (4)
- MySQL (9)
- Lucene/Solr(转) (5)
- 缓存 (2)
- Github/Git (1)
- 开源爬虫 (1)
- Hadoop运维 (7)
- shell命令 (9)
- 生活感悟 (42)
- shell编程 (23)
- Scala (11)
- MongoDB (3)
- docker (2)
- Nodejs (3)
- Neo4j (5)
- storm (3)
- opencv (1)
最新评论
-
qindongliang1922:
粟谷_sugu 写道不太理解“分词字段存储docvalue是没 ...
浅谈Lucene中的DocValues -
粟谷_sugu:
不太理解“分词字段存储docvalue是没有意义的”,这句话, ...
浅谈Lucene中的DocValues -
yin_bp:
高性能elasticsearch ORM开发库使用文档http ...
为什么说Elasticsearch搜索是近实时的? -
hackWang:
请问博主,有用solr做电商的搜索项目?
Solr中Group和Facet的用法 -
章司nana:
遇到的问题同楼上 为什么会返回null
Lucene4.3开发之第八步之渡劫初期(八)
#### 背景
我们的storm实时流计算项目已经上线几个月了,由于各种原因迟迟没有进行监控,每次出现问题都要登录好几台机器,然后使用sed,shell,awk,vi等各种命令来查询原因,效率非常低下,而且有些统计是没法做的,所以很有必要对storm本身相关的日志以及我们运行在storm上面的任务的日志做一个统一的日志收集,分析,查询,统计平台。
#### 技术选型
对于这个选择,其实不用考虑那么多,借用一句名言 Life is short , You need elk !
关于elk相关的安装这里不再介绍,可参考散仙的博客:
http://qindongliang.iteye.com/category/330375
#### 需求分析
序号|讨论 | 内容
|---|---|---
1|storm需要收集的日志 | (1)本身的相关的日志 (2)提交任务的日志
2|日志过滤| 排除gc的log和部分不相干业务的log
3|索引如何切分| 考虑量不是很大,按每月生成一份索引
4|索引模板定制|默认的动态mapping比较简答,所以我们采用自定义动态索引模板
5|日志的定期删除|使用es官网插件curator管理
#### 核心配置
(1)es的模板定义
注意date类型的动态类型是开启docvalue的,便于快速聚合和排序
{ "order": 0, "template": "jstorm*", "settings": { "index": { "number_of_replicas": "0", "number_of_shards": "3" } }, "mappings": { "_default_": { "dynamic_templates": [ { "level": { "mapping": { "index": "not_analyzed", "type": "string" }, "match": "level", "match_mapping_type": "string" } }, { "message": { "mapping": { "index": "analyzed", "type": "string" }, "match": "message", "match_mapping_type": "string" } }, { "date_fields": { "mapping": { "doc_values": true, "type": "date" }, "match_mapping_type": "date" } }, { "string_fields": { "mapping": { "index": "not_analyzed", "type": "string" }, "match": "*", "match_mapping_type": "string" } } ], "_all": { "enabled": false } } }, "aliases": {} }
(2)logstash的conf定义
input{ file{ #初始化全量导入 start_position => "beginning" #统一的storm的日志目录 path=> ["/data/logs/jstorm/**/*.log"] #排除的路径 exclude =>["*gc*","*log_monitor*"] #指定文件偏移量存储的文件 sincedb_path => "./sincedb" #配置多行数据收集(针对异常) codec => multiline { #类似两个info之间的所有数据是一行数据 pattern => "^\[%{LOGLEVEL:loglevel}" #true代表是两个loglevel之间的数据 #false代表两个异常之间的数据,跟上面的相反 negate=> true #后一条的数据前面所有的,都属于这整条数据 what => "previous" } } } filter { #使用gork直接获取日志级别和时间 grok { match =>{"message"=>"%{LOGLEVEL:loglevel}\s*%{TIMESTAMP_ISO8601:time} "} } # 转化日志时间为收集的时间,并移除无用的字段 date{ match => ["time","yyyy-MM-dd HH:mm:ss.SSS","yyyy-MM-dd HH:mm:ss","ISO8601"] remove_field => [ "time","@version" ] } # 这个地方可以对一些数据做过滤 # if [loglevel] == "DEBUG" { # drop { } # } } #输出到es的配置 output{ elasticsearch{ #设置索引名 index => "jstorm_pro%{+YYYY-MM}" hosts=> ["192.168.8.5:9200","192.168.8.6:9200","192.168.8.7:9200"] #关闭logstash自动管理模块 manage_template => false #指定模板名为jstrom template_name => "jstorm" #设置flush的数量 flush_size => 3000 } # 调试控制台输出 # stdout { codec => rubydebug } }
#### 辅助脚本
放在logstash的根目录下面
启动脚本:start_jstorm.sh nohup bin/logstash -f config/jstorm.conf &> jstorm_logstash.log & echo $! >jstorm_logstash_pid& 关闭脚本:stop_jstorm.sh kill -9 `cat jstorm_logstash_pid`
#### 收集检索效果
一切完成后,启动logstash收集进程后,我们就可以实时在kibana里面分析数据了,非常nice!
然后,我们就可以非常快速的定位异常数据了。
有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。
技术债不能欠,健康债更不能欠, 求道之路,与君同行。
评论
2 楼
qindongliang1922
2016-11-24
woodding2008 写道
storm1.0对日志这块的支持改善了
http://woodding2008.iteye.com/blog/2326358 storm监控
http://woodding2008.iteye.com/blog/2326677 storm1.0
http://woodding2008.iteye.com/blog/2326358 storm监控
http://woodding2008.iteye.com/blog/2326677 storm1.0
strom监控这个你里面那么多详细的指标是如何采集得到的? 就配置下log2j?
1 楼
woodding2008
2016-11-23
storm1.0对日志这块的支持改善了
http://woodding2008.iteye.com/blog/2326358 storm监控
http://woodding2008.iteye.com/blog/2326677 storm1.0
http://woodding2008.iteye.com/blog/2326358 storm监控
http://woodding2008.iteye.com/blog/2326677 storm1.0
发表评论
-
复盘一个Elasticsearch排序问题的剖析
2019-07-15 21:12 999最近线上的es查询的 ... -
elasticsearch里面bulk的用法
2018-04-09 20:23 1392上篇文章介绍了在es里 ... -
elasticsearch里面的关于批量读取mget的用法
2018-04-04 16:01 1802es的api除了提供了基本 ... -
elasticsearch的查询流程分析
2018-04-02 20:29 1277我们都知道es是一个分 ... -
如何在elasticsearch里面使用深度分页功能
2018-03-28 18:13 1958前面的文章提到过es默认的from+size的分页方式返回的结 ... -
如何在Elasticsearch里面使用索引别名
2018-03-27 20:37 1632在elasticsearch里面给index起一个alias ... -
如何优雅的全量读取Elasticsearch索引里面的数据
2018-03-26 20:27 7607### (一)scroll的介绍 有时候我们可能想要读取整个 ... -
关于elaticsearch中更新数据的几种方式
2018-03-21 19:00 914作为一个成熟的框架, ... -
Elasticsearch里面的segment合并
2018-03-20 17:50 2049通过前面的文章,我 ... -
Elasticsearch如何保证数据不丢失?
2018-03-19 20:52 2088上篇文章提到过,在elasticsearch和磁盘之间还有一层 ... -
为什么说Elasticsearch搜索是近实时的?
2018-03-16 19:41 9365通过前面两篇文章的介绍,我们大概已经知道了 Elasticse ... -
Elasticsearch如何动态维护一个不可变的倒排索引
2018-03-15 21:34 1090上一篇文章中介绍了Elasticsearch中是如何搜索文本 ... -
Elasticsearch如何检索数据
2018-03-14 20:11 981我们都知道Elasticsearch是一个全文检索引擎,那么它 ... -
如何备份ElasticSearch索引数据到HDFS上
2018-02-09 18:19 2357在ElasticSearch里面备份策略已经比较成熟了 ... -
Elasticsearch5.6.4集群搭建
2018-02-07 20:13 1294本次搭建的是一个三节点的集群 (一)es的安装 (1)下 ... -
如何使log4j生成json格式的log
2017-09-15 17:44 3777使用java开发项目时,log日志一般都是应用程序必不可少的一 ... -
理解elasticsearch的parent-child关系
2017-09-04 18:43 2787前面文章介绍了,在es里面的几种数据组织关系,包括array ... -
简述ElasticSearch里面复杂关系数据的存储方式
2017-08-18 20:10 2361在传统的数据库里面,对数据关系描述无外乎三种,一对一,一对多和 ... -
使用Java Rest Client操作Elasticsearch
2017-08-09 19:42 2211Elasticsearch作为一个成熟的开源框架,对主流的多种 ... -
ElasticSearch里面的偏好查询
2017-06-22 17:17 1254在es查询的时候我们可 ...
相关推荐
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
毕业设计Python基于LSTM的多步向前手术风险预测项目源代码+数据+论文
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
医院分诊管理管理系统是典型的信息管理系统,其主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起一致性、完整性强和安全性好的数据库。而对于后者则要求应用程序具有功能完备,易使用等特点。经过分析如此情况,决定使用Java语言进行开发,利用其提供的各种面向对象的开发工具,数据库方面使用当前比较流行的mysql。 本系统主要包括以下功能:系统设置功能、患者管理模块、分诊管理功能、诊断管理功能。1) 系统设置模块 系统设置包括权限管理和用户信息。此模块主要功能包括: ·添加、修改、删除和查看用户信息; ·给用户分配权限; 2) 患者管理功能 此模块的主要功能包括: ·包括添加、修改、删除和查看患者信息; 3) 科室管理模块 此模块主要功能包括: ·包括添加、修改、删除和查看信息; 4) 分诊管理模块 本模块用于对分诊信息进行统计和查询,主要包括: ·分诊排队; ·分诊叫号; 关键字 面向对象;数据库;java;医院分诊管理系统;mysql。
心电图机监控软件 vc++ ,心电图机数据采集 , 曲线显示, 诊断 , 病历
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Scratch是一款专为儿童设计的图形化编程语言,通过直观易懂的界面和丰富的功能模块,帮助孩子们理解编程的基本概念,激发创新思维,培养解决问题的能力。本文将全面介绍Scratch的特点、应用及教育意义,为广大家长和教育工作者提供有益的参考。 Scratch作为一款专为儿童设计的图形化编程语言,以其直观易懂的界面和丰富的功能模块,为儿童编程启蒙教育提供了有力的支持。它不仅能够帮助孩子们掌握基本的编程技能,还能够培养他们的逻辑思维能力、创新精神和团队合作能力。因此,广大家长和教育工作者应该充分利用Scratch这一工具,为孩子们创造一个充满乐趣和挑战的编程学习环境,让他们在快乐中成长,为未来的学习和发展打下坚实的基础。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
波士顿.py
这份文档是一份详细的Fortran语言学习规划及基本案例说明,对于希望学习和掌握Fortran编程语言的用户来说,是一份极为宝贵的参考资料。 首先,文档明确了学习Fortran的背景与目标,有助于学习者明确自己的学习方向和目的,从而更有针对性地进行学习。同时,文档还详细规划了学习内容和时间安排,从基础知识学习到项目实践与综合应用,每个阶段的学习任务都清晰明了,为学习者提供了一个系统的学习框架。 其次,文档还介绍了Fortran语言的基本用法和案例,包括变量声明与赋值、数组、程序结构与流程控制等方面的知识,并通过实例练习来帮助学习者加深对知识点的理解和应用。这些案例不仅具有代表性,而且具有很强的实用性,可以帮助学习者更好地掌握Fortran编程技能。 此外,文档还提供了学习方法与资源的建议,为学习者提供了多样化的学习途径和参考资料。无论是官方文档、教材与参考书目,还是在线学习平台和科研团队的经验分享,都为学习者提供了丰富的学习资源,有助于学习者更全面地了解Fortran语言的特点和应用。
answer.sql
Sora AI Video Preview Case Sora AI 视频模版项目,React全栈快速部署.zip
最新试用版发货100虚拟商品自动发货系统 源码免费下载.rar最新试用版发货100虚拟商品自动发货系统 源码免费下载.rar
linux
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
源代码-access 管理 系统 API 文件.zip
基于Qt的频谱分析器,修改于Spek,支持Windows和Linux平台