30分钟教你搭建普罗监控系统—股票人气榜实时变化!

发布时间:2026/10/31 14:39:23

30分钟教你搭建普罗监控系统—股票人气榜实时变化! 上次我们已经讲过, 存在很多读者对于它的具体搭建方法以及应用方式缺乏足够的了解, 所以今天我们要结合在一起使用普罗米修斯与采集脚本的方式来进行操作, 来编写一个关于东方财富人气榜的监控系统, 这个规模被设定为较小的程度。跟着这个文章的指引, 静下心来一步一步地往前走, 说不定你仅仅花费三十分钟的时间就能够把环境搭建工作完成, 这种感觉是非常舒适的, 在此首先介绍一些基本的概念。关于普罗米修斯()这个问题, 在上个阶段的时候, 我们曾经使用过整个篇幅的一篇文章把情况详细地说清楚过, 大家也都知道了它其实就是一个开源的用来做监控报警和存储时序数据的数据库系统。要是说此前你还没有去认真读过那篇介绍性的文字的话, 建议你不妨抽出一点时间来读一下, 大体消耗五分钟的时间应该就够了:它是一个数据可视化方面的网络应用程序平台, 并且这个平台是开源的。当用户把要连接的数据源进行配置之后, 就能够通过网络浏览器的方式来把数据对应的图表给展示出来, 同时还能呈现出相关的警告信息。举一个具体的事例来说明, 我这边是利用了普罗米修斯配合监控主机上面的性能指标, 随后去构建了一个用于实时查看主机状态的数据仪表盘, 这个仪表盘呈现出来的样子是下面这样的:关于大家所熟知的那个东方财富人气榜, 它的具体所指内容其实就是下面这个方面。它可以把我们当前在市场上比较活跃的一些股票给提取出来, 这样的话, 就可以供我们作为投资使用时的一个参考因素。然后我们今天所要进行的实际操作, 就是自己来构建一套用于监控的系统, 从而对某一个特定的股票在平台上的实时排名变化情况, 进行不间断的观察与记录。1.搭建要先去创建出那个安装的目录, 然后再进行添加用户这个操作:PROM_PATH/data/prometheusmkdir -p${PROM_PATH}mkdir -p${PROM_PATH}/{data,conf,logs,bin} useradd prometheuscd/usr/local/src进行下载和文件的解压操作, 在此过程中, 我们选用的是在2021年5月18日这个时间节点所更新的最新版本, 具体的版本号为v2.27.1:wget tar -xvf prometheus-2.27.1.linux-amd64.tar.gzcdprometheus-2.27.1.linux-amd64/ cp prometheus promtool${PROM_PATH}/bin/ cp prometheus.yml${PROM_PATH}/conf/ chown -R prometheus.prometheus /data/prometheus首先, 你要进行设置环境变量的操作。cat /etc/profile PATH/data/prometheus/bin:$PATH:$HOME/bin EOF把这个东西配置成系统服务里面的一个, 这样你就能直接用那个特定的命令来管着这个服务的开和关。cat /etc/systemd/system/prometheus.service [Unit] DescriptionPrometheus Documentationhttps://prometheus.io/ Afternetwork.target [Service] Typesimple Userprometheus ExecStart/data/prometheus/bin/prometheus --config.file/data/prometheus/conf/prometheus.yml --storage.tsdb.path/data/prometheus/data --storage.tsdb.retention90d Restarton-failure [Install] WantedBymulti-user.target EOF现在你按照下面的命令, 将系统进行重新加载操作, 然后去观察查看那些服务的启动状态是否是正常的。systemctl daemon-reload systemctlenableprometheus systemctl start prometheus systemctl status prometheus看到了这个状态, 说明一切都是完全正常的。记得把9090端口开放, 这样才可以访问的 Web 端, 访问 http://服务器IP:9090, 查看得到 Web 界面, 说明安装成功:2.安装同时, 我们还选择去采用最新的那个8.0.1版本的东西, 至于具体的装上去的办法, 就像下面这个样子:这系列系统使用的是以下命令来进行安装操作的。cd/usr/local/src wget sudo yum localinstall grafana-6.5.2-1.x86_64.rpm你可以通过使用下面的命令, 来将本模块安装到系列系统当中:cd /usr/local/src sudo apt-get install -y adduser libfontconfig1 wget https://dl.grafana.com/oss/release/grafana_8.0.1_amd64.deb sudo dpkg -i grafana_8.0.1_amd64.deb紧接着, 咱们把系统服务给运行起来就行了。systemctl start grafana-server systemctl status grafana-server看到了这个状态, 说明一切都是完全正常的。你记得要开放 3000 端口, 因为只有这样, 你才可以去访问那个地址, 它就是: http://你的服务器IP:3000, 具体的情况如下所示:你需要输入用户名, 然后输入密码, 接着登录到系统里面去。这里的用户名和密码都设定为admin这个字符串。假如说网页页面能够正常打开的话, 那么就代表软件的安装工作已经顺利完成了。3.初尝为了对这套系统进行初步的尝试和摸索, 我们可以选择从最简单的方式做起, 那就是开始采集主机的性能相关的各类数据。这里有一款官方所推出的、专门用于采集主机性能的数据工具。通过使用该工具, 我们能够比较方便且顺畅地将主机的各类性能指标数据导出并传输到相应的平台或者目的地上去。3.首先进行下载, 然后再完成安装工作。NODE_PATH/data/prometheus/node_exporter/cd/usr/local/src/ mkdir -p${NODE_PATH}wget tar -xvf node_exporter-1.1.2.linux-amd64.tar.gz cp node_exporter-1.1.2.linux-amd64/node_exporter${NODE_PATH}chown -R prometheus.prometheus${NODE_PATH}配置为系统服务cat /lib/systemd/system/node_exporter.service [Unit] Descriptionnode_exporter Documentationhttps://prometheus.io/ Afternetwork.target [Service] Typesimple Userprometheus ExecStart/data/prometheus/node_exporter/node_exporter Restarton-failure [Install] WantedBymulti-user.target EOF现在, 通过调用命令的方式来重新对整个系统的指令集合进行一遍加载工作, 然后去观察那些相关联的服务项目, 看它们是否已经处于正在运行的状态。systemctl daemon-reload systemctlenablenode_exporter systemctl start node_exporter systemctl status node_exporter你可以参照一下图中的样子, 如果情况如图所示, 这就代表了启动已经成功的完成。放行9100端口, 访问http://你的服务器地址:9100/ 看到如下指标页面说明安装成功。配置 .yaml ( 下为 .yml), 让 采集 输出的指标数据vim /data/prometheus/conf/prometheus.yml其相关的设定参数内容如下呈现。# my global configglobal: scrape_interval: 15s# Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s# Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s).# Alertmanager configurationalerting: alertmanagers: - static_configs: - targets:# - alertmanager:9093# Load rules once and periodically evaluate them according to the global evaluation_interval.rule_files:# - first_rules.yml# - second_rules.yml# A scrape configuration containing exactly one endpoint to scrape:# Here its Prometheus itself.scrape_configs:# The job name is added as a label job to any timeseries scraped from this config.- job_name:prometheus# metrics_path defaults to /metrics# scheme defaults to http.static_configs: - targets: [localhost:9090]# 主要是新增了node_exporter的job如果有多个node_exporter在targets数组后面加即可- job_name:node_exporterstatic_configs: - targets: [localhost:9100]保存后重启:systemctl restart prometheus最后配置在之后的步骤里面, 去选定那个被称作是数据源的东西。你得先把那个所谓的url给它填入进去, 紧接着你就去点击一下那个标有savetest字样的按钮, 以便达成一个保存的动作:随后, 将官方提供的仪表盘进行导入操作, 其中包含的官方模板编号为8919。之后你就能看到本机所展示的, 那些非常漂亮的性能指标数据的仪表盘了。不看的时候真不知道, 一看才发现吓了一大跳的, 原来我是需要升级这台机器的内存的了。4.你要编写采集脚本。为了做到能够采集东方财富人气榜的前100名, 我们需要通过编写一个人气榜的采集脚本的方式来完成这件事, 并且需要让这个脚本以某种特定的方式, 像进行示例展示一样的模式去输出相关的指标信息。为了做到这回事, 我们一定得安装模块:pip3 install prometheus_client大家可以把那部分关于获取股票排名用的代码, 给拿过来看看。# Python实用宝典# 2021-06-13# 文件名: fetch_stock.pyimporttimeimportrequestsfromprometheus_clientimportstart_http_server, CollectorRegistry, Gauge reg CollectorRegistry() gauge Gauge(rank,人气榜排名, [stock_id], registryreg )defprocess_request():url kwargs {appId:appId01,pageNo:1,pageSize:100, } result requests.post(url, jsonkwargs).json()foriinresult.get(data, []): gauge.labels(stock_idi[sc]).set(i[rk]) time.sleep(60)if__name__ __main__: start_http_server(8000, registryreg)whileTrue: process_request()在这里, 大家仅仅捕获人气排行榜的前一百名的数据。并且通过客户端开启一个web服务。这样一来, 当你通过http服务访问第八千端口的时候就可以输出这些指标。为了能使其可以一直不停地去产出那些指标方面的数据, 所以咱们需要把 nohup 给用起来, 好让它能变成一个那种常驻在后台的进程。nohup python3 fetch_stock.py 我们需要开放8000这个端口, 然后去访问那个网址, 就是http加上你的服务器IP地址, 再用冒号接着写8000, 这样就能查看到输出的这些指标数据了:5.应用采集脚本和之前的设定是一样的意思, 我们就得把咱们自己编的那些数据采集的脚本放置好, 具体的步骤是在配置.yaml这个文件里去完成。请设置yaml文件的内容, 来让采集程序输出的那些指标数据。#(CentOS) vim /data/prometheus/conf/prometheus.yamlvim /data/prometheus/conf/prometheus.yml# ubuntu其相关的设定参数内容如下呈现。# my global configglobal: scrape_interval: 15s# Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s# Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s).# Alertmanager configurationalerting: alertmanagers: - static_configs: - targets:# - alertmanager:9093# Load rules once and periodically evaluate them according to the global evaluation_interval.rule_files:# - first_rules.yml# - second_rules.yml# A scrape configuration containing exactly one endpoint to scrape:# Here its Prometheus itself.scrape_configs:# The job name is added as a label job to any timeseries scraped from this config.- job_name: prometheus# metrics_path defaults to /metrics# scheme defaults to http.static_configs: - targets:[localhost:9090]# 主要是新增了node_exporter的job如果有多个node_exporter在targets数组后面加即可- job_name: node_exporter static_configs: - targets:[localhost:9100]# 新增我们的Python股票采集脚本- job_name: hot_list static_configs: - targets:[localhost:8000]保存后重启:systemctl restart prometheus到了最后配置这个环节, 我们选择新建一个。接着, 来挑那个叫作rank的指标。您单击Use query这一个操作, 就可以把那些股票排好名的折线图全部获取到。6.配置告警为了在某个特定股票抵达指定的排名等级时, 去启动那个通知的动作, 我们是需要先把告警渠道这个事给布置妥当的。接着进行邮件告警的设置操作, 点击 Test 这个按钮, 这个时候会弹出来一个错误提示告诉你有这个问题:说白了, 就是咱们现在还没把SMTP这项服务搞好。得把这SMTP相关服务给配好了, 发邮件这事儿才算能正常运转。你要是确实是跟着这边这篇教程一步一步操作过来的, 那么, 那个ini类型的文件呢, 它就在 /etc//.ini这个位置放着。vim /etc/grafana/grafana.ini接着你需要对smtp部分进行相应的配置, 把那个host填上去, 还有user也要写完整, 并且把下面展示出来的那些设置项一个一个打开, 操作的样子就照着图中所显示的方式进行即可。然后是重启这个操作。systemctl restart grafana-server之后, 再次点击那个“Test”按钮。如果你的邮箱里收道了那样的电子邮件。这就说明通知功能是可以正常发送的。然后我们进入正题, 监控某只股票的排名变化, 比如:然后进行Alert的配置来设置告警信息, 当某个排名的数值高于65名的时候, 系统会自动执行发送邮件的通知操作。完成工作之后, 将光标移到屏幕的右上角区域, 找到并点击标有 save 的那个按钮, 以此来执行保存这一操作行为。然后进入到 告警中心的位置,你会看到刚刚配置好的那些告警规则, 在这里都是可以来进行管理的。你点一下“Pause”这个按钮, 系统就能把当前这条告警停住别响。如果你打算改一改设置警告的条件和规则的话, 你就可以去找那个叫作“Edit alert”的地方进行变动操作。只要这个告警状态一旦被触发, 那么它的状态就会发生改变, 你就会收到电子邮件通知。这个邮件的效果具体表现为下面这个样子。在邮件里, 显示的告警图片没有出现, 这是因为咱们这边没有安装“image”这个东西, 得在你的服务器上执行下面的那些命令来把它装上, 然后还得启动一下机器重启。grafana-cli plugins install grafana-image-renderer systemctl restart grafana-server在后来所收到的告警邮件里面, 是可以看到图片的存在:大家觉得怎么样, 其实用采集搭建一个股票监控系统这件事, 还是非常简单的吧? 通过创新性地监控东方财富人气榜上某只股票的变化并且产生告警这种方式, 是能够让你们熟悉监控策略的配置工作的, 同时也能够让你们见微知著。如果大家跟着本文的教程一步一步来走的话, 那么相信你们是会有不少收获的。假如我们把思路打开一点, 去结合量化投资系列教程里的内容, 那是不是有可能搭建出一些相对更加有价值的策略模型呢, 回答是完全可以的。我们可以对那些价格在一百元人民币以下的所有可转债所对应的股票进行监控工作, 并且如果这些股票出现在了人气榜单或者飙升榜单之上需要说明的是本文并没有对这些数据进行采集, 有兴趣阅读文章的读者可以自己去进行数据采集, 然后再去购买这些价格比较低的可转债产品, 这种用于买入产品的策略也许也是一个不错的办法。你不妨把东方财富的那个榜单分类给丢掉, 然后去搭一个自己专属的排名循环对比增长用来买入的策略, 再去弄一个环形对比下降用来卖出的规则这一点, 我觉得肯定特别有意思。我们的这篇文章至此就算是完结了, 若是你认同或者满意今天所提供的这个实际操作的指导内容, 那么希望你能够继续地关注实用宝典这一官方渠道以便获取更多有用的资料。精选文章
延伸阅读

更多相关文章

2026/10/31 14:39:23

python定义全局变量的方法是什么

关于什么是定义全局变量的方法这个疑问。什么是定义全局变量的方法? 这一类的问题, 很可能是我们在平时的学习过程或者是工作场景里面经常能够碰到的。希望通过解决这类问题, 能够让你获得比较多的大收获。下面是我给大家整理出来的可供参考的内容部分, 请大家一起来看看&…

2026/10/31 14:39:23

吃瓜主题 3.0 视频源码深度评测与实战指南

在搭建视频服务架构的初期,很多开发者容易陷入一个误区:过分关注功能实现的炫酷程度,而忽视了底层架构参数的合理配置。实际上,当业务从测试环境走向生产环境,尤其是面对多并发场景时,那些被忽略的细节往往…

2026/10/31 15:44:27

TRACE32调试器安装配置与USB链路排错指南

简介:《劳特巴赫TRACE32快速入门》是一份面向嵌入式调试初学者与工程技术人员的中文操作手册,围绕LAUTERBACH TRACE32调试器的上手使用展开,帮助读者建立从软件安装、硬件连接到首次启动的完整认知,适用于ARM、TriCore、PowerPC等…

2026/10/31 15:44:27

TRACE32调试器:Debug/Trace链路、安装与PowerView排错

简介:《劳特巴赫TRACE32快速入门》是一份面向嵌入式调试初学者与刚接触劳特巴赫调试器人员的入门手册,并适用于英飞凌等微处理器与微控制器调试场景,重点解决TRACE32软件安装、硬件环境搭建和首次启动中的基础操作与常见疑问。压缩包内为1个P…

2026/10/31 15:44:27

Gemini 4 Argon 优先开放安全团队:大模型分发策略与安全落地实践

1. 这次发布到底特殊在哪谷歌放出了 Gemini 4 Argon,圈子里讨论最多的不是跑分,而是它的分发策略——最强的那一档能力,先给安全团队用,普通开发者哪怕付了钱也得排队等。这个做法在模型发布史上不算常见,值得拆开聊聊…

2026/10/31 15:44:27

MCP协议深度解析:340个插件生态与AI工具调用标准化实践

1. 从340个包说起:MCP生态到底在发生什么 第一次看到“340个包”这个数字的时候,我的反应是——这个量级已经不能用“尝鲜”来解释了。一个插件目录能攒到三百多个条目,说明它已经跨过了“开发者自娱自乐”的阶段,进入了“有人真的…

2026/10/31 15:44:27

2026年AI技术趋势:神经符号系统与生物启发式计算

1. 2026年AI技术全景展望 2026年4月13日这个时间节点具有特殊意义——它标志着生成式AI技术发展进入第十个年头。从2016年AlphaGo战胜李世石开始,AI技术已经完成了从实验室到产业化的关键跨越。站在这个时间点上回望,我们会发现几个显著的技术演进轨迹&a…

2026/10/31 15:39:26

基于ResNet18的鸟类识别系统设计与优化实践

1. 项目背景与核心价值鸟类识别作为计算机视觉领域的经典应用场景,在生态监测、生物多样性研究、智能观鸟设备等领域具有广泛的应用前景。传统鸟类识别主要依赖专家人工观察,效率低下且成本高昂。基于卷积神经网络(CNN)的自动化识…

2026/10/30 20:55:10

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/30 20:55:10

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/30 20:55:09

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/31 0:02:41

猫狗目标检测数据集:VOC/COCO/YOLO三格式一体化实战包

简介:本资源是一套面向计算机视觉初学者与YOLO目标检测实践者的猫狗图像数据集及配套开发工具包,专为快速上手目标检测模型训练而设计。资源包含1000张真实场景高清猫狗图片,标注质量高,同时提供VOC(XML)、…

2026/10/31 0:02:41

HDU2017多校标程复现:算法竞赛工程化真题沙盒

简介:本资源为2017年HDU多校联合训练第一场官方配套资料,面向ACM程序设计竞赛备赛学生、算法爱好者及高校编程集训队成员,旨在提供权威解题参考与完整测试验证环境。压缩包共40个文件,含15份C标程(覆盖全部赛题&#x…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑