`
xtuhcy
  • 浏览: 138951 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java爬虫gecco监控来了,不再裸奔

阅读更多

java爬虫gecco监控来了,不再裸奔

爬虫为什么要监控

gecco是一个十分简单易用的java开源爬虫框架,同时也一个款拥有很好扩展性的框架,目前已经有:

结合spring的插件gecco-spring

结合htmlunit的插件gecco-htmlunit

结合redis的插件gecco-redis

在开发爬虫时,由于要对很多网站和链接进行抓取,并对抓取下来的网站进行内容的抽取。大量的链接下载和内容抽取如果没有监控,很难发现问题。特别是对于主题爬虫,需要抽取页面的具体内容,如果网站改版务必要能尽快的发现并修正,gecco爬虫框架在完成了基本的框架和必要的插件的实现后,将重点放在了监控的开发上。

对扩展开放,对修改关闭的开闭原则一致是gecco框架的基本设计原则。gecco爬虫的监控模块同样基于该原则,基于jmx协议,使用aop模式。

输入图片说明

监控指标

爬虫基本信息

  • 刷新基本信息:exec/com.geccocrawler.gecco:name=gecco/monitor
  • 读取基本信息:read/com.geccocrawler.gecco:name=gecco

      {
      Interval: 5000,//抓取间隔时间ms
      StartTime: "2016-03-20 20:34:11",//抓取开始时间
      ThreadCount: 1,//爬虫线程数量
      StarUrlCount: 8//初始url数量
      }
    

下载监控

  • 获取当前正在抓取的所有域名:exec/com.geccocrawler.gecco:name=downloader/hosts
  • 获取某个域名的下载监控信息:exec/com.geccocrawler.gecco:name=downloader/statistics/xx.xx.com
  • 读取下载监控信息:read/com.geccocrawler.gecco:name=downloader

      Statistics: "{
          "exception":8,//该域名抓取异常的数量,主要是超时等异常
          "serverError":0,//该域名返回500,404等错误信息的数量
          "success":3263//成功抓取数量
      }",
      Host: "xx.xx.com"//域名
    

内容抽取监控

  • 刷新内容抽取监控信息:exec/com.geccocrawler.gecco:name=render/refresh
  • 获取内容抽取监控信息:read/com.geccocrawler.gecco:name=render

      Statistics: "{
          "xx.xx.com":0,//域名xx.xx.com的网站内容抽取的异常数量
          "yy.yy.com":0//域名yy.yy.com的网站内容抽取的异常数量
      }"
    

jmxutils和jolokia

jmxutils

gecco的监控使用了jmxutils这个开源的mbean注解框架。在以前的开发工作中要么就用原生的动态mbean,要么是使用spring的jmx注解框架。原生的动态mbean写起来太繁琐,spring的jmx注解框架使用起来还是很方便的,但是现在spring感觉有些重。jmxutils这个框架很轻量,使用方法可以参考https://github.com/martint/jmxutils。

jolokia

Jolokia是一个利用JSON通过Http实现JMX远程管理的开源项目。具有快速、简单等特点。除了支持基本的JMX操作之外,它还提供一些独特的特性来增强JMX远程管理如:批量请求,细粒度安全策略等。也就是说jmx的mbean可以通过http来访问不需要在启动java时配置那么多参数。只需要新增一个servlet:

<servlet>
    <servlet-name>jolokia-agent</servlet-name>
    <servlet-class>org.jolokia.http.AgentServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>jolokia-agent</servlet-name>
    <url-pattern>/jmx/*</url-pattern>
</servlet-mapping>

 

这样应用中的mbean就能轻松控制和访问。jolokia还提供了java客户端和js客户端来访问mbean,具体的使用方法和权限控制可以查看jolokia的官方文档https://jolokia.org/reference/html/index.html

1
2
分享到:
评论
2 楼 xtuhcy 2016-03-21  
Chen.H 写道
结合reids的插件gecco-reids  reids=>redis

多谢,已改
1 楼 Chen.H 2016-03-21  
结合reids的插件gecco-reids  reids=>redis

相关推荐

    轻量化的Java网络爬虫 GECCO.zip

    }demo地址:教您使用java爬虫gecco抓取JD全部商品信息(一)教您使用java爬虫gecco抓取JD全部商品信息(二)教您使用java爬虫gecco抓取JD全部商品信息(三)集成Htmlunit下载页面爬虫的监控一个完整的例子,分页处理...

    Gecco(java爬虫)

    Gecco是一款用java语言开发的轻量化的易用的网络爬虫。Gecco整合了jsoup、httpclient、fastjson、spring、htmlunit、redission等优秀框架,让您只需要配置一些jquery风格的选择器就能很快的写出一个爬虫。Gecco框架...

    基于Java和多框架整合的网络爬虫Gecco设计源码

    本项目是基于Java开发的网络爬虫Gecco设计源码,主要使用Java进行开发。项目共包含164个文件,其中Java源代码文件153个,Git忽略配置文件2个,Markdown文档文件2个,YAML配置文件1个,项目许可证文件1个,JPG图片...

    java爬虫教程及工具应用

    对java爬虫的讲解以及对工具框架的应用 对java爬虫的讲解以及对工具框架的应用

    java爬虫Gecco工具抓取新闻实例

    本篇文章主要介绍了JAVA 爬虫Gecco工具抓取新闻实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

    java爬虫需要的jar包

    java爬虫需要的jar包。httpclient,jsoup等等。直接导入项目使用 java爬虫需要的jar包。httpclient,jsoup等等。直接导入项目使用 java爬虫需要的jar包。httpclient,jsoup等等。直接导入项目使用java爬虫需要的jar包...

    java爬虫漫爬,微博爬虫

    Java爬虫 Java爬虫 Java爬虫 Java爬虫 Java爬虫 Java爬虫 Java爬虫 Java爬虫 Java爬虫

    Java爬虫实例完整源码

    纯Java编写爬虫框架,实现信息抓取, 附详细源码,需要的可以下载学习

    Java爬虫详细完整源码实例

    Java爬虫,信息抓取的实现 详细完整源码实例打包给大家,需要的可以下载下载学习!打包给大家,需要的可以下载下载学习!

    基于Java爬虫的驾考小程序源码+项目说明+数据库(答案爬取).zip

    基于Java爬虫的驾考小程序源码+项目说明+数据库(答案爬取).zip基于Java爬虫的驾考小程序源码+项目说明+数据库(答案爬取).zip基于Java爬虫的驾考小程序源码+项目说明+数据库(答案爬取).zip基于Java爬虫的驾考小...

    java爬虫抓取网页数据教程(20210809124656).pdf

    java爬虫抓取网页数据教程(20210809124656).pdf

    java代码-java爬虫源代码

    java代码-java爬虫源代码 ——学习参考资料:仅用于个人学习使用!

    百度贴吧java爬虫

    一个简单的百度贴吧java爬虫,可以爬取用户内容,用户名和楼层 一个简单的百度贴吧java爬虫,可以爬取用户内容,用户名和楼层

    Java爬虫。。。。。

    Java爬虫有视频有源码 Java爬虫有视频有源码 Java爬虫有视频有源码 Java爬虫有视频有源码 Java爬虫有视频有源码

    JAVA爬虫实现自动登录淘宝

    给大家分享一个关于JAVA爬虫的相关知识点,通过代码实现自动登录淘宝网,有兴趣的朋友测试下。

    java爬虫报告.pdf

    java爬虫报告.pdf

    java爬虫的DEMO的实现

    java爬虫的DEMO的实现 主要为文章服务,注意包名 需要的可以看一下,也主要为我自己留个档,毕竟重新弄也很麻烦

    Gecco是一款用java语言开发的轻量化的易用的网络爬虫

    Gecco是一款用java语言开发的轻量化的易用的网络爬虫。Gecco整合了jsoup、httpclient、fastjson、spring、htmlunit、redission等优秀框架,让您只需要配置一些jquery风格的选择器就能很快的写出一个爬虫。

Global site tag (gtag.js) - Google Analytics