相关阅读:
Python爬虫中requests下载插件常用方法汇总(一)
一、引言
1.1.背景
对于互联网企业来说,随着业务的不断拓展,公司所运行的项目越来越多,项目业务逻辑也越来越复杂,需要定制化开发的内容也越来越多。
大数据背景下的舆情公司,由于业务需求数据范围广,无法通过一种统一的方式,来解决所有类型数据的采集。随之而来的,就是定制化开发的采集器越来越多,这些采集器的运维越来越繁琐,逐渐影响项目的进度,成为了限制业务发展的瓶颈。
那么,如何解决呢?自动化运维便是正解。
1.2.业务痛点
① 管理分散在各开发人员,解决问题的效率低下;
② 项目越来越复杂,定制开发增多,部署、更新等运维难度骤增;
③ 脚本运行情况、采集数据量等监控难度加大;
④ 由于管理分散,人员流动导致运维难度系数增加;
⑤ 人为操作失误频发,导致
1.3.目标
① 实现部门内容所有服务的自动化部署与监控,不只是采集。初期以采集为主;
② 实现各服务/脚本的统一管理,实时监控异常;
1.4.技术
① 系统使用语言:Java + Python
② 管理后台使用技术:Spring Boot2.X + FreeMarker + X-Admin2.X
③ 运维端:FastAPI +Fabric(2.0版本升级为:Ansible)
1.5.使用范围
① 本版本暂时只支持Linux操作系统的运维;
② Windows系统在后续2.0版本中提供支持;
二、系统概述
1.1.系统描述
开发该系统主要是为了实现采集器、脚本及其他服务的自动化运维管理,包括服务的部署/上传、启动、关闭、参数修改、简单的服务文件的修改等。 同时,实现对服务器、采集器、脚本等服务进行监控,实时发现问题,解决问题。 1.2.结构描述 当前系统主要包括服务器节点管理、项目管理、爬虫管理和任务管理等四个模块,每个模块的具体功能细节如下表所示: 一级功能 二级功能 三级操作 备注 节点管理
节点列表 - 实现对服务器信息的管理
节点环境 开发语言 管理并显示服务器上安装的语言环境 环境依赖 管理服务器上各语言环境插件 节点监控 - 主要监控各服务器的硬盘、CPU、内存等使用情况 拓补图 - 主要用于展示采集相关的所有软硬件关系、结构 项目管理 项目列表 - 主要展示项目信息
爬虫管理
爬虫列表 - 主要展示已经开发或部署的爬虫信息
部署情况 - 显示每个爬虫部署的服务器节点情况
任务列表 - 显示每个爬虫已经或正在处理的任务列表
爬虫文件 - 主要用于在线修改爬虫文件,并同步到所部署节点
运行环境 - 用于管理爬虫运行所需环境,包括安装、卸载等
采集分析 - 展示爬虫采集数据相关的统计信息,用于监控
任务管理 任务列表 - 主要用于查看当前所有爬虫的采集任务信息
1.3.运维接口描述
当部署爬虫时,我们需要把爬虫脚本,上传到相关的服务器节点上。所以,就需要一个能与服务器进行交互的服务接口。
目前采用Fabric来实现,2.0版本时再考虑基于容器的相关技术,如docker等技术。
三、功能模块
1.1.节点管理
该模块主要包括服务器、服务器配置、语言环境,以及各语言环境相关参数等信息的查看、管理等功能。
1.1.1.数据字典设计
数据库字典说明:
① td_idop_servers:服务器节点信息表;
② td_idop_serv_info:服务器节点配置信息表;
③ td_idop_serv_lang_rel:服务器与编程语言关联表;
④ td_idop_serv_lang:编程语言信息表;
⑤ td_idop_serv_lang_plugs:编程语言相关插件表;
⑥ td_idop_serv_monitor_cpu:CPU使用情况监控信息表;
⑦ td_idop_serv_monitor_memory:内存使用情况监控信息表;
⑧ td_idop_serv_monitor_disk:硬盘使用情况监控信息表;
⑨ td_idop_serv_monitor_network:网络收发数据包情况监控表;
1.1.2.功能描述
1.1.2.1.节点列表
主要展示当前所有的服务器节点信息。如:服务器IP、登录信息等。
当监控服务发现服务器异常时,列表中节点名称颜色变为红色,以示预警。
可以查看服务器的基本配置信息包括:内存、CPU、操作系统等信息。
亦可以查看当前服务器上已经安装的开发语言,及执行命令信息.
系统原型如下图所示:
操作说明:
⑩ 查询:根据服务器名称和Ip进行查询;
⑪ 批量删除:可以批量删除服务器节点信息。同时删除服务器节点所属语言、插件等信息;服务器CPU、硬盘、内存及网络等监控信息;删除当前服务器上部署的记录;删除与之相关联任务信息;
⑫ 添加:新增或编辑服务器信息;
1.1.2.2.节点语言环境
该模块主要用于管理服务器上语言环境,以及该语言环境下,已安装的相关插件。如Python环境下已安装的第三方爬虫库。
1.1.2.2.1.开发语言
主要用于管理服务器上的语言环境管理,实现管理界面的一键安装、卸载等。 系统原型如下图所示:
说明:
“√”表示当前服务器已经安装该语言;
“×”表示当前服务器未安装该语言
操作说明:
① 查询:根据服务器Ip进行查询;
② 添加:指添加语言。添加后刷新列表,列表中新增一列信息;
③ 表头“+”:表示对列表中所有的服务器节点进行安装。如果已经安装,则跳过;
④ 行单元格中“+”:表示安装当前服务器安装的当前列语言;
⑤ 行单元格中“×”:表示卸载当前服务器安装的当前列语言;
1.1.2.2.2.环境依赖
该模块主要实现对各服务器节点上,已安装的语言的插件进行管理,以便在管理系统中统一管理。如安装、卸载等。 系统原型如下图所示:
中部树结构说明:
该树形结构中数据来源于服务器信息表,以及其对应的语言表。
操作说明:
① 批量删除:实现对插件的批量删除。同时,服务器上需要卸载该插件;
② 添加:必须先选择中部的树节点下的语言节点,否则不可添加;
③ 编辑:编辑插件信息;如安装、卸载命令等;
④ 安装:在当前选中树节点,所在服务器上安装该插件;
⑤ 卸载:卸载当前选中树节点,所在服务器上的该插件;
1.1.2.3.节点监控
该模块主要用于近实时的监控服务器的内存、CPU、硬盘等信息,以便运维人员实时调整采集策略。
系统原型如下图所示:
中部树结构说明: 该树形结构中数据来源于服务器信息表。
统计图说明:
后台服务每个五分钟获取一次服务器的内存、CPU、硬盘等使用率;以及网络的收发包信息。
1.1.2.4.网络拓扑
该模块主要用于显示当前爬虫全流程中的网络结构。包括:服务器分布、Redis队列部署情况、数据存储情况等。
系统原型如下图所示:
相关推荐
电赛小车源码 常规C/C++编程 【核心代码】 ├── 2003智能小车(全国大学生电子设计竞赛) │ ├── BrainCar.M51 │ ├── BrainCar.Opt │ ├── BrainCar.Uv2 │ ├── BrainCar.hex │ ├── BrainCar.lnp │ ├── BrainCar.plg │ ├── BrainCar_Opt.Bak │ ├── BrainCar_Uv2.Bak │ ├── Config.h │ ├── Follow.LST │ ├── Follow.OBJ │ ├── Follow.c │ ├── Follow.h │ ├── IOCfg.LST │ ├── IOCfg.OBJ │ ├── IOCfg.c │ ├── LightDTC.LST │ ├── LightDTC.OBJ │ ├── LightDTC.c │ ├── LightDTC.h │ ├── MetalDTC.LST │ ├── MetalDTC.OBJ │ ├── Met
内容概要:本文详细介绍了如何运用C#的各种编程特性和概念编写新年祝福语句,展示了异步编程、字符串插值、LINQ表达式查询、Lambda表达式、扩展方法、自动实现属性、元组、本地函数、模式匹配(switch表达式)、以及记录类型共十种不同的编程方式来发送独特的新春祝福。不仅加深对C#不同语法和技术点的理解,还通过实际代码实例展示了各技术特点的应用。 适合人群:主要针对已掌握C#编程语言并希望进一步提高自己编程技巧的人群,尤其对于想提升编码灵活性与效率的技术从业者。 使用场景及目标:本文提供的示例适用于希望通过特定编程元素表达心意或展示技能的情形。比如,在个人项目实践中尝试多样化的程序结构,或是用于教授编程时引入有趣的应用案例激发学生兴趣。 其他说明:文章不仅仅停留在理论层面,更重要的是提供了一个实用的方式来将抽象的语言概念具象化到生活情境中去体验。这有助于读者更加深刻地理解和记住所学到的知识要点。每一段落都有具体的代码演示,可以帮助读者跟随教程进行实操练习。
"【深度探究】基于MATLAB Simulink的DFIG-0522双馈风机模型与机侧及网侧控制策略分析",【dfig0522】MATLAB simulink双馈风机包涵机侧和网侧控制。 ,dfig; simulink; 双馈风机; 机侧控制; 网侧控制,"MATLAB Simulink中双馈风机机侧与网侧控制解析"
[C++] 小游戏 能量 1.1.2 正式版 更新日志: 1 ,加强调试模式的功能,使其可以更方便快捷的找到出现问题的地方并及时修改,如果你不是专门想去找问题的话,开着调试模式来玩游戏可能会影响你的游戏体验。 2 ,将大部分输入改为getch输入方法,使你可以更方便更快捷的来选出你所想要选择功能。 3, 修改炼狱模式游戏数值无法保存的bug,把炼狱模式的游戏数值也写到了存档里面,不要试图偷偷修改你的存档,因为它有可能会让你的程序直接崩溃爆炸。 4, 一些极小的辅助功能的修改,其中包括那一些格式的修改、一些文字的修改和代码的优化。 5, 1个彩蛋,这个彩蛋是不会直接看到,但如果你在某些界面输入 “7” (不包括双引号),你有可能会触发这个彩蛋。
JavaFX + Maven实战:可内网联机的多人在线五子棋游戏开发全解析(附Socket通信与EXE打包)
新媒体(直播)绩效考核及提成方案12.1
东方日升集团薪酬绩效管理办法
Python源码实例06之如何按照拼音顺序对中文汉字进行排序.zip
1、文件内容:SDL-devel-1.2.15-17.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/SDL-devel-1.2.15-17.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
光伏储能虚拟同步机的低频振荡抑制机制:探究阻尼系数变化对振荡的影响,光伏储能同步机,抑制低频振荡,振荡随储能阻尼系数变化而变化 ,核心关键词:光伏储能;虚拟同步机;低频振荡;储能阻尼系数;振荡变化。,"光伏储能虚拟同步机:阻尼系数调控低频振荡抑制技术"
短视频okr工作考核表
1、文件内容:LibRaw-static-0.19.4-2.el7_9.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/LibRaw-static-0.19.4-2.el7_9.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
1、文件内容:adwaita-qt5-1.0-1.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/adwaita-qt5-1.0-1.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
可用于在ollama上使用openai来体验本地AI大模型qwen:7b,对电脑的要求是i5,16G内存,普通显卡或集成显卡,win10或以上操作系统。
结构光CUDA多线程编程在相位单目双目结构光三维重建系统中的应用:高速500万像素三维重建技术,结构光cuda多线程程序开发可用于基于相位的单目或者双目结构光三维重建系统 0.5s500w像素三维重建。 ,核心关键词:结构光;CUDA;多线程程序开发;基于相位的单目/双目结构光;三维重建系统;0.5s重建;500w像素。,"基于CUDA多线程的结构光三维重建系统:0.5秒内完成500万像素三维重建"
太阳能光伏并网逆变器系统:电导增量法最大功率追踪,三相桥式逆变与LCL滤波器的设计优化,太阳能光伏并网逆变器系统设计,输出与电网同相,输出380v50hz,并网效果良好。 最大功率追踪采用电导增量法,前极采用双向boost升压电路,后极三相桥式逆变 控制环采用双环PI调节 逆变器采用三相桥式逆变器,坐标变含PLL锁相环,逆变器输出端加设LCL滤波器。 ,系统设计;并网逆变器;同相输出;380v50hz;最大功率追踪;电导增量法;升压电路;双环PI调节;LCL滤波器,基于电导增量法的380v50hz光伏并网逆变器系统设计
将此文件放到Unity的Plugins下,在项目中使用以下代码就可以引用 //获取打开的文件全路径 var getPath = FileTool.OpenProject(""); if (getPath!="") { Debug.Log(getPath); //上传文件到服务器 UploadServer(getPath); }
基于改进遗传算法的风电场优化调度策略验证及最大功率输出实现,matlab编写详实内容,基于改进遗传算法的风电场优化调度策略验证,改善风电场整体输出功率,达到最大功率输出,采用matlab编写,内容非常详实和完整 ,核心关键词:基于改进遗传算法;风电场优化调度策略;功率输出优化;最大功率输出;Matlab编写;内容详实完整。,"基于改进遗传算法的风电场优化调度策略——提高输出功率的Matlab实现"
2025年义务教育历史新课程标准(2022版)必考题库含答案.docx
非线性七自由度模型搭建与CarSim联合仿真验证:车速50km/h路面附着力0.8下的模型精度分析,搭建非线性七自由度对比模型(包括车身三自由度、魔术轮胎、车轮模型等),并与CarSim软件进行联合,验证所搭建模型的合理性。 通过以50km h的车速在附着系数0.8的路面上仿真,得到结果如图所示,误差在10%以内,因此所建模型合理可靠。 ,关键词:七自由度对比模型;非线性;车身三自由度;魔术轮胎;车轮模型;CarSim软件;仿真;误差;合理可靠。,非线性七自由度模型与CarSim联合验证:误差控制在10%内,模型可靠