美文网首页pythonPythonpython爬虫
手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

作者: 妄心xyx | 来源:发表于2018-12-20 11:49 被阅读605次

    1. 前言

    本文并不是讲解爬虫的相关技术实现的,而是从实用性的角度,将抓取并存入 MongoDB 的数据 用 InfluxDB 进行处理,而后又通过 Grafana 将爬虫抓取数据情况通过酷炫的图形化界面展示出来。

    在开始之前,先对 Grafana 和 InfluxDB 做一下简要的介绍:

    • Grafana:是一个开源的分析和监控系统,拥有精美的web UI,支持多种图表,可以展示influxdb中存储的数据,并且有报警的功能。
    • **Influxdb **:是一款开源的时间序列数据库,专门用来存储和时间相关的数据(比如我用它存储某个时间点爬虫抓取信息的数量)。

    最终能实现的效果是这样的:

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    请注意以下操作,都是 Mac 下实现的。但是原理是相似的,你可以在自己的 PC 上进行试验。

    2. 安装配置 InfluxDB

    安装 InfluxDB

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    修改配置文件/usr/local/etc/influxdb.conf,如果原文件中没有对应配置项,需自己添加。

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    3. 安装配置 Grafana

    安装 Grafana

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    并修改 Grafana 配置文件 /usr/local/etc/grafana/grafana.ini,内容如下:

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    4. 爬虫代码

    由于这里主是要介绍如何将 Grafana 和 InfluxDB 与爬虫进行结合的方案,而不是主讲爬虫原理,而且代码也比较多,影响可读性,所以就不贴出爬取的代码。

    5. 监控脚本

    考虑到可能要增加爬虫到监控中,因此这里使用了热更新对监控进行动态配置。

    配置文件 influx_settings.conf 主要用于热更新相关设置。

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    如何动态读取这个配置文件的设置呢?需要写一个脚本来监控。代码如下:

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面 手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面 手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面 手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    来试着运行一下

    python3 influx_monitor.py 
    

    运行,得到下图内容,表示监控脚本运行成功。

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    另建窗口,修改配置文件 influx_settings.conf

    # 修改间隔时间为8秒
    interval = 8
    

    切换至第一次运行 influxDB 的窗口,会提示配置更新,说明配置热更新生效。

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    6. 配置 Grafana

    首先打开 Chrome 浏览器,输入 http://127.0.0.1:3000 登录 grafana 页面。

    连接本地 influxDB 数据库,操作如下图。

    在红色方框内选择 Type 类型为 InfluxDB,并输入URL:http://localhost:8086

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面 手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    在红框内输入influxDB数据库名称

    新建 dashboard

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    新建 graph 类型 dashboard

    修改 dashboard 设置

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    点击红色方框修改设定

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    修改 dashboard 配置

    设置监控的数据对象

    在监控脚本中,写入influxDB的代码如下,其中 "measurement" 对应 表名,"fields" 对应写入的字段;

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    7. 运行爬虫文件

    启动 MongoDB 数据库服务。

    brew services mongodb start
    

    新建一个 terminal 窗口,运行爬虫文件。

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    爬虫文件运行成功

    我们可以在刚刚打开的控制台里查看效果展示:

    手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

    怎么样?学会了吗?

    相关文章

      网友评论

        本文标题:手把手教你实现一个可视化爬虫监控系统,酷炫的图形化界面

        本文链接:https://www.haomeiwen.com/subject/irqykqtx.html