InfluxDB

scrapy自定义扩展(extensions)实现实时监控scrapy爬虫的运行状态

℡╲_俬逩灬. 提交于 2020-08-13 18:33:03
效果图: 废话 如何知道你写的爬虫有没有正常运行,运行了多长时间,请求了多少个网页,抓到了多少条数据呢?官方其实就提供了一个字典就包含一些抓取的相关信息:crawler.stats.get_stats(),crawler是scrapy中的一个组件。你可以在很多组件中访问他,比如包含from_crawler(cls, crawler)方法的所有组件。 既然能得到scrapy的运行状态,想要实时显示出来应该也很简单吧。同样是使用上一篇博客用到的influxdb+grafana来展示数据,我们只需要将scrapy的一些运行信息实时同步到influxdb这个数据库,就能通过grafana以图的形式来展示出数据库里的内容了。 写数据库 如何实时将字典同步到数据库呢?这里肯定要设定一个同步的时间间隔,假设是5秒。那么我们的需求就是让scrapy每5秒写一次爬虫运行状态的信息到数据库,上面提到能访问到crawler.stats.get_stats()这个的组件有很多,比如中间件、管道、爬虫。我们应该在哪个组件中同步信息? 这个我们可以先看一些内置的组件分别实现了什么功能,然后看和需求最相似的功能。很明显,功能最为合适的是extensions这个组件了,有很多人可能都没有用过这个组件,我在看很多博客都很少有提到这个组件的,因为这个组件能做的事,其他也能做,用它只是为了让分工更明确而已

kubernetes云平台管理实战:k8s弹性伸缩(十八)

為{幸葍}努か 提交于 2020-08-13 09:39:52
一、什么是弹性伸缩 Horizontal Pod Autoscaler的操作对象是Replication Controller、ReplicaSet或Deployment对应的Pod,根据观察到的CPU使用量与用户的阈值进行比对,做出是否需要增减实例数量的决策。controller目前使用heapSter来检测CPU使用量,检测周期默认是30秒 二、创建hpa nginx-rc.yaml [root@master hpa]# cat nginx-rc.yaml apiVersion: v1 kind: ReplicationController metadata: name: myweb1 spec: replicas: 2 selector: app: myweb1 template: metadata: labels: app: myweb1 spec: containers: - name: myweb1 image: 192.168.118.18:5000/nginx:1.13 ports: - containerPort: 80 resources: limits: cpu: 100m memory: 50Mi requests: cpu: 100m memory: 50Mi 创建检查 [root@master hpa]# kubectl create -f nginx

kubernetes云平台管理实战:部署heapster监控(十七)

纵然是瞬间 提交于 2020-08-13 08:13:40
一、实验准备 1、文件结构与组成 [root@master heapster-influxdb]# ll total 20 -rw-r--r-- 1 root root 414 May 13 16:35 grafana-service.yaml -rw-r--r-- 1 root root 694 May 21 12:14 heapster-controller.yaml -rw-r--r-- 1 root root 249 May 13 16:36 heapster-service.yaml -rw-r--r-- 1 root root 1627 May 13 17:19 influxdb-grafana-controller.yaml -rw-r--r-- 1 root root 259 May 13 16:37 influxdb-service.yaml 2、具体内容 grafana-service.yaml [root@master heapster-influxdb]# cat grafana-service.yaml apiVersion: v1 kind: Service metadata: labels: kubernetes.io/cluster-service: 'true' kubernetes.io/name: monitoring-grafana name

Go语言学习教程

六月ゝ 毕业季﹏ 提交于 2020-08-13 03:07:15
我关于Go语言的博客原本发布于我的个人网站: wwww.liwenzhou.com 。 但是被某些人抄怕了,没办法只好搬运到博客园。 我的Go语言学习之路 《Go语言学习之路》博客目录。 2015年底我因为工作原因接触到了Go语言,那时网上关于Go语言的学习资料不多,好在一直坚持到现在。我把自己学习Go语言的笔记都整理到这里,希望能给Go社区的发展出一点绵薄之力,帮助更多的人加入Gopher大家庭。 Go语言介绍 为什么你应该学习Go语言? → B站视频链接 开发环境准备 从零开始搭建Go语言开发环境 → B站视频链接 VS Code配置Go语言开发环境 → B站视频链接 Go语言基础 Go语言基础之变量和常量 → B站视频链接 Go语言基础之基本数据类型 → B站视频链接 Go语言基础之运算符 → B站视频链接 Go语言基础之流程控制 → B站视频链接 Go语言基础之数组 → B站视频链接 Go语言基础之切片 → B站视频链接 Go语言基础之map → B站视频链接 Go语言基础之函数 B站视频01函数部分 B站视频02匿名函数和闭包部分 Go语言基础之指针 → B站视频链接 Go语言基础之结构体 B站视频01自定义类型和类型别名 B站视频02结构体定义与实例化 B站视频03方法和接收者 B站视频04结构体嵌套 B站视频05结构体字段可见性和JSON

InfulxDb+grafana监控Windows运行状态

自闭症网瘾萝莉.ら 提交于 2020-08-12 09:06:56
看一下效果图: InfulxDb 官方网站: https://portal.influxdata.com/downloads/ docker docker pull influxdb 安装influxdb数据库 docker pull quay.io/influxdb/chronograf:1.8.4 chronograf可视化工具(非必要,只是可以web访问,类似PHPMySQL) docker run -d -p 8086:8086 -v /var/lib/influxdb:/var/lib/influxdb --name influxdb influxdb 启动influxdb,其中-v参数表示将docker内的文件夹映射到本地,冒号前为本地路径,冒号后为docker内路径。-p表示映射端口,建议不使用默认的8086端口,比如 -p 2222:8086 。 Windows chronograf Windows可执行文件下载地址 influxdb Windows可执行文件下载地址 Windows运行很简单:influxd.exe -config influxdb.conf(注意不是少打了一个b) 当然运行之前可以修改influxdb.conf配置文件,主要修改字段: bind-address = "0.0.0.0:8088" [meta] dir = "G:/Grafana

掌门1对1微服务体系Solar|阿里巴巴Sentinel落地实践

泪湿孤枕 提交于 2020-08-10 15:48:27
前言 掌门1对1精耕在线教育领域,近几年业务得到了快速发展,但同时也遭遇了“成长的烦恼”。随着微服务数量不断增加,流量进一步暴增,硬件资源有点不堪重负,那么,如何实现更好的限流熔断降级等流量防护措施,这个课题就摆在了掌门人的面前。由于 Spring Cloud 体系已经演进到第二代,第一代的 Hystrix 限流熔断降级组件已经不大适合现在的业务逻辑和规模,同时它目前被 Spring Cloud 官方置于维护模式,将不再向前发展。 如何选择一个更好的限流熔断降级组件?经过对 Alibaba Sentinel 、 Resilience4j 、 Hystrix 等开源组件做了深入的调研和比较,最终选定 Alibaba Sentinel 做微服务体系 Solar 中的限流熔断降级必选组件。 Sentinel 简介 阿里巴巴中间件部门开发的新一代以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性的分布式系统的流量防卫兵。它承接了阿里巴巴近10年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。 它具有非常丰富的开源生态: 它和 Hystrix 相比,有如下差异: 摘自官网 Sentinel Roadmap 关于 Sentinel 如何使用,它的技术实现原理怎样等

掌门1对1微服务体系 Solar | 阿里巴巴 Sentinel 落地实践

放肆的年华 提交于 2020-08-10 06:41:41
前言 掌门1对1精耕在线教育领域,近几年业务得到了快速发展,但同时也遭遇了“成长的烦恼”。随着微服务数量不断增加,流量进一步暴增,硬件资源有点不堪重负,那么,如何实现更好的限流熔断降级等流量防护措施,这个课题就摆在了掌门人的面前。由于 Spring Cloud 体系已经演进到第二代,第一代的 Hystrix 限流熔断降级组件已经不大适合现在的业务逻辑和规模,同时它目前被 Spring Cloud 官方置于维护模式,将不再向前发展。 如何选择一个更好的限流熔断降级组件?经过对 Alibaba Sentinel 、 Resilience4j 、 Hystrix 等开源组件做了深入的调研和比较,最终选定 Alibaba Sentinel 做微服务体系 Solar 中的限流熔断降级必选组件。 Sentinel 简介 阿里巴巴中间件部门开发的新一代以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性的分布式系统的流量防卫兵。它承接了阿里巴巴近10年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。 它具有非常丰富的开源生态: 它和 Hystrix 相比,有如下差异: 摘自官网 Sentinel Roadmap 关于 Sentinel 如何使用,它的技术实现原理怎样等

关于Jmeter后端监听器的一个坑

 ̄綄美尐妖づ 提交于 2020-08-08 05:22:41
Jmeter的后端监听器(BackendListener)是一个异步侦听器,可以将数据推入到数据库中,提供了InfluxDB,graphite两个选项。用来监听Jmeter取样器的测试结果,能够以树、表及图形的形式来显示测试结果。除了监听测试结果之外,大部分监听器还提供查看,保存和读取已保存测试结果的方法。具体使用方法参考: https://blog.csdn.net/smooth00/article/details/79926294 但是使用过程中,Jmeter后端监听器有个巨大的坑(也算是小BUG),很多人没有意识到。那就是在多脚本并行运行时,会出现监控数据混合在一起的情况,这是为什么呢,针对这个问题用以下例子进行说明: 我们先是创建两个脚本,叫不同的名字,HRP-1.jmx和HRP-2.jmx,为了区别两脚本,接口名称也不相同,如下: 这两脚本各自创建自己的后端监听器,连接的influxdb库是一样的,但是application名字不一样,如下: 然后同时跑这两脚本,结果发现两脚本的数据全都合到一个application中了(合到第一个运行的脚本名称中): 在看influxdb数据库,发现确实两个脚本产生的数据全都归到Application Name为HRP-uplaod下: 明明是命名了两个不同的Application Name,我们再看一下后端监控器的配置参数说明

国内首款基于.NET Core平台的大数据可视化分析工具平台

我是研究僧i 提交于 2020-08-06 13:15:04
NBI一站式自服务大数据可视化分析平台是一款基于.NET Core开发的自助式可视化分析大屏展示平台,可以通过平台零代码或低代码方式构建各类数据展示分析; NBI一站式自服务大数据可视化分析平台提供了多种灵活的部署方式,支持安装包模式安装、手动安装、docker镜像安装 NBI一站式自服务大数据可视化分析平台跨平台性:支持部署在Windows、Linux、MacOS等操作系统上运行 NBI一站式自服务大数据可视化分析平台V4.6.5主要更新内容如下: (1)优化平台性能,主要解决平台中部分组件在自动刷新后,内存居高不下的现象,导致时间长后卡顿 (2)平台中所有数据展示组件新增自动刷新功能功能,可开启,可关闭,可配置刷新时间间隔 (3) 表格组件增加自动滚动功能 (4)新增influxdb数据源对接 (5)新增数据源管理平台树形菜单刷新功能 (6)修复和完善若干小问题 (7)数据源管理平台图标风格调整,保持与整体风格一致性 组件自动刷新: 表格自动滚动: 新增influxdb数据源: NBI大数据 NBI可视化 新基建 物联网 echart 数据中台 数据资产 数据可视化 来源: oschina 链接: https://my.oschina.net/easydatavis/blog/4474205

InfluxDB - Including multiple values in where clause based on tags

大城市里の小女人 提交于 2020-07-30 05:40:12
问题 I'm trying to query data based on tag values. Is it possible to include multiple queries in the where clause . I could not find an operator similar to the IN operator in SQL. select * from students where rollNumber='1' limit 10 students is the measurement and rollNumber is a tag. I want include multiple values of rollNumber in the query. Any suggestions to solve the problem? 回答1: InfluxDB does not have IN operator, however it supports Go-lang regular expressions in WHERE clause for fields and