关于监控:利用观测云实现业务数据驱动的弹性扩缩容

背景在应用观测云对业务零碎进行观测的过程中,除了能够实现业务零碎的全面感知,咱们还能够基于观测云数据处理开发平台 DataFlux Func ,联合故障模型对被测系统进行被动治理,例如弹性扩容或系统故障自愈,从而实现系统管理从观测到复原的主动闭环。 本文以 K8s 环境部署的 ruoyi 零碎为例,演示一个简略的业务零碎主动扩容过程,设定的故障自愈场景是“当故障产生时,尝试扩容产生异样的容器”。 施行步骤对于示例场景,须要在 DataFlux Func 平台执行如下两步操作: 首先,须要实现对 K8s 集群的拜访和操作,获取对象利用容器以后的状态并执行扩容;其次,要将该处理过程公布为 API 接口,由观测云核心触发调用操作。配置 K8s 集群拜访权限以脚本形式实现对 K8s api-server 的形式次要有三种: HTTPS 证书认证:基于 CA 证书签名的数字证书认证HTTP Token 认证:通过一个 Token 来辨认用户HTTP Base 认证:用户名+明码的形式认证本例应用 HTTP Token 认证实现拜访,配置过程如下: Func 平台新建脚本登录 DataFlux Func 平台,创立新脚本并装置 K8s 官网脚本包 pip3 install kubernetes 创立账号并获取 token创立用户kubectl create serviceaccount demo-admin -n kube-system用户受权kubectl create clusterrolebinding demo-admin --clusterrole=cluster-admin --serviceaccount=kube-system: demo-admin获取用户 Tokenkubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/ demo-admin /{print $1}')配置客户端连贯configuration = client.Configuration()setattr(configuration, 'verify_ssl', False)client.Configuration.set_default(configuration)configuration.host = KUBE_API_HOSTS #ApiHostconfiguration.verify_ssl = Falseconfiguration.debug = Trueconfiguration.api_key = {"authorization": "Bearer " + API_TOKEN}client.Configuration.set_default(configuration)这样就做好了集群拜访筹备。 ...

September 7, 2023 · 4 min · jiezi

关于监控:重磅云智慧监控宝这些功能免费用啦

自云智慧推出监控宝以来,各行业畛域反映强烈,现已有超过24万人次应用监控宝官网的收费试用性能。得益于诸多企业及用户对监控宝激情的继续升温,云智慧开释技术红利,推出监控宝收费应用福利,面向中小型企业提供监控宝外围性能的收费应用,反对企业构建安全性、灵活性、多监测点的全方位网站监控体系。 官网收费应用流动首页图云智慧监控宝收费应用是一项长期福利打算,用户任何工夫申请应用都能享受1年的收费应用时长。在提供监控宝收费应用的同时,云智慧还提供齐备的产品白皮书和用户使用手册,让用户“零门槛”即可体验IT监控服务。除此之外,凋谢、容纳、多元化的监控宝用户交换群更是为用户提供了7*24小时的业余技术答疑反对。 作为全新一代的用户体验监控工具,监控宝领有分布式监测网络,内含寰球200+骨干节点,且网络规模继续扩充中,提供7ⅹ24智能网站监测,全通道秒级故障告警,可疾速定位可用性问题,让企业运维效率进步10倍,保障企业在线业务的稳固。 监控宝收费应用福利向用户提供了 IT 性能监控(IT Performance Monitoring)的 SaaS 产品服务,蕴含国内外7个骨干监测节点,监控频率高达每15分钟探测一轮,配额6个监控工作创立权限,每月100条短信推送数量。赋能企业通过国内先进的Web监控技术,被动追踪基于云端架构的网站实在用户拜访链路,深刻监控CDN、主机、运营商、API等各个环节的性能指标,更疾速地发现和辨认网站运行过程中任何影响用户体验的响应速度问题、连通性问题和页面性能问题。 此次监控宝收费应用福利,得益于云智慧十多年来在运维监控技术整合方面的继续投入,进步运维监控资源利用率,带动运维监控老本一直升高,从而推动规模扩充和价格升高的正循环。云智慧心愿吸引更多企业间接通过监控宝实现网站的分布式监控,享受更加便捷的利用零碎监测服务,最终让企业更低成本地享受监控宝更高质量的产品及服务。

August 25, 2023 · 1 min · jiezi

关于监控:夜莺监控之Categraf监控VMwareVSphere

之前始终在应用开源的虚拟化软件PVE(Proxmox VE),忽然有一天网桥莫名其妙的出幺蛾子,周末鼓捣了半天,谷歌百度也找不到对应的解决方案,重新安装烦的不行,起初一怒之下就换了VMware的VSphere7.0,不得不说,VMware的稳定性与实用性是真的赞,奥利给!然而有了虚拟化,怎么监控性能与告警呢?以后的监控产品款式繁多,到底抉择谁好呢?那这里就不得不提以后开源易用性好、扩大能力强、采集插件多、告警通道广的监控零碎:Nightingale(前面简称夜莺监控),这里并不是说其余的监控不好用,众家各有千秋,这里只对夜莺做监控做解说,不喜勿喷哈~Nightingale简介夜莺监控 夜是一款开源云原生观测剖析工具,采纳 All-in-One 的设计理念,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态严密集成,提供开箱即用的企业级监控剖析和告警能力。已有泛滥企业抉择将 Prometheus + AlertManager + Grafana 的组合计划降级为应用夜莺。夜莺于 2020 年 3 月 20 日,在 github 上公布 v1 版本,已累计迭代 100 多个版本。 夜莺最后由滴滴开发和开源,并于 2022 年 5 月 11 日,捐献予中国计算机学会开源倒退委员会(CCF ODC),为 CCF ODC 成立后承受捐献的第一个开源我的项目。夜莺的外围研发团队,也是 Open-Falcon 我的项目原外围研发人员。针对Nightingale的更多具体介绍、装置配置都在这里了,请拜访官网文档,在这里就不过多叙述了。 Categraf简介Categraf 是一个监控采集 Agent,相似 Telegraf、Grafana-Agent、Datadog-Agent,心愿对所有常见监控对象提供监控数据采集能力,采纳 All-in-one 的设计,岂但反对指标采集,也心愿反对日志和调用链路的数据采集。来自快猫研发团队,和 Open-Falcon、Nightingale 的研发是一拨人。categraf的代码托管在 github:https://github.com/flashcatcloud/categraf,如果想理解更具体的章节,能够拜访Categraf官网文档 后面针对夜莺监控与采集器Categraf的介绍都是摘自Flashcat官网文档中的章节,仅以抛砖引玉,让大家能够对夜莺监控与Categraf有更多的理解,同时,如果你当初正在稳定性建设、故障发现、故障定位等问题而懊恼,能够分割快猫星云(开源监控引领者,故障定位真帮手),上面是官网公众号: 言归正传:明天解说一下如何应用Categraf采集监控VSphere的指标数据,上报给夜莺监控V6,并在夜莺监控V6上配置VSphere监控仪表盘以及告警;明天针对VSphere监控次要波及到四个环节: 监控对象装置、配置:VSphere的装置与简略配置;针对VSphere安装包,官网下载太慢了,能够在后盾回复【VSphere7.0】获取ESXi和vCenter不百度云下载地址。 监控组件装置、配置:夜莺监控V6的装置与配置这里仅以V6做解说,不对V5装置、配置做阐明; 采集组件装置、配置:Categraf采集与VSphere大盘配置;装置Categraf采集器,应用采集插件inputs.vsphere采集vcenter指标数据,上报夜莺监控; 夜莺监控WEB页面配置:在WEB页面配置监控数据源并导入VSphere大盘、配置告警;在夜莺监控的仪表盘配置数据源、应用导入性能,展现以后采集VSphere监控数,配置告警、触发告警; VSphere装置、配置服务器配置:主板 : 华南X99-CH8 CPU : E5 2680V3 内存 : 镁光32G DDR4x4pc4 * 6 硬盘 : SSD 480G & SSD 1T ...

June 13, 2023 · 4 min · jiezi

关于监控:性能测试监控指标及分析调优-京东云技术团队

一、哪些因素会成为零碎的瓶颈?1、CPU,如果存在大量的计算,他们会长工夫不间断的占用CPU资源,导致其余资源无奈抢夺到CPU而响应迟缓,从而带来零碎性能问题,例如频繁的FullGC,以及多线程造成的上下文频繁的切换,都会导致CPU忙碌,个别状况下CPU使用率<75%比拟适合。 2、内存,Java内存个别是通过jvm内存进行调配的,次要是用jvm中堆内存来存储Java创立的对象。内存的读写速度十分快,然而内存空间又是无限的,当内存空间被占满,对象无奈回收时,就会导致内存溢出或内存透露。 3、磁盘I/O,磁盘的存储空间要比内存存储空间大很多,然而磁盘的读写速度比内存慢,尽管当初引入SSD固态硬盘,然而还是无奈跟内存速度相比。 4、网络,带宽的大小,会对传输数据有很大影响,当并发量减少时,网络很容易就会成为瓶颈。 5、异样,Java程序,抛出异样,要对异样进行捕捉,这个过程要耗费性能,如果在高并发的状况下,继续进行异样解决,零碎的性能会受影响。 6、数据库,数据库的操作个别波及磁盘I/O的读写,大量的数据库读写操作,会导致磁盘I/O性能瓶颈,进而导致数据库操作提早。 7、当在并发编程的时候,常常会用多线程操作同一个资源,这个时候为了保证数据的原子性,就要应用到锁,锁的应用会带来上下文切换,从而带来性能开销,在JDK1.6之后新增了偏差锁、自旋锁、轻量级锁、锁粗化、锁打消。 二、哪些指标做为掂量零碎的性能1、RT响应工夫,包含如下1.1 数据库响应工夫,即数据库操作的工夫 1.2 服务端响应工夫,服务端包含Nginx散发的申请所耗费的工夫及服务端程序执行所耗费的工夫。 1.3 网络响应工夫,网络传输,网络硬件须要对传输的申请进行解析所耗费的工夫 1.4 客户端响应工夫,个别Web、App客户端,耗费工夫能够忽略不计,然而如果客户端存在大量的逻辑解决,耗费的工夫有能能就会变长。 2、TPS吞吐量2.1 磁盘吞吐量 IOPS(Input/Output Per Second)每秒的输入输出量,这种是单位工夫内零碎能解决的I/O申请数量,I/O申请通常为读或写数据操作申请,关注随机读写性能,实用于随机读写频繁的利用,如小文件存储,邮件服务器。数据吞吐量,这种是单位工夫能够传输的数据量,对于大量程序读写频繁的利用,传输大量间断数据,例如视频编辑。 2.2 网络吞吐量 指网络传输时没有丢帧的状况下,设施可能承受的最大数据速率。网络吞吐量不仅跟带宽有关系,还跟CPU解决能力、网卡、防火墙、以及I/O等紧密联系,吞吐量的大小由网卡的解决能力、外部程序算法以及带宽大小决定。 3、资源使用率3.1 CPU使用率,首先能够先理解CPU的根本信息,包含物理CPU的个数、单个CPU的核数,而后能够通过命令查看使用率,vmstat、mpstat、top 3.2 内存使用率,free -m、vmstat、top 3.3 磁盘I/O, iostat、 iotop、 3.4 网络I/O,netstat、ifconfig、tcpstat、 三、性能测试留神的问题1、咱们在做性能测试的时候,零碎的运行会越来越快,前面的访问速度比咱们第一次拜访的速度快了好几倍,这是因为Java语言编译的程序是,.java文件先编译为.class文件,而后通过解释器将.class的字节码转换老本地机器码后,能力运行。为了节约内存和执行效率,代码最后被执行时,解释器会率先解释执行这段代码。随着代码被执行的次数增多,虚拟机发现某个办法或代码运行的特地频繁,就被认定为热点代码(Hot Spot Code)。为了进步热点代码的执行效率,在运行时虚拟机将会通过即时编译器(JIT)把这些代码编译成为本地平台相干的机器码,而后贮存在内存中,之后每次运行代码时,间接从内存中获取。这样就会导致第一次零碎运行慢,前面拜访的速度快几倍。 2、在做性能测试的时候,每次测试解决的数据集都是一样的,然而后果却有差别,这是因为测试时,随同着很多不稳固因素,比方机器其余过程的影响、网络稳定以及每个阶段JVM垃圾回收的不同等。咱们能够通过屡次测试,将测试后果求均匀,只有保障平均值在正当范畴之内,并且稳定不是很大,这种状况,性能测试就算通过。 四、定位性能问题的时候,能够应用自下而上的策略剖析排查当咱们进行压测之后,咱们会输入一份性能测试报告,其中包含,RT、TPS、TP99,被压服务器的CPU、内存、I/O,以及JVM的GC频率。通过这些指标能够发现性能瓶颈。咱们能够采纳自下而上的形式进行剖析。 1、首先从操作系统层面,查看零碎的CPU、内存、I/O、网络的使用率是否异样,再通过命令查找异样日志,最初通过日志剖析,找到导致瓶颈的问起因。 2、还能够从Java利用的JVM层面,查看JVM的垃圾回收频率以及内存分配情况是否存在异样,剖析垃圾回收日志,找到导致瓶颈的起因。 3、如果零碎和JVM层面都没有出现异常状况,而后能够从应用服务业务层查看是否存在性能瓶颈,例如,Java编程问题,读写数据库瓶颈等。 五、优化性能问题的时候,能够应用自上而下的策略进行优化整体的调优程序,咱们能够从业务调优到编程调优,最初再到零碎调优 1、应用层调优首先是优化代码,代码问题往往会因为耗费系统资源而暴漏出来,例如代码导致内存溢出,使JVM内存用完,而产生频繁的FullGC,导致CPU偏高。 其次是优化设计,次要是优化业务层和中间件层代码,例如能够采纳代理模式,放在频繁调用的创建对象的场景里,共享一个创建对象,缩小创建对象的耗费。 再次是优化算法,抉择适合的算法升高工夫复杂度。 2、中间件调优MySQL调优 1)、表构造与索引优化。 次要是对数据库设计、表结构设计以及索引设置维度进行的优化,设计表构造的时候,思考数据库的程度与垂直的拓展能力,提前布局好未来数据量、读写量的增长,布局好分库分表计划。对字段抉择适合的数据类型,优先选用较小的数据结构。 2)、SQL语句优化。 次要是对SQL语句进行的优化,应用explain来查看执行打算,来查看是否应用了索引,应用了哪些索引。也能够应用Profile命令剖析语句执行过程中各个分步的耗时。 3)、MySQL参数优化。 次要是对MySQL服务的配置进行优化,例如连接数的治理,对索引缓存、查问缓存、排序缓存等各种缓存大小进行优化 4)、硬件及系统配置。 对硬件设施和操作系统设置进行优化,例如调整操作系统参数、禁用swap、减少内存、降级固态硬盘。 3、零碎调优首先是操作系统调优,Linux操作的内核参数设置能够进行调优,已达到提供高性能的目标。\其次,JVM调优,设置正当的JVM内存空间,以及垃圾回收算法来进步性能,例如,如果业务逻辑会创立大对象,咱们就能够设置,将大的对象间接放到老年代中,这样能够缩小年老代频发产生YongGC,缩小CPU的占用工夫。 4、调优的策略首先是工夫换取空间,有的时候系统对查问速度要求不高,对存储空间要求较高,这个时候咱们能够思考用工夫换取空间。 其次是空间换取工夫,用存储空间晋升访问速度,典型的就是MySQL的分库分表策略,MySQL表单数据存储千万以上的时候,读写性能就会降落,这个时候咱们能够将数据进行拆分,以达到查问的时候,每个表的数据是大量的,以达到晋升性能的目标。 5、兜底策略零碎调优后,依然还会存在性能问题,这个时候咱们须要有兜底策略,首先是限流,对系统的入口设置最大拜访限度,同时采取断熔措施,返回没有胜利的申请。其次是横向扩容,当访问量超过某一个阈值时,零碎能够主动横向减少服务。 作者:京东衰弱 牛金亮 内容起源:京东云开发者社区

May 26, 2023 · 1 min · jiezi

关于监控:一种通用的业务监控触发方案设计-京东云技术团队

一、背景业务监控是指通过技术手段监控业务代码执行的最终后果或者状态是否合乎预期,实现业务监控次要分成两步:一、在业务零碎中抉择节点发送音讯触发业务监控;二、零碎在接管到mq音讯或者定时任务调度时,依据音讯中或者工作中的业务数据查问业务执行的后果或状态并与业务预期的后果绝对比。目前供销系统的计划如下: 由业务零碎发送音讯触发规定核心的校验工作,校验逻辑和报警规定通过规定核心的groovy脚本代码实现,该计划的毛病如下: 1.业务监控代码掺杂在失常的业务代码中,业务监控的代码侵入性高; 2.业务监控音讯触发代码可复用性极低,各个利用都要保护一套代码,前期若要减少或保护某个性能时老本大; 3.减少业务监控的开发工作量,开发人员须要开发和保护与业务监控性能无关的代码,如:音讯触发降级性能、性能监控、异步触发等性能; 为解决上述问题,本文提出了一种通用的业务监控触发计划。 二、计划介绍通用mq音讯体:public class BusinessCheckMessage { /** * 监控类型 */ private String businessType; /** * 业务监控须要的参数 */ private Object data; /** * 业务方 */ private String businessSource; /** * 以后所属的topic */ private String topic;}其中, businessType用于辨别业务监控的类型,如:终止单干、提单等; data用于存储和业务相干的要害数据,如订单id、商家id等; businessSource用于辨别不同业务方的业务,如:万商的提单、供销的提单等; topic用于隔离音讯,如:业务监控工作执行快的能够用主题A、执行慢的的能够用主题B等; 2.自定义注解 + 切面 以供销系统业务监控为例,靠近50%的场景是将办法体中的参数作为业务数据来触发业务监控,针对此场景,本文采纳注解+切面解耦业务监控代码和失常业务代码,升高业务监控代码对失常的业务代码的侵入,其中自定义注解负责获取业务监控须要用到的办法入参中的相干数据,切面负责组装通用mq数据模型并实现音讯的发送。自定义注解定义如下: public @interface BusinessCheckPoint { /** * 业务监控类型 */ String businessType(); /** * 业务方 */ String businessSource(); /** * 要发送的音讯的topic */ String businessTopic(); /** * 办法参数的第几个参数作为音讯内容,从0开始 */ int dataIndex(); /** * 在执行业务流程前发送音讯 * 默认在业务流程执行后发送音讯 */ boolean beforeOperate() default false;}其中, businesstype用于获取业务监控类型; businessSource用于获取业务方; businessTopic用于获取以后要发送的音讯主体; dataIndex用于获取办法体参数中的数据,从0开始; beforeOperate用于获取音讯发送的工夫,在业务流程执行后发送音讯还是业务流程执行前发消息; ...

May 16, 2023 · 1 min · jiezi

关于监控:使用篇丨链路追踪Tracing很简单链路实时分析监控与告警

在后面文章外面,咱们介绍了单链路的筛选与轨迹回溯,是从单次申请的视角来剖析问题,相似查问某个快递订单的物流轨迹。但单次申请无奈直观反映利用或接口整体服务状态,常常会因为网络抖动、宿主机 GC 等起因呈现偶发性、不可控的随机离群点。当一个问题产生时,利用负责人或稳定性负责人须要首先判断问题的理论影响面,从而决定下一步应急解决动作。因而,咱们须要综合一段时间内所有链路进行统计分析,这就好比咱们评估某个物流中转站点效率是否正当,不能只看某一个订单,而要看一段时间内所有订单均匀直达工夫与出错率。 统计分析是咱们察看、利用分布式链路追踪技术的重要伎俩。咱们既能够依据不同场景要求进行实时的后聚合剖析,也能够将罕用的剖析语句固化成规定生成预聚合指标,实现常态化监控与告警。 残缺内容请点击下方链接查看: https://developer.aliyun.com/article/1190427 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

April 23, 2023 · 1 min · jiezi

关于监控:揭秘网页性能监控|如何从多个角度分析监控结果

作为一家大型公司的网站管理员,次要工作就是保护公司各类网站的失常运行和更新网站内容。然而,随着本人所在公司业务不断扩大,网站访问量一直减少,网站管理员就会接到各种各样的用户投诉,包含埋怨网站加载速度过慢、局部页面无奈失常拜访、甚至页面解体等,企业也会因而导致用户散失和品牌形象受损。 这种场景下,对该公司的网站管理员来说,可能解决上述问题的最佳计划就是领有一个能够实时监控网站性能,并能在呈现问题时能够疾速定位和解决问题的网站监控产品。 监控宝可能对页面可用性、页面性能、资源可用性、资源性能、首屏工夫等进行监控,依据页面性能和网站资源监控后果,疾速精确的定位到网站性能问题的具体起因及所在的地区,精确地判断是网络、CDN、服务器、还是网站页面性能的问题。本文将介绍通过监控宝监控工作后如何无效查看整体监控工作列表,并从不同角度进行网页性能剖析。帮忙企业客户更好地理解本身网站性能瓶颈并进行无效的优化。 监控后果剖析配置入口:网页性能监控>工作治理>指标监控工作>综合出现 在监控工作列表中,单击监控工作名称进入综合出现页面查看并剖析监控后果。您能够从不同角度进行网页性能剖析,包含网页整体状态、运营商性能、响应工夫、性能评估、可用性和竞品比照。在页面左上方,抉择监控工作分组和监控工作,您能够切换至其余监控工作来查看监控后果。 剖析整体性能配置入口:网页性能监控>工作治理>指标监控工作>综合出现>概览 在概览页面对网页进行整体性能剖析,您能够间接抉择时间段来查看最近一段时间的监控后果,包含最近30分钟、最近1小时、最近2小时、最近3小时、最近6小时和最近12小时;或者自定义一个工夫范畴来看对应时间段内的监控后果。 页面可用性 在饼图中查看页面可用性剖析,包含不可用类型及其次数和占比(单类不可用次数/不可用总次数)。页面不可用类型包含DNS解析故障、连贯超时、400谬误、500谬误、其余异样。单击饼图进入可用性页面查看页面可用性的详细分析。 元素响应工夫 在饼图中查看申请页面中所有申请对象的响应工夫性能剖析,响应工夫包含DNS解析工夫、连贯建设工夫、SSL握手工夫、首字节工夫等。单击饼图进入响应工夫页面查看响应工夫的详细分析。 在内饼图中查看所有申请对象的响应工夫达标和不达标的占比。在外环图中查看各阶段响应工夫的达标次数和占比、不达标次数和占比。元素可用性 在饼图中查看申请页面中元素的可用性剖析:不可用类型及其次数和占比(单类不可用次数/不可用总次数),元素不可用类型包含DNS解析故障、连贯超时、400谬误、500谬误、其余异样。单击饼图进入可用性页面查看元素可用性的详细分析。 在内饼图中查看不可用元素的类型及其次数和占比,元素类型包含Image、CSS、JS、其余。在外环图中不可用类型及其次数和占比,元素不可用类型包含DNS解析故障、连贯超时、400谬误、500谬误、其余异样。元素性能评估 在面积雷达图中查看元素性能评估,包含动态资源CDN使用率、首字节、连贯放弃、动态资源、图片压缩五个指标的性能评分,顶点处为100分,圆点处为0分。单击面积雷达图进入性能评估页面查看元素性能评估的详细分析。 首屏工夫 您可能查看运营商首屏工夫统计和首屏工夫最慢的10个监测点,从世界地图到国家地图再到省份地图进行逐级查看不同运营商链路下的首屏工夫,最终定位最慢地区,剖析迟缓影响范畴。在运营商首屏工夫统计列表中查看首屏工夫最慢的三个运营商,单击下拉查看所有运营商的首屏工夫。单击运营商首屏工夫进入运营商页面查看详细分析。在首屏工夫最慢TOP10列表中,单击运营商首屏工夫进入响应工夫页面查看详细分析。 可用率和响应工夫 您可能查看一段时间内的可用率和响应工夫变化趋势,同时还能通过仪表盘查看整体的均匀可用率。 剖析运营商首屏工夫配置入口:网页性能监控>工作治理>指标监控工作>综合出现>运营商 在运营商页面,查看各运营商之间首屏工夫比照剖析,您能够设置数据的工夫范畴和显示的工夫粒度(时或日)。 在列表中查看各运营商的具体数据,包含每次监控的工夫、首屏工夫和监测点个数,如下图所示。 剖析响应工夫配置入口:网页性能监控>工作治理>指标监控工作>综合出现>响应 工夫 在响应工夫页面查看响应工夫趋势和响应工夫达标状况,您能够设置数据的工夫范畴、国家、省份、监测点和监控指标。监控指标包含首屏工夫、网络层工夫、DNS解析工夫、连贯建设工夫、SSL握手工夫、重定向工夫、首字节工夫。 在列表中查看每次监控的工夫、监测点、指标IP、DNS服务器和具体的响应工夫。 单击工夫查看检测历史快照,包含整体响应工夫、首屏工夫、元素瀑布图、网络诊断图。 申请元素剖析 在元素瀑布图中查看每个申请元素的详细分析,包含元素的可用性状态、大小、响应工夫瀑布图等。响应工夫瀑布图中包含阻塞等待时间、DNS解析工夫、建设连接时间、发送申请工夫、等待时间、接收数据工夫以及DOM加载工夫、页面加载工夫、首屏工夫基准线。 将鼠标移至申请URL上并单击右上角的小三角可设置须要在元素瀑布图中显示的内容。 将鼠标移至申请元素上并单击右上角的小三角可宰割元素瀑布图、在新窗口查看申请或返回内容。 单击申请查看Response Header和Request Header的具体内容。 网络诊断剖析 在网络诊断中查看Ping、DNS、TraceRoute的具体诊断信息,如Ping丢包率、DNS解析记录、TraceRoute跳数及跳转门路,剖析申请元素不可用起因。 剖析主机性能配置入口:网页性能监控>工作治理>指标监控工作>综合出现>主机统计 在主机统计页面查看主机的输入对象个数、响应次数和响应成功率。您能够通过抉择监控工作和数据工夫范畴来筛选主机,也能够通过IP或域名搜寻特定的主机。 单击主机IP可能剖析具体主机的性能,包含元素个数、SSL握手工夫、建连工夫(TCP)、首字节工夫、下载速度、可用率、拜访监测点个数及每个元素的申请次数、均匀响应工夫、可用率、元素大小。通过剖析以上数据,无效调整元素散布策略。 剖析监测点性能配置入口:网页性能监控>工作治理>指标监控工作>综合出现>性能评估 在性能评估页面,查看所有有问题的监测点及监测点最近一次分数最低的数据,包含元素性能评估得分、动态资源CDN使用率、首屏工夫、响应工夫、申请个数、域名数、资源类型统计、资源域名统计以及首字节工夫、动态资源CDN应用、放弃连贯、图片压缩、缓存节点动态资源五个性能指标的得分、问题数。 其中,性能评估得分是首字节工夫、放弃连贯、图片压缩、缓存节点动态资源四个性能指标得分的平均值;动态资源CDN使用率与动态资源CDN应用指标的得分统一。 首字节工夫 单击首字节工夫区块查看预期首字节工夫和理论首字节工夫。 预期首字节工夫:胜利加载页面第一个200对象所消耗的所有网络工夫的开销+100ms偏移。理论首字节工夫:页面开始响应到第一个200对象的首字节工夫的工夫总和。动态资源CDN应用 用于评估所有响应200的非HTML的动态资源对象,通过检测页面上所有非HTML的动态资源对象是否由已知的CDN主机胜利响应,得出动态资源CDN使用率。单击动态资源CDN应用区块查看影响得分即有问题的URL、是否应用CDN、CDN服务提供商。 放弃连贯 用于评估所有响应200的对象,检测页面上所有参加响应的主机的连贯是否开启了连贯放弃。单击放弃连贯区块查看影响得分即有问题的URL。 图片压缩 用于评估所有响应200的图片对象,检测图片对象是否应用了压缩(Compression)。单击图片压缩区块查看影响得分即有问题的URL。 缓存节点动态资源 ...

March 30, 2023 · 1 min · jiezi

关于监控:提升用户体验与搜索引擎排名|网页性能监控实操详解

在古代互联网时代,网页性能曾经成为了用户体验的重要因素之一。一个疾速、晦涩的网站能够吸引更多的用户,并进步他们的满意度和忠诚度。因而,网页性能监控曾经成为了网站开发和治理的重要一环。本文将介绍网页性能监控的重要性以及如何在监控网页性能时应用监控宝创立并治理监控工作。 网络性能监控的重要性通过网页性能监控能够实时理解网站的加载速度、响应工夫、页面元素的渲染速度等方面的性能体现。这些指标能够帮忙网站管理员和开发人员及时发现和解决性能问题,进步网站的用户体验和效率。因而,在用户体验至上的互联网时代,网络性能监控更是具备以下重要性: 进步用户体验:疾速、晦涩的网站能够进步用户的满意度和忠诚度,促成用户转化率的晋升。网页性能监控能够帮忙管理员和开发人员及时发现和解决网页性能问题,进步网站的用户体验。进步搜索引擎排名:搜索引擎越来越重视网页的性能体现,网页性能监控能够帮忙管理员和开发人员理解网页的性能指标和问题,并采取相应的措施优化网页性能,从而进步网站在搜索引擎排名中的竞争力。进步可用性和可靠性:网页性能监控能够帮忙管理员及时发现和解决性能问题,从而进步网站的可用性和可靠性。例如,疾速的网站能够升高用户的等待时间和流量耗费,从而进步网站的稳定性和可靠性。网页性能监控的工具点击此处,马上申请监控宝收费试用名额 网页性能监控能够应用多种工具来实现。监控宝作为一款全面的网页性能监控工具,可能对页面可用性、页面性能、资源可用性、资源性能、首屏工夫等进行监控,依据页面性能和网站资源监控后果,疾速精确的定位到网站性能问题的具体起因及所在的地区,精确地判断是网络、CDN、服务器、还是网站页面性能的问题。 页面可用性 通过页面可用性监控,整体把握网站的可用状态,通过不同工夫点的可用性剖析,定位具体的故障起因,包含DNS解析故障、连贯超时、400谬误和500谬误状况。依据监测工夫以及监控状态,进行整体排查和性能故障定位;依据故障类型进行历史快照追踪,把握监测点IP、监测工夫和DNS服务器解析状态。 资源可用性 资源可用性监控可实现对网站全副资源的性能追踪,对故障资源进行定位,包含元素名称、响应状态、申请形式、资源类型等。针对不可用资源,还会主动对该资源指标进行Ping剖析及TraceRoute剖析,进一步定位和剖析故障起因。 页面性能 页面性能指页面响应过程中的要害指标,包含首屏工夫、页面整体响应工夫、网络层工夫、DNS解析工夫、建设连接时间、SSL握手工夫、重定向工夫、首字节工夫和内容下载工夫。依据不同维度的性能状态,进行深度追踪,定位具体的城市运营商、监测点IP、DNS服务器、总下载工夫、总下载字节数、下载速度和错误代码,从各方面定位网站性能问题。 资源性能 资源性能指页面加载及渲染过程中各个元素的性能体现,从元素加载瀑布图及整体评分两个角度评估资源性能。其中,元素加载瀑布图指页面理论加载和渲染过程中各个元素的耗时过程,可疾速定位迟缓元素、阻塞元素、失败元素等带来的性能问题。通过页面性能指数,对网页CONTENT、COOKIE、CSS、IMAGES、JS和SERVER进行诊断,追踪JS代码谬误和CSS信息等异常情况,精确定位页面或资源不可用。 创立网页性能监控工作创立一般监控工作配置入口:网页性能监控>工作治理 单击增加监控工作创立网页性能监控工作,您须要设置监控工作的监控信息、同步检测对象、监测点、监控频率、告警、我的项目公开范畴等。 创立疾速检测我的项目配置入口:网页性能监控>疾速检测 您能够在疾速检测页面创立疾速检测监控工作。与一般监控工作不同的是,疾速检测监控工作只执行一次检测,不须要设置监控频率。其余我的项目配置请参考创立一般监控工作。 治理网页性能监控工作创立监控工作后,您可能治理监控工作,包含设置首页显示的监控工作、设置监控工作分组、开启监控工作、暂停架空我的项目、删除监控工作等。 设置首页显示的监控工作您能够设置一个在网页性能管理系统首页显示的监控工作,且仅能设置一个。设置后,您可在登录零碎后间接看到该监控工作的监控数据。 治理监控工作分组为方便管理企业的监控工作,您够创立和治理监控工作分组,企业中的所有用户都能查看监控工作分组。创立胜利后,您还能够为该分组创立子分组、批改分组名称或删除分组。 复制监控工作 在我的项目列表操作列,您可单击【复制按钮】复制单个我的项目。复制后的项目名称为原项目名称加copy。 开启/批量开启监控工作 在监控工作列表中,单击【启动按钮】开启监控工作;抉择多个未开启的监控工作,单击批量开启可同时开启多个监控工作。开启监控工作时,监控宝开始执行监控并向您发送告警告诉。 暂停/批量暂停监控工作 在监控工作列表中,单击【暂停按钮】暂停监控工作;抉择多个已开启的监控工作,单击批量暂停可同时暂停多个监控工作。暂停监控工作后,监控宝将暂停监控并不再向您发送告警告诉。 批改/批量批改监控工作 在监控工作列表中,单击【批改按钮】批改监控工作,如下图所示。 删除/批量删除监控工作 在监控工作列表中,单击【删除按钮】删除监控工作;抉择多个监控工作,单击批量删除可同时删除多个监控工作。删除监控工作后,监控宝将进行监控并不再向您发送告警告诉。要再次执行监控,您必须从新创立监控工作,因而请审慎操作。 退出/勾销监控工作分组 在监控工作列表中,抉择一个或多个监控工作,单击退出监控工作分组将抉择的监控工作增加到一个监控工作分组。抉择已增加到监控工作分组的监控工作,单击勾销监控工作分组将监控工作从所属的监控工作分组中移除。 小结总之,网页性能监控能够帮忙管理员和开发人员理解网页的性能体现和问题,及时发现和解决性能问题,进步网站的用户体验、搜索引擎排名、降低成本,进步网站的可用性和可靠性,从而为网站的倒退和经营带来更多的价值。监控宝作为一款十分优良的网页性能监控工具,更是为企业降本增效起到了决定性的作用。现如今,监控宝已为多家企业提供全方面的监控解决方案。 点击此处,马上申请监控宝收费试用名额

March 24, 2023 · 1 min · jiezi

关于监控:快速掌握网站监控关键数据仪表盘的创建与管理

在网站监控中,仪表盘是十分重要的工具,它可能对网站的要害数据进行可视化展现和监控。如果您心愿在一个页面中间接看到本人最关怀的数据,比方最新告警音讯、网站监控问题数量统计、响应工夫展现地图等,您能够通过仪表盘来定制个性化的专属视图。 仪表盘长处仪表盘能够帮忙网站管理员和经营人员疾速理解网站的实时状态、性能和用户行为等信息,从而及时采取措施来保障网站的失常运行和进步用户体验。具体有以下长处: 实时监控: 仪表盘能够实时监控网站的运行状态和性能,让网站管理员可能及时发现和解决存在的问题,保障网站的失常运行。可视化展现: 仪表盘能够将网站的要害数据以可视化的形式展现,让网站管理员和经营人员能够更加直观、易于了解和剖析网站的经营状况。精准剖析: 仪表盘能够对网站的不同维度的数据进行剖析和比拟,让网站管理员能够更加精准地理解网站的经营情况和存在的问题。自定义配置: 仪表盘能够依据网站的理论状况进行自定义配置,包含数据源、图表类型、数据筛选等,让网站管理员可能更加灵便地治理和监控网站。协同作用: 仪表盘能够让网站管理员和经营人员共享要害数据,促成团队外部协同作用,更好地推动网站的优化和改良。监控宝仪表盘在监控宝仪表盘中,您能够通过丰盛的Widget库来自在定制一个或多个个性化的仪表盘,将您所关怀的全副数据集中展现进去,数据实时刷新,让您随时把握我的项目最新动静。仪表盘反对大屏展现,图表数据更清晰。具体配置入口如下图所示: 创立仪表盘在仪表盘页面,单击左上方的增加仪表盘创立仪表盘,如果曾经创立过仪表盘,单击左上方的下拉框并单击增加仪表盘创立仪表盘。 输出仪表盘的名称并抉择仪表盘的背景格调,单击确定保留仪表盘,如下图所示。 单击增加widget,通过增加widget来定义要在仪表盘中展现的图表内容。一个仪表盘中能够增加多个widget,即一个仪表盘能够展现多个图表。 抉择图表 首先,抉择要在widget中展现的图表,目前网站监控反对的图表见下表。 设置图表 抉择要增加的图表后,设置图表在仪表盘中显示的名称并依据抉择的图表设置相干参数。例如,抉择今日响应工夫变动曲线,则须要抉择监控工作的类型、监控工作(最多5个)、图表类型,如下图所示。 调整图表布局 设置实现后保留widget,在仪表盘中查看图表,您能够通过拖拽调整图表的大小和地位。 查看仪表盘在仪表盘页面,单击左上方的下拉框抉择仪表盘,查看仪表盘中的图表。图表中的数据实时主动主动刷新,即随工夫动态变化,您能够及时把握各监控工作的最新状态。单击右上方的全屏,您能够在全屏模式下查看仪表盘,此时能够投放到大屏上作为一个监控核心。 治理仪表盘创立仪表盘后,您能够批改或删除仪表盘及仪表盘中的widget。 删除仪表盘 关上仪表盘,单击右上方的设置能够批改或删除仪表盘。须要留神的是,删除仪表盘之前必须先删除所有widget。 治理widget widget图表下方工具条中的可批改或删除widget。同时还能调整widget的大小,拖动widget可调整地位。 小结监控宝向用户提供 IT 性能监控(IT Performance Monitoring)的 SaaS 产品服务。仪表盘作为监控宝中一个重要的监控工具,可帮忙企业疾速理解其业务和应用程序的运行状况和趋势。通过仪表盘,用户能够创立自定义指标和报表,设置报警和告诉,并轻松共享监控数据和剖析后果,从而进步零碎的可用性和性能本文具体解说了如何创立仪表盘、查看仪表盘以及治理仪表盘,下篇将推出监控网页性能监控相干内容。 点击此处,马上申请监控宝收费试用名额

March 21, 2023 · 1 min · jiezi

关于监控:实战|网站监控如何做好监测点管理与内网数据采集

本文次要讲述了应用监控宝做网站监控时如何治理其中的监测点,以及如何做内网数据的采集治理。包含如何治理监测点以及查看并治理监测点分组下的监控工作,内网数据采集器运行须要的环境阐明,如何下载、解压内网数据采集器以及如何配置采集器端口。 监测点治理配置入口:网站监控>采集器及监测点>监测点治理>监测点分组列表 在监测点治理的监测点分组列表页面,您可能对监测点分组以及分组下的监控工作进行对立的治理。 治理监测点创立监测点分组 参考以下步骤创立监测点分组: 1))在监测点分组列表右上方单击创立监测点分组,关上创立页面。 2)定义监测点分组名称。 3)抉择IPv4/IPv6类型,并勾选相应的监测点。(IPv4类型监测点用来监控IPv4网站;IPv6类型监测点用来监控IPv6网站。) 4)单击保留。 编辑监测点分组 单击监测点分组在操作列中对应的【编辑按钮】,能够批改监测点分组的名称以及对应的监测点。 删除监测点分组 单击监测点分组在操作列中对应的【删除按钮】,能够删除监测点分组。需注意,当监测点分组上面有监控工作时,以后的监测点分组不能被删除。 查看和治理监测点分组下的监控工作在监测点分组列表中单击某个监测点分组,能够查看该分组下的所有监控工作。 查看监控工作 在监测点分组关联工作列表中单击监控工作的名称(或者单击监测工作对应的【链接按钮】),页面将跳转到监控工作的详情页面,在该页面能够查看监控工作的状态、频率、类型、URL、概览、可用率统计、响应工夫统计、历史快照、告警音讯等信息。 启动监控工作 在监测点分组关联工作列表中,单击【启动按钮】启动监控工作。开启监控工作后,监控宝平台将开始执行监控并向您发送告警告诉。 暂停监控工作 在监测点分组关联工作列表中,单击【暂停按钮】暂停监控工作。暂停监控工作后,监控宝平台将暂停监控并不再向您发送告警告诉。 内网数据采集治理配置入口:网站监控>采集器及监测点>内网采集器>内网采集器列表 内网数据采集器的运行环境阐明 监控宝6通过内网数据采集器来采集内网相干数据,因而在进行内网监测前,您必须先运行内网数据采集器。您须要将内网采集器下载并装置到一个可能与外网相通的服务器上,而后通过我的项目关联的插件来采集监控所需的数据。 下载内网数据采集器在内网采集器列表中,单击【下载按钮】将所需版本(Windows/Linux)的采集器程序下载到须要监控的服务器。如下图: 解压内网数据采集器程序包解压缩下载的采集器程序包,解压后失去jkbSmartMonitor文件夹,请不要将其放到带有中文的目录下。 jkbSmartMonitor文件夹中蕴含采集器服务相应的操作脚本和运行脚本,其中: Windows版下的脚本: • agentWinService.exe: • serviceInstall.bat:用于装置并启动服务。 • serviceStart.bat:用于启动服务。 • serviceStop.bat:用于暂停服务。 • serviceUninstall:用于进行并删除服务。 • smartMonitor.exe:守护过程,负责对采集过程进行监控、治理、更新等操作,同时还提供与外界交互的接口。 • smartMonitorAgent.exe:采集过程,负责对http\ping\tcp\traceroute等内网工作,数据进行数据采集、上报、错误处理等。 • start.bat:用于运行采集器。 • stop.bat:用于暂停采集器。 Linux 版下的脚本: • smartMonitor:守护过程,负责对采集过程进行监控、治理、更新等操作,同时还提供与外界交互的接口。 • smartMonitorAgent:采集过程,负责对http\ping\tcp\traceroute等内网工作,数据进行数据采集、上报、错误处理等。 配置采集器端口采集器运行前要留神配置应用的端口,若不配置则应用默认端口。配置办法如下: 进到解压后的采集器目录jkbSmartMonitor/conf。批改agentMonitor.yaml文件中的port。批改common.yaml文件中的httpSvcPort。保留退出。agentMonitor.yaml文件中的port common.yaml文件中的httpSvcPort 在Windows服务器中运行采集器作为后盾过程运行 关上命令行工具cmd执行: 启动采集器过程: smartMonitor.exe start 进行采集器过程: smartMonitor.exe stop window零碎特有运行形式 ...

March 17, 2023 · 1 min · jiezi

关于监控:如何分析网站监控中的数据报表都有哪些关键信息

在本篇文章中,咱们那将详细描述通过监控宝监控网站时,如何剖析查看具体监控数据报表。包含如何查看并导出工作统计报表、工作比照报表以及同期比照报表,此外还包含如何剖析可用率报告、响应工夫稳定性报告以及邮件报告七大方面内容。 配置入口:网站监控>数据统计 在数据统计页面,您能够从不同维度查看监控我的项目在不同时间段内的多性能指标统计报表和比照报表,您还能够导出数据统计报表进行深入分析。 目前反对的报告与报表类型如下: 分类报告/报表名称形容工作统计报表工作综合统计针对单个工作展现各地区、各运营商的均匀响应工夫、均匀可用率、均匀故障率等综合信息,以便于对监控指标的状态进行整体剖析。详情参考工作综合统计报表。监测点统计针对单个工作展现top 5 监测点或者指定监测点的响应工夫、可用率等数据。详情参考监测点统计报表。 运营商统计针对单个工作展现所有运营商或者指定运营商的响应工夫、可用率等数据。详情参考运营商统计报表。 地区统计针对单个工作展现全副地区、国内地区、海内地区或者指定地区的响应工夫、可用率等数据。详情参考地区统计报表。 省份&运营商统计针对单个工作展现国内全副省份或者指定省份内的运营商数据,包含响应工夫、可用率等。详情参考省份&运营商统计报表。 工作比照报表监测点维度比照比照不同工作在雷同监测点上的监控数据。详情参考监测点维度工作比照报表。运营商维度比照比照不同工作在雷同运营商网络中的监控数据。详情参考运营商维度工作比照报表。 地区维度比照比照不同工作在雷同地区的监控数据。详情参考地区维度工作比照报表。 省份&运营商维度比照比照不同工作在雷同省份内各运营商网络中的监控数据。详情参考省份&运营商维度工作比照报表。 同期比照报表监测点维度比照比照不同时段内同一工作在雷同监测点的监控数据。详情参考监测点维度同期比照报表。运营商维度比照比照不同时段内同一工作在雷同运营商网络的监控数据。详情参考运营商维度同期比照报表。 地区维度比照比照不同时段内同一工作在雷同地区的监控数据。详情参考地区维度同期比照报表。 省份&运营商维度比照比照不同时段内同一工作在雷同地区的各运营商网络的监控数据。详情参考省份&运营商维度同期比照报表。 高级报告可用率报告蕴含所有网站监控工作的上周可用率数据统计后果。详情参考可用率报告。响应工夫稳定性报告蕴含所有网站监控工作的上周响应工夫统计后果。详情参考响应工夫稳定性报告。 邮件报告邮件报告以邮件模式定期发送的报告,报告内容反对自定义。详情参考邮件报告。查看&导出工作统计报表配置入口:网站监控>数据统计>工作统计报表>工作综合统计 参考以下步骤查看并导出工作统计报表: 工作统计报表类型包含工作综合统计、监测点统计、运营商统计、地区统计、省份&运营商统计。设置数据过滤条件。 监控我的项目:在下拉列表中抉择监控工作类型对工作进行过滤,并抉择具体监控工作。仅反对HTTP、DNS、Ping、TCP类型的工作。工夫范畴:抉择展现数据的工夫范畴,包含明天、昨天、本周、上周、自定义工夫范畴。监测点(仅实用于监测点统计报表):抉择监测点,以展现当前任务在所选监测点的监测数据。依据需要选择响应工夫最慢top5监测点、响应工夫最快top5监测点、可用率最低top5监测点、可用率最高top5监测点或者指定监测点。留神:指定监测点时,最多可抉择10个监测点。运营商(仅实用于运营商统计报表):抉择运营商,以展现所选工作在不同运营商的监测数据。地区(仅实用于地区统计报表):抉择地区,以展现所选工作在不同地区的监测数据。省份(仅实用于省份&运营商统计报表):抉择或指定省份,以展现不同省份内不同运营商的监测数据。单击保留以后查问条件,保留以后查找设置,并为其命名,以便反复利用。单击查问搜寻相应数据。查看统计数据。 若需查看具体数值,鼠标浮于柱状图或者折线图上方,如下图所示: 若需查看某柱状图中单个条目标数据在指定时间段内的变化趋势,双击该条形图。如下图所示: 提醒: 所有监测点/运营商/地区的均匀数据不反对趋势图展现。单击趋势图右上角的“❌”图标可敞开该趋势图。 参考以下步骤导出报表数据至PDF。 在报表右上角单击导出预览,并单击导出。工作综合统计报表工作综合统计报表展现整体剖析数据、监测点数据、运营商数据、响应工夫散布及失败工夫占比。 整体剖析 整体剖析数据包含监控对象的均匀响应工夫变化趋势、均匀可用率变化趋势,及最优、最差的均匀可用率、均匀响应工夫值。 当抉择Ping类型的监控我的项目时,整体剖析数据除上述根本数据外,还包含均匀丢包率变化趋势,及最优、最差的均匀丢包率,如下图所示。 监测点数据 监测点剖析以重叠条形图模式,展现监控对象的均匀响应工夫最慢top 5监测点、网站不可用次数最多top 5监测点的数据。 当抉择Ping类型的监控我的项目时,监测点剖析数据除上述根本数据外,丢包率最高top5监测点的数据,如下图所示。 以折线图模式展现监控对象的可用率最低top 5监测点、响应工夫最慢top 5监测点的数据变化趋势。 以列表模式展现监控对象的均匀响应工夫最慢top 5监测点、网站不可用次数最多top 5监测点的统计数据。 运营商数据 运营商数据区域展现监控对象在各运营商网络中的均匀响应工夫及均匀可用率。 另外,运营商数据区域展现出现异常的运营商数据,默认为可用率最低或者响应速度最慢的top 10地区的数据。当地区数目有余10时,展现所有地区的数据,如下图所示: 响应时间段散布 响应时间段散布数据展现在各响应工夫分段区间,申请的次数及占比。 响应 工夫 散布 响应工夫分布图展现在指定工夫范畴内,监控指标在不同时刻的均匀响应工夫。 不可用 & 故障剖析 不可用 & 故障不可用展现不可用起因及各起因的占比,并提供故障历史列表。不可用起因占比图仅在监控指标小于100%时显示。 ...

March 15, 2023 · 1 min · jiezi

关于监控:前端监控稳定性数据分析实践-|-得物技术

1 背景客服一站式工作台集成了在线、热线和工单三个外围利用,撑持着自营客服和 BPO 客服每天解决大量的会话信息,工作台的稳定性就显得十分重要。接入前端监控以来,咱们保持每双周跟进工作台以及客服几个外围利用的线上稳定性状况,围绕页面的拜访状况、JS 错误率、资源加载异常情况、API 接口成功率、自定义业务模块指标 这五大监控模块,做了具体的数据分析,从中发现了很多问题并且通过实时告警解决了潜在的问题,也通过数据分析推动了客服职场欠缺工作台的运行环境。本文次要论述咱们是如何通过监控稳定性数据分析来晋升利用零碎的稳定性。2 监控的原理客服一站式工作台接入监控时通过多方调研最终采纳了 Arms 的监控计划,并基于 Arms 的监控计划,做了二次开发,整体的监控实现如下图所示:Arms 提供的 SDK 性能比拟齐全,为满足一些定制化的数据上报诉求、利用数据权限管控以及管制上报老本,客服域接入时基于 alife-logger 进行了二次封装,对性能更加的可控, 同时定期从阿里云平台进行数据初始化和生成定制化报表。3 监控的实际3.1 页面 PV&UV 监控场景PV 即页面浏览量,通常是掂量一个网站甚至一个模块应用状况的次要指标。UV 即独立访客数,是指某站点被多少用户拜访过,以用户登录态作为统计根据。页面的 PV 和 UV 很大水平上反馈了利用各页面性能的应用状况,能为产品性能优化以及相干业务决策提供很好的数据反对 。咱们针对客服域已接入监控的利用间断几个迭代的 PV、UV 数据分析,次要在如下事项起到了很好的推动和决策作用:新性能上线成果剖析:通过剖析页面业务功能模块 PV 相干数据,能够剖析对应上新性能的应用状况。若发现局部性能客户触达率较低,就能够与业务沟通确认是功能设计问题还是上线性能布达问题,疾速做出经营策略调整;下线无用模块:通过页面应用状况剖析,对系统中访问量比拟少的页面做了汇总剖析,同产品经营确定之后,对在线客服管理系统和工单管理系统中的 9 个页面做了下线解决,缩小了页面的保护老本;撑持技术改造优先级策略:在技术栈迁徙的过程中,能够优先对访问量比拟高的页面进行迁徙,个别页面访问量高的对应的需要迭代也比拟频繁,通过页面拜访排序,按优先级去做迁徙能够晋升整体投入的 ROI;助力零碎体验优化:通过剖析较高 PV 页面用户拜访链路,将勾销订单、创立赔付单等须要高频但须要关上其余页面操作的性能集成到客服聊天页座席助手模块,晋升客服的工作效率。3.2 JS 错误率监控脚本谬误次要有两类:语法错误、运行时谬误。简略来说就是用户在一些非凡场景下浏览器上报 JS 的异样,甚至会造成零碎卡顿、页面不可用等极其状况,这会极大地升高用户体验。因而咱们通过监控系统对外围零碎要害链路、要害指标做好异样数据分析设置监控预警 ,达到设定的阈值则发送飞书或短信告警,值班同学关注告警信息可能及时做出响应,同时针对告警谬误内容进行专项治理,达到成果如下:晋升零碎稳定性: 总计解决 41 个 JS 脚本异样治理,过程中发现异常业务场景并进行专项治理,很大水平上晋升零碎的稳定性。发现暗藏问题: 通过监控发现 JS 谬误数减少,排查发现数量正在回升,实时分割一个正在触发报错的客服近程,发现是接入的三方 SDK 公布新版版本,在非凡状况会呈现报错,及时同步对应的三方同学进行改过,无效防止因内部依赖公布带来的暗藏问题。3.3 API 申请优化监控提供利用中每个 API 的调用状况,包含调用次数、调用成功率、返回信息、调用胜利或失败的均匀耗时 等数据。通过剖析指定时间段内利用中所有 API 申请数据,能够深度开掘以下业务代码实现和接口稳定性一些相干的问题:下线不必要调用: 排查过程中发现局部埋点调用频次很高,然而理论报表数据并未使用起来,与业务沟通后发现为历史遗留逻辑,目前已无用,所以进行下架。缩小不必要的接口调用,开释更多的浏览器申请资源。缩小冗余调用: 共治理接口高频调用治理调用 5 个,通过剖析发现局部非核心性能的接口调用量较大,代码走读发现此局部接口为实时性要求不高枚举列表的接口,能够通过前端缓存的形式缩小接口调用次数,从而进步用户切换会话效率和缩小服务器的调用压力。优化技术计划: 客服一站式工作台存在长链和短链调用联合的状况,在咱们日常监控剖析中发现局部短链接口调用量大。通过代码走查和调用链路剖析发现因为业务性能须要,只有客服切换会话,就会拉取以后会话最近五条音讯发动短链申请,造成切换会话会有卡顿感,同时很容易呈现因为短链并发较多,频繁切换回话后会呈现串线的状况。所以与后端沟通后,将原先技术计划内的短链调用改为长链音讯推送,很大水平上缩小接口调用和音讯不实时的状况,晋升用户体验和零碎稳定性。3.4 动态资源加载异样优化动态资源加载分为页面内的图片、CSS、JS 等 Assets 资源加载失败。目前客服 BPO 职场均有平安管控,所以会呈现经营或者其余利用上传的动态资源链接、图片等资源,局部 BPO 打不开的状况,通过前端监控发现以下几个问题:图片资源加载异样: 随着一站式工作台的业务拓展,陆续反对等其余租户的客户进线。业务上线后,咱们通过监控发现资源谬误数量呈现上涨,排查后确认因为商品图片等资源都是配置的 CDN 地址,须要 BPO 职场开明网络白名单客服才能够看到指定的图片资源。通过监控疾速定位对应的职场,同步对应的职场 IT 负责人进行解决。经营配置谬误地址修改: 通过监控数据分析,发现不少报错的动态资源地址中有飞书内网地址和竹间迁徙遗留资源的状况,内网地址外网是无奈关上的,会给客服带来不少困扰。经确认为经营迁徙过程中存在脱漏造成,分割对应的经营同学进行专项治理,及时缩小问题影响面。3.5 页面加载性能优化页面性能对用户体验而言非常要害。每次重构对页面性能的晋升,仅靠工程师开发设施的测试数据是没有说服力的,须要有大量的实在数据用于验证;比方客服职场广泛反馈商品详情页面关上慢,影响到了客服的工作效率,体验很不好。为了明确具体加载慢的点,咱们针对页面加载到页面可用这个过程中以下几个工夫节点进行埋点:e_product_finish【总耗时 ms】: 商品详情页面关上到所有资源均加载实现(蕴含图片与申请)耗时e_product_loadImg【加载图片耗时 ms】: 接口申请回来到所有图片加载实现耗时e_product_loadAndfetch【申请耗时 ms】: 商品详情页面加载动态资源 &&发动申请耗时通过三天的线上数据分析发现,大部分耗时在加载图片耗时上。剖析耗时较长的商品详情高低链路,发现此类商品的图片大多为 500kb+甚至 1MB 左右的图片 ,单个商品最多的状况下商品轮播图近 52 张图,加上商品细节图、商品穿搭效果图等,单个商品详情页面首次关上居然须要加载 80+张图片,对于浏览器而言是灾难性的。 ...

March 3, 2023 · 1 min · jiezi

关于监控:深入浅出玩转监控宝|网站监控之管理网站监控任务

上篇:深入浅出玩转监控宝|网站监控之创立网站监控工作 监控宝是云智慧提供的一款面向业务、从节点被动模仿实在用户拜访,提供网站性能监控、API监控等服务,继续监测应用程序、网站、网络和数字化服务的可用性和性能,提前诊断,实时告警,帮忙客户晋升网络应用效力的产品。上篇内容介绍了应用监控宝做网站监控时如何创立监控工作,创立监控我的项目后,用户可能在工作治理页面查看并治理监控工作,本篇将具体介绍如何治理曾经创立好的监控工作。 配置入口:网站监控>工作治理 治理监控工作分组监控工作分组方便管理监控工作。您可能创立和治理监控工作分组,企业中的所有用户都能查看监控工作分组。在监控工作分组列表下方单击创立分组,定义监控工作分组名称后,弹窗揭示“操作胜利”,则监控工作分组创立胜利。将鼠标悬停于分组名称上,单击,在该分组下创立子分组,单击,对该组名称进行编辑,单击,删除该分组。 开启/批量开启监控工作在监控工作列表中,单击开启监控工作;抉择多个未开启的监控工作,单击批量开启可同时开启多个监控工作。开启监控工作后,监控宝平台开始执行监控并向您发送告警告诉。 暂停/批量暂停监控工作在监控工作列表中,单击暂停监控工作;抉择多个已开启的监控工作,单击批量暂停可同时暂停多个监控工作。暂停监控工作后,监控宝平台将暂停监控并不再向您发送告警告诉。 批改单个监控工作在监控工作列表中,单击批改监控工作。配置信息参考创立单个监控工作。 批量批改监控工作在监控工作列表页上方,单击创立监控工作。抉择监控工作类型,如HTTP/HTTPS、Ping、TCP,单击批量批改。在该类型的工作列表中选中指标工作进行批改。配置信息参考创立单个监控工作。 批量开启/敞开MTR在监控工作列表中,抉择一个或多个监控工作,单击开启MTR/敞开MTR。 批量设置监测点批改单个工作的监测点设置,并批量利用至其余工作。 操作如下: 在工作治理页面的监控工作列表中,单击工作名称进入工作详情页。在左侧导航栏中单击自定义监测点,右侧页面展现当前任务的监测点分组。 抉择指标监测点分组,并单击保留并利用,实现对当前任务的批改。在监测点列表右上角单击批量利用到其余站点工作。在弹出的对话框中通过监控工作分组筛选工作,并勾选批量利用的指标工作,单击批量利用。 留神:若当前任务或批量利用的指标工作所设告警线的监测点不在此次批改的监测点分组范畴内,您须要手动对告警线监测点进行调整。 批量设置告警线您可将单个工作的告警线设置批量利用至其余工作。 留神:批量利用前,请提前进行监测点批量批改使得批量设置指标工作的监测点雷同,详情参考批量设置监测点。 告警线批量设置操作如下: 在工作治理页面的监控工作列表中,单击工作名称进入工作详情页。在左侧导航栏中抉择自定义告警设置,页面展现当前任务的告警指标列表。 单击对当前任务的告警线进行批改;或单击增加新的告警线,设置详情参考告警设置。在告警指标列表右上侧单击批量利用到其余监控工作。在弹出的对话框中通过监控工作分组筛选工作,并勾选批量利用的指标工作,单击批量利用。当前任务的告警线设置被批量利用至所选工作。 批量设置告警线您可将单个工作的告警告诉设置批量利用至其余工作。 操作如下: 在工作治理页面的监控工作列表中,单击工作名称进入工作详情页。在左侧导航中抉择告警告诉设置,页面展现当前任务的告警告诉人。 若需在批量利用前对当前任务的告警告诉设置进行批改,可参考告警设置进行批改,并单击保留并利用。在告警接收者列表右上角单击批量利用到其余站点工作。在弹出的对话框中通过监控工作分组筛选工作,并勾选批量利用的指标工作,单击批量利用。当前任务的告警告诉设置被批量利用至所选工作。 删除/批量删除监控工作在工作治理页面的监控工作列表中,单击,删除监控工作;抉择多个监控工作,单击批量删除,可同时删除多个监控工作。删除监控工作后,监控宝平台将进行监控并不再向您发送告警告诉。留神:若要再次执行监控,您必须从新创立监控工作,因而请审慎操作。 退出/勾销监控工作分组在工作治理页面的监控工作列表中,抉择一个或多个监控工作,单击退出监控工作分组将抉择的监控工作增加到一个监控工作分组。抉择已增加到监控工作分组的监控工作,单击勾销监控工作分组将监控工作从所属的监控工作分组中移除。 导出Excel在工作治理页面的监控工作列表中,抉择一个或多个监控工作,单击导出Excel,您能够将须要的网站监控数据以Excel文件的模式保留到本地,不便您随时查看和应用。 小结本章节具体地形容了应用监控宝监控网站时该如何治理监控工作,其中蕴含治理监控工作分组,以及治理单个监控工作和批量治理监控工作。下章节将进一步推出利用监控宝监控网站时如何剖析监控后果。监控宝作为云智慧推出的新一代用户体验监控工具,领有寰球分布式监测点,目前曾经实现了对企业网站的分布式监控。同时,监控宝向用户提供了 IT 性能监控(IT Performance Monitoring)的 SaaS 产品服务。 申请试用:点击马上申请监控宝收费试用 上篇:深入浅出玩转监控宝|网站监控之创立网站监控工作

March 2, 2023 · 1 min · jiezi

关于监控:物联网平台企业版设备接入实例节点开发实战实践类

IoT物联网平台-实例化开发实战前言物联网平台企业版反对用户创立实例,用于设施接入和业务管理。企业版有一下劣势: 依据业务规模,购买匹配的实例规格,可大幅节约您的老本。实例规格按需抉择,防止触达公共实例默认限流阈值的问题。实例间隔离更彻底,具备更高的数据可靠性和安全性一个实例呈现问题不会影响到您的其它实例接下来,咱们介绍一下实例化中残缺的设施开发过程。 实例治理进入IoT物联网平台控制台,抉择实例治理,在实例列表的Tab,点击创立实例。 购买实例依据业务规模,购买匹配的实例规格。 实例规格信息购买胜利后,咱们在实例治理页面,能间接查看到实例规格信息。 切换实例在实例治理页面,切换到实例设置Tab,在下拉框中抉择指标实例,点击切换实例。刷新后,控制台就进入以后实例状态,顶部文案也会标记为实例。 查看实例节点信息当咱们抉择实例后,设施MQTT接入点,云端API接入点信息都能够在实例治理页面查看,如图所示。 在实例中创立产品在切换到IoT物联网平台的某个实例后,在左上角会看到实例的标识,鼠标挪动到实例,会有Tips显示以后应用的实例名称。在实例里,咱们创立产品,并定义物模型。具体如下图: 在实例中注册设施基于创立的产品,咱们注册一个新设施,获取到设施身份信息。如下图: 设施开发当咱们获取到了设施身份三元组信息,以及MQTT接入域名,即能够通过mqtt库接入IoT物联网平台了。这里咱们以nodejs脚本模仿设施接入IoT平台实例,并上报物模型属性数据,订阅云端指令。 const mqtt = require('aliyun-iot-mqtt');var options = { productKey: "产品pk", deviceName: "设施dn", deviceSecret: "设施ds", host: "实例 MQTT 接入域名",};//建设连贯const client = mqtt.getAliyunIotMqttClient(options);setTimeout(function() { //订阅 自定义Topic client.subscribe(`/${options.productKey}/${options.deviceName}/user/get`) //上报物模型属性数据 client.publish(`/sys/${options.productKey}/${options.deviceName}/thing/event/property/post`, getPostData(),{qos:0});}, 3 * 1000);function getPostData() { const payloadJson = { id: Date.now(), params: { temperature: Math.floor((Math.random() * 20) + 10), humidity: Math.floor((Math.random() * 20) + 10) }, method: "thing.event.property.post" } console.log("payloadJson " + JSON.stringify(payloadJson)) return JSON.stringify(payloadJson);}设施在线,上报数据咱们在电脑上运行nodejs脚本,设施胜利建设MQTT连贯,上报数据。咱们接入IoT物联网平台的控制台的设施详情页面,能够看到设施在线,在运行状态的Tab能够看到最初一次上报的属性数据。如下图: ...

March 1, 2023 · 1 min · jiezi

关于监控:代码质量管理平台-SonarLint-在监控宝中的实践总结

作者:云智慧开发工程师 Kori Zhang。 点击中转监控宝官网 监控宝作为云智慧推出的新一代用户体验监控工具,向用户提供了 IT 性能监控(IT Performance Monitoring)的 SaaS 产品服务。Sonar(代码品质治理平台)是一个开源平台,用于治理源代码的品质。从 Sonar 1.6 版本开始,Sonar 从一个品质数据报告工具,转变成为代码品质治理平台。本文将通过介绍收费开源 IDE 扩大 SonarLint 的应用办法,总结 SonarLint 在监控宝中的落地实际成果。 SonarLint 是什么SonarLint 是一个收费的开源 IDE 扩大,可在您编写代码时查找和修复谬误、破绽和代码品质问题。 SonarLint 作用SonarLint 发现的问题后,会依据问题类型给出举荐的的范例代码帮助开发人员找到适合的批改思路。 SonarLint 装置应用SonarLint 目前反对多种 IDE 的插件装置,我应用的是 idea 所以这里介绍在 idea 中的装置形式其它的能够查看官网 sonar。 抉择file→settings→plugins→输出sonarlint。 下图显示为已装置过的界面,所以界面为 uninstall,如果没装置显示的则是 install,装置完重启之后就能够应用。 右键我的项目进行如下操作: 执行之后能够看到如下信息,如果代码中有不合理的中央会在 report 中显示。 其余设置请参考: https://blog.csdn.net/baixf/a... 监控宝中 SonarLint 实际成果SonarLint 已在监控宝 jkbFileServer、Alertd 重构、jkbApiServer 重构中使用,实际成果如下: SonarLint 的及时反馈,能够帮忙咱们在编写阶段就放弃肯定的代码品质进而进步编码能力;通过 Sonar 扫描后缩小不必要返工;SonarLint 配合 IDE 使用方便;对于完美主义的程序员相对是利器。Alibaba代码标准插件 vs SonarLintAlibaba 代码标准插件比较关心的是代码标准,编码格调上的,例如命名标准、正文、代码行数等;SonarLint 比较关心代码正确性,存在的问题、危险、破绽等,例如反复代码、空指针、安全漏洞。总体来讲,Alibaba 代码标准插件与 SonarLint **二者侧的重点不同。机器配置高的状况下倡议二者配合应用,可进步工程整体的代码品质,并且可能在编码阶段躲避危险,进步程序的健壮性。 ...

February 9, 2023 · 1 min · jiezi

关于监控:降本增效|网站性能监控平台监控宝背后功能揭秘

背景介绍现如今,云计算技术的广泛应用,让越来越多的传统企业将外围业务部署或迁徙到云端。然而,只管传统企业在上云方面破费微小,后果却往往很难达到预期。异样简单的网络接入、链路品质、机房环境都给企业的互联网业务衰弱带来极大挑战。网站、网页和 Web 服务的用户体验对业务的影响更为深远,传统 IT 监控工具如 Zabbix 等,无奈对外部拜访链路、CDN 品质等做到对立无效的全局监控,当用户体验呈现问题时便很难作出及时的响应。 监控宝作为云智慧推出的新一代用户体验监控工具,向用户提供了 IT 性能监控(IT Performance Monitoring)的 SaaS 产品服务。通过国内先进的Web监控技术,被动追踪基于云端架构的网站实在用户拜访链路,深刻监控CDN、主机、运营商、API等各个环节的性能指标,可能更疾速地发现和辨认网站运行过程中任何影响用户体验的响应速度问题、连通性问题和页面性能问题。此外,还可能保障企业在线业务的稳固、改良经营效率、发明极致的用户体验。监控宝实现了网络用户体验的实时剖析、疾速定位和精确告警,是云计算时代的网站监控助手。 全局监控形成与性能监控宝通过其外围功能模块网站监控、API监控以及网页性能治理来别离实现网站、API接口以及页面性能的监控,并提供对立的报警、统计、剖析和故障排除能力。产品架构图如下图所示: 网站品质监控监控宝的网站监控模块通过云智慧的寰球分布式监测点对网站或服务器提供不间断监控。监控的内容包含网络稳定性、服务端口可用性、网络路由稳定性、网站响应速度、DNS解析正确性等。网站监控提供以下性能: 公网/内网多协定监控 反对HTTP/HTTPS、Ping、DNS、TraceRoute、TCP、UDP以及FTP等支流网络传输协定,全面问诊网络业务衰弱。 监控工作的智能展现与剖析 监控概览页面智能展现性能差、故障率高的监控工作,通过展现工作状态、监控频率、监控类型、异样/复原信息、均匀可用率及均匀响应工夫等内容,让用户直观地理解监控工作在部分区域是否产生性能稳定和异样,帮忙用户疾速定位故障异样、及时把握复原信息。 此外,还可通过世界地图和中国地图,实时展示响应工夫,数据能够细化到地级市。展现TOP15监测点的访问速度以及故障率,不便用户对监测点拜访慢以及故障率高的起因进行具体分析。 可用率剖析 可用率是网站性能的重要指标。网站监控统计各地区和运营商的可用率,展现可用率的监测点数据,倒序排列可用率低的地区和运营商,并比照网站拜访状态差的区域,帮忙剖析网站拜访的稳定性。 响应 工夫 剖析 响应工夫是网站性能的重要指标。网站监控统计各地区和运营商的响应工夫,展现响应工夫的监测点数据,倒序排列响应工夫慢的地区和运营商,帮忙剖析网站的响应速度。 历史快照剖析 记录故障产生/复原、告警线触发前后的全过程拜访数据,可能帮忙客户理解故障产生时的网络情况和链接状况,确认故障类型以及故障的持续时间。 数据比照剖析 横向比照站点与站点之间、同一站点不同地区之间、不同监控工作之间的数据,帮忙客户更好地晋升产品的性能。 MTR诊断 应用MTR命令诊断申请超时、无奈连贯服务器、申请被回绝或者无返回数据等网络问题,并生成MTR报告。帮忙用户疾速解决网络问题导致的网站无法访问的问题。 页面性能监控监控宝的网页性能监控模块采纳国内性能评估规范,深入分析元素级网页性能,对页面可用性、页面性能、资源可用性、资源性能、首屏工夫等指标进行具体监控,并可能依据页面性能和网站资源的监控后果,疾速定位网站性能问题的具体起因及所在的地区,精确地判断问题的起因是网络、CDN、服务器、还是网站页面性能。网页性能监控模块提供以下性能: 网页整体性能剖析 整体展现一段时间以来对页面可用性、元素响应工夫、元素性能评估、首屏工夫、页面可用率和响应工夫的监控后果。 CDN 服务质量评估 可能智能辨认CDN厂商以及CDN厂商的主机,通过海量的CDN数据帮忙客户主观地评估CDN厂商在不同地区的性能差别;可能从主机的维度剖析CDN厂商的性能差别,能够通过Cache节点数下钻到主机统计页面来比照剖析不同主机的CDN减速成果;可能从元素的维度剖析CDN厂商的性能差别,能够通过减速资源数下钻到元素性能页面,让客户理解元素在不同主机上的性能,从而调整页面元素的调配策略和散布策略,在故障诊断时能帮忙客户更好地剖析以及定位问题。 运营商剖析 展现不同运营商拜访网站的首屏工夫数据,便于排查运营商层面层面的网络问题。 多维度响应 工夫 统计 通过不同工夫性能指标来多维度展现网页的响应速度。监控页面的首屏工夫、网络层工夫、DNS解析工夫、连贯建设工夫、SSL握手工夫、首字节工夫、内容下载工夫等多个性能指标,并可能通过折线趋势图和散点图等不同数据视图多维度地展现网站及元素的加载性能。 主机性能统计 从用户的角度来扫视每一台主机的性能,通过记录不同地区主机的运营商、CDN服务商、下载速度、可用率、响应成功率指标,帮忙客户分辨运营商以及CDN服务商数据的可靠性。通过主机IP下钻,能够查看不同域名下具体主机的体现状态,让用户能更清晰地理解目前各个主机状况,不便用户调整元素散布策略。 页面性能评估 采纳目前Google、Facebook等国内互联网公司都在应用的支流评分机制,针对页面元素加载过程中图片压缩、动态资源CDN的使用率及有效性、元素首字节、动态资源缓存应用、放弃连贯等5个维度的问题进行剖析并给出优化倡议。 元素性能追踪 提供元素级的网页性能剖析与问题定位,通过记录元素的被申请次数、均匀响应工夫、可用率、元素大小等指标帮忙用户分辨元素的体现状态以及在不同主机上的体现状态,使客户可能随时对性能不好的元素做出调整,防止元素对网页性能的影响。 页面可用性监控与问题追踪 通过页面可用性监控与追踪帮忙用户整体把握网站的可用状态。次要蕴含以下几点:通过对不同工夫点的可用性进行剖析,定位具体的故障起因,包含:DNS解析故障、连贯超时、400谬误和500谬误状况;能够依据监测工夫以及监控状态,进行整体排查和性能故障定位;能够依据故障类型进行历史快照追踪,把握监测点IP、监测工夫和DNS服务器解析状态;对网页的元素性能进行追踪,并针对不可用元素,通过检测历史快照来查看元素瀑布图和网络诊断图,对指标进行Ping以及TraceRoute剖析,通过具体的信息来剖析不可用的起因,进一步定位故障。网站体验比照剖析 提供网站体验比照监测,通过比照一段时间内不同页面的各个性能指标,实时把握竞品网站的状态,理解本身产品与竞品的性能体现差别,及时进行性能的优化与晋升。 API监控监控宝的API监控模块为用户提供残缺的API业务流程监控服务,实时监控接口的可用性、正确性和响应工夫,发现异常及时告警,帮忙企业实时时监控接口工作状态,缩小因业务接口故障带来的业务损失,节俭经营老本,进步业务品质。API监控反对以下申请验证形式: GET、POST、PUT、DELETE、HEAD、OPTION等六种申请形式,笼罩绝大部分的接口调用格局。JSON、XML、Text、Response Headers、状态码等多种验证形式,保障申请后果正确。Postman、JMeter 脚本一键导入,操作繁难快捷。此外,API监控提供以下性能: 事务监控 一个事务即一个监控工作,可蕴含多步申请。通过对多步申请的事务监控,实现对用户整个业务流程的监控。 ...

January 12, 2023 · 1 min · jiezi

关于监控:IoT设备接入物联网平台华北2北京-节点开发实战实践类

华北2(北京) IoT物联网平台实例化开发实战明天,阿里云IoT物联网平台在华北2(北京)节点正式上线!对于华北地区的设施接入延时能够做到<10ms,比跨地区接入延时缩小了3倍以上,同时反对通过规定引擎接入其余阿里云产品。 按需开明实例咱们登录IoT物联网控制台,在左上角华北2(北京),即可在华北2创立IoT物联网平台实例,如下图:在实例规格页面的地区和可用区,抉择华北2(北京),其余规格能够依据理论业务状况抉择,如下图:在线领取后,稍等几分钟,实例初始化实现。在实例设置页面,咱们能够查看实例MQTT,CoAP,HTTP,AMQP,云端API的接入点信息,以及VPC内网接入点信息。 设施接入实战咱们以温控器为例,实现IoT设施接入华北2节点的开发实战。 设施接入和上报数据创立产品和注册设施在实例中,咱们创立产品,抉择直连设施,以设施秘钥形式认证身份。在产品详情的Topic类列表创立用于业务通信的Topic,具体如下图: 而后,咱们注册一个设施。 设施开发 const mqtt = require('aliyun-iot-mqtt');// 1. 设施身份信息var options = { productKey: "替换", deviceName: "替换", deviceSecret: "替换", host: "替换MQTT接入点"};// 2. 建设MQTT连贯const client = mqtt.getAliyunIotMqttClient(options);setInterval(function() { // 3.上报温湿度数据 client.publish(`/sys/${options.productKey}/${options.deviceName}/thing/event/property/post`, getPostData(), { qos: 0 });}, 5 * 1000);function getPostData() { const payloadJson = { id: Date.now(), version: "1.0", params: { temperature: Math.floor((Math.random() * 20) + 10), humidity: Math.floor((Math.random() * 20) + 10) }, method: "thing.event.property.post" } console.log("payloadJson " + JSON.stringify(payloadJson)) return JSON.stringify(payloadJson);}设施运行 ...

January 11, 2023 · 2 min · jiezi

关于监控:vivo-服务端监控体系建设实践

作者:vivo 互联网服务器团队- Chen Ningning 本文依据“2022 vivo开发者大会"现场演讲内容整顿而成。 通过几年的平台建设,vivo监控平台产品矩阵日趋完善,在vivo终端宏大的用户群体下,承载业务运行的服务数量泛滥,监控服务体系是业务可用性保障的重要一环,监控产品全场景笼罩生产环境各个环节。从事前发现,事中告警、定位、复原,预先复盘总结,监控服务平台都提供了丰盛的工具包。从以前的程度拆分,按场景建设,到起初的垂直划分,整合对立,升高平台割裂感。同时从可观测性、AIOps、云原生等方向,监控平台也进行了建设实际。将来vivo监控平台将会向着全场景、一站式、全链路、智能化方向一直摸索前行。 监控服务平台是自研的、笼罩全场景的可用性保障系统。通过多年深耕,vivo监控团队曾经成体系构筑起一整套稳定性保障系统,随着云原生可观测技术改革一直深入,监控团队如何掌舵前行?上面就平台的建设历程、思考、摸索,做一下简略介绍。 一、监控体系建设之道1.1 监控建设历程 回顾监控建设历程,最后采纳Zabbix,与告警核心的组合实现繁难监控。随着业务的倒退在简单监控场景和数据量一直增长的状况下,这种繁难的组合就显的顾此失彼。所以从2018年开始咱们开启了自研之路,最开始咱们建设了利用监控、日志监控、拨测监控解决了很大一部分监控场景没有笼罩的问题;2019年咱们建设了根底监控、自定义监控等,实现了次要监控场景的根本笼罩;2020年咱们在欠缺后期监控产品的同时,进一步对周边产品进行了建设;随着AI技术的一直成熟,咱们从2021年开始也进行了转型降级,先后建设了故障定位平台、对立告警平台有了这些平台后咱们发现,要想进一步晋升平台价值,数据和平台的对立至关重要;所以从2022年开始建设了对立监控平台,也就是将根底监控、利用监控和自定义监控进行了对立,对立监控蕴含了对立配置服务和对立检测服务。从监控的建设历程来看,咱们一路笼罩了IaaS、PaaS、DaaS、CaaS等平台。咱们的职能也从DevOps向AIOps迈进。 1.2 监控能力矩阵 讲了监控的倒退历程,那么这些监控产品在咱们的生产环境中是如何散布的呢?要想撑持数以万计的业务运行,须要庞杂的零碎撑持,服务器、网络环境、根底组件等,都须要监控零碎保障它的稳定性。咱们将监控的对象分为五层,在基础设施层,蕴含了网络设备、服务器、存储硬件等,这一层咱们通过VGW监控对网络设备进行监控,VGW是Vivo Gateway的缩写,相似于LVS;通过自定义监控,对机房进行监控;零碎服务器层,咱们定义的监控对象是服务运行依赖的环境,通过主机监控对物理机、虚拟机等监控,以后容器在云原生技术体系中,未然成为微服务运行的最佳载体,所以对容器的监控必不可少;零碎服务层,蕴含了各种数据库产品、大数据组件等,在这一层次要通过自定义监控检测、告警;业务应用层,次要有应用服务,咱们通过利用监控对业务链路信息进行监控;客户体验层,咱们定义了端上的拜访品质,由宙斯平台实现监控。后面咱们讲了监控能力矩阵,上面咱们具体介绍一下监控的范畴和整个平台的能力。 1.3 监控对象范畴 监控对象波及网络、主机、根底服务等。面对各地机房咱们做到了监控全笼罩,为满足各类环境部署诉求,咱们能够做到针对不同环境的监控。咱们反对多种采集形式,SDK和API采集次要利用在自定义监控场景,Agent次要采集主机类指标,采集上来的时序数据通过预聚合、对立的数据荡涤,而后存储在TSDB数据库。针对海量数据存储咱们采纳了数据降精,宽表多维多指标等计划。咱们罕用的检测算法有恒值检测、渐变检测、同比检测等,同时还反对了无数据检测、多指标组合检测,检测呈现的异样咱们会造成一个问题,问题在通过一系列的收敛后收回告警,咱们有多种告警通道,反对告警合并、认领、降级等,须要展现的指标数据咱们提供了丰盛的自定义指标看板,对应用频率高 固化场景,咱们提供了模板化配置计划。有了齐备的监控体系,那么零碎的要害指标和监控对象体量如何? 1.4 监控零碎体量 以后监控服务体系保障着x万+的主机实例,x万+的DB实例,每天解决x千亿条各类指标和日志,对x千+的域名做到秒级监控,对x万+的容器实例监控,每天从对立告警收回的各类告警达到x十万+ ,对主机实例的监控覆盖率达到x %,监控平台通过一直的摸索实际,实现了对海量数据计算存储,以后对外围业务的告警提早在x秒以内,告警召回率大于x %。 1.5 监控零碎面临挑战 尽管现阶段获得了一些成绩,然而目前依然面临很多挑战,次要分为三大类: 部署环境简单对数以万计的主机和容器,实时采集 计算是一项艰难的事件;面对各地机房监控,部署过程中依赖项多,保护工作简单;对海量数据计算存储,保障监控服务稳定性、可用性难度大。 平台零碎繁多以后零碎还存在割裂,用户体验不强;数据割裂,没有从底层交融在一起,对于数据组合应用造成挑战。 新技术挑战首先基于容器的监控计划,对传统监控计划造成挑战,以后对Prometheus指标存储处在摸索阶段,临时没有规范的解决方案,然而面对快速增长的数据量,新组件的摸索试错老本绝对较高。 二、监控服务体系架构2.1 产品架构 产品架构的能力服务层,咱们定义了采集能力、检测能力、告警能力等;性能层咱们对这些能力做了具体实现,咱们将监控分为主机、容器、DB等9类场景,展现层次要由Dashboard提供灵便的图表配置能力,日志核心负责日志查问,挪动端能够对告警信息进行认领、屏蔽。 2.2 技术架构 技术架构层分为采集、计算、存储、可视化几大块,首先在采集层咱们通过各种采集形式进行指标采集;上报的数据次要通过Bees-Bus进行传输,Bees-Bus是一款公司自研的分布式、高可用的数据收集零碎,指标通过Bees-Bus之后写入Kafka,随着Pulsar的受关注度与使用量的显著减少,咱们也在这方面进行了肯定的摸索;计算层咱们经验了Spark、Flink、KafkaStream几个阶段的摸索,根本实现了计算层技术栈收归到KafkaStream;数据次要存储在Druid,以后有190+节点的Druid集群。Opentsdb和Hive晚期利用在主机监控场景,随着业务倒退其性能曾经不能胜任以后的写入和查问需要,所以逐渐被舍弃。 以后咱们选用了VictoriaMetrics作为Prometheus的远端存储,日志信息存储在ES中,目前咱们有250+的ES节点。服务层中各类监控场景的元数据,都由对立元数据服务提供;各类检测规定、告警规定都由对立配置服务保护,对立告警服务则负责告警的收敛、合并、发送等。Grafana则次要用作自监控告警。 2.3 交互流程 在监控架构的根底上,咱们介绍一下整体交互流程,采集规定由对立元数据服务治理,并被动下发到VCS-Master,VCS-Master次要用来工作下发,Agent执行后果数据接管,工作查问和配置管理等,Agent会定期从VCS-Master拉取缓存的采集规定,指标通过Bees-Bus双写到Kafka,由ETL程序对指标数据生产,而后做荡涤和计算,最初对立写入到存储服务中,对立配置服务下发检测规定到异样检测服务,检测出的异样信息推送到Kafka,由告警代理服务对异样信息进行富化,解决好的数据推到Kafka,而后由对立告警服务生产解决。在存储服务之上,咱们做了一层查问网关,所有的查问会通过网关代理。 三、可用性体系构建与保障3.1 可用性体系构建 后面说了监控服务体系整体架构,那么监控产品如何服务于业务可用性。咱们将业务稳定性在时间轴上进行宰割,不同的时段有不同的零碎保障业务可用性,以后咱们次要关注MTTD和MTTR,告警提早越小发现故障的速度也就越快,零碎培修工夫越短阐明零碎复原速度越快,咱们将MTTR指标拆解细化而后各个击破,最终达成可用性保障要求。vivo监控服务体系提供了,涵盖在稳定性建设中须要的故障预防、故障发现等全场景工具包,监控平台提供了产品工具,那么与运维人员,研发人员是怎么合作配合的? 3.2 零碎可用性保障 当监控对象有问题时,监控零碎就会发送告警给运维人员或业务开发,他们通过查看相干指标修复问题。应用过程中运维人员的诉求和疑难,由监控平台产品和开发协同配合解决,咱们通过经营指标,定期梳理出不合理的告警,将对应的检测规定同步给运维同学,而后制订调整计划,前期咱们打算联合智能检测,做到零配置就能检测出异样指标。通过监控开发、运维人员和业务开发一起协同配合,保障业务的可用性。 3.3 监控零碎可用性 除了保障业务可用性外,监控零碎本身的可用性保障也是一个重要的课题。为了保障Agent存活,咱们构建了多种维活机制,保障端上指标采集失常。数据通过Bees-Bus之后,会双写到两个机房,当有一个机房呈现故障,会疾速切到另一个机房,保障外围业务不受损。数据链路的每一层都有自监控。监控平台通过Grafana监控告警。 3.4 简单场景下依靠监控解决问题伎俩 监控能力矩阵 随着公司业务倒退,业务模型、部署架构越来越简单,让故障定位很艰难,定位问题老本高。而监控零碎在面对简单、异构、调用关系简短的零碎时就起到了重要作用。在问题发现阶段,例如多服务串联调用,如果某个阶段,呈现耗时比拟大的状况,能够通过利用监控,升高问题排查难度。在告警告诉阶段,能够通过对立告警对异样对立收敛,而后依据告警策略,告诉给运维或者开发。问题定位时,能够利用故障定位服务找到最可能呈现问题的服务。解决问题时,相似磁盘打满这种比拟常见的故障,能够通过回调作业疾速排障。复盘改良阶段,故障治理平台能够对立治理,全流程复盘,使解决过程可追溯。预防演练阶段,在服务上线前,能够对服务进行压力测试,依据指标设置容量。 四、行业改革下的监控摸索实际及将来布局4.1 云原生:Prometheus监控 以后行业正迎来疾速改革,咱们在云原生、AIOps、可观性等方向均进行了摸索实际。将来咱们也想紧跟行业热点,持续深挖产品价值。随着Kubernetes成为容器编排畛域的事实标准,Prometheus因为对容器监控良好的适配,使其成为云原生时代,容器监控的事实标准。上面咱们介绍一下整体架构,咱们将容器监控分为容器集群监控和容器业务监控,首先对于容器集群监控,每个生产集群都有独立的监控节点,用于部署监控组件,Prometheus依照采集指标服务划分为多组,数据存储采纳VictoriaMetrics,咱们简称VM,同一机房的Prometheus集群,均将监控数据Remote-Write到VM中,VM配置为多正本存储。通过拨测监控,实现对Prometheus自监控,保障Prometheus异样时能收到告警信息。容器业务监控方面,Agent部署在宿主机,并从Cadvisor拉取指标数据,上报到Bees-Bus,Bees-Bus将数据双写到两个Kafka集群,对立检测服务异步检测指标数据,业务监控指标数据采纳VM做远端存储,Dashboard通过Promql语句查问展现指标数据。 4.2 AIOps:故障定位 以后业界对AIOps的摸索,大部分在一些细分场景,咱们也在故障定位这个方向进行了摸索。剖析过程中首先通过CMDB节点树,选定须要剖析的我的项目节点,而后抉择须要剖析的时段,就能够按组件和服务下钻剖析,通过计算得出每个上游服务的稳定方差,再利用K-Means聚类,过滤掉稳定较小的聚类,找到可能出现异常的服务或组件。剖析过程会造成一张起因链路图,不便用户疾速找到异样服务,剖析后果会举荐给用户,告知用户最可能出现异常的起因。详情查看性能能够看到被调用的上游服务、接口名、耗时等信息。 4.3 可观测性:可用性大盘 因为CNCF在云原生的定义中提到了Observerbility,所以近两年可观性,成了技术圈很炽热的关键词。以后业界基于Metrics、Logs、Traces对可观测性造成了肯定共识。谷歌也给出了可观测的外围价值就是疾速排障。咱们认为指标、日志、追踪是实现可观测性的根底,在此基础上将三者有机交融,针对不同的场景将他们串联在一起,实现方便快捷的查找故障根因,综上咱们建设了可用性大盘,它能查看服务的健康状况,通过下钻,能够看到上下游服务依赖关系、域名健康状况、后端服务散布等。通过串联跳转等形式能够看到对应服务的日志和指标信息。 4.4 场景串联 将来咱们心愿在场景串联、可观测性、服务能力化进一步摸索,深挖产品价值。场景串联上: 首先咱们心愿告警可能与故障定位平台串联,帮忙用户疾速找到故障根因,缩短排查工夫 ;告警记录可能一键转为事件,缩小数据链路中人为操作的环节,保障数据的真实性;咱们心愿能与CMDB等平台买通,将数据价值最大化。 4.5 对立可观测 当初,vivo监控服务体系的可观测产品没有齐全交融在一起,所以后续咱们心愿构建对立可观测平台: ...

January 2, 2023 · 1 min · jiezi

关于监控:PromQL的工程实践

前言

October 15, 2022 · 1 min · jiezi

关于监控:多维度监控智能监控的数据基础

前言以组件监控为例,介绍监控产品的路线图运维监控零碎的作用显而易见,贯通运维的5项职能:公布、变更、故障解决、体验优化、日常需要,保障上述职能的服务可用性。 从大数据的个性(数据量大、多维度、齐备性)[1]来看,运维监控零碎的建设能够分为2个阶段:多维度监控(积攒数据) 和 智能监控(应用数据),通过多维度监控实现出了故障能看、能查,智能监控提前发现危险、找出故障本源。 组件监控是多维度监控体系的第3层,次要对常见开源组件、中间件的性能指标做监控,比方Nginx的性能指标有Active Connections(以后客户端连接数)、Waiting(期待中的连接数)等,Oracle的性能指标有 SQL硬解析率、表空间使用率等。 通过采集组件的要害性能指标,实时获悉组件的运行状况,提前发现问题,而不是仅监控过程或端口是否存活(过程或端口都失常时,不代表能够提供服务)。 本文以建设组件监控为例,从多维度监控的组成、监控产品要解决的3个问题、组件监控的技术选型、云端下发采集器配置、社区的凋谢能力来介绍监控产品设计路线图。 1. 多维度监控的组成从用户拜访链路的角度,将监控指标的维度分为用户层、应用层、组件层、主机层、网络层。用户层,通过服务拨测等形式模仿用户的拜访行为,不必等用户投诉上门;应用层,通过调用链等形式追踪利用的调用状态;其余三层较为容易了解就不做介绍了。 通过这5层+其余要害指标(如日志、业务KPI曲线等),构筑监控零碎的多维度监控能力,为第二阶段的智能监控提供数据撑持。 2. 监控产品要解决的3个问题除了获取要害的性能指标外,监控产品还须要解决3个问题, 退可做故障关联剖析,进可建设运维的智能化场景。 2.1 对IT零碎的自主掌控能力因为对IT零碎自主掌控能力的不足,"正在更换IT零碎" 和 "走向更换IT零碎的路上,是局部中、大型企业在"互联网+"浪潮下踊跃拥抱互联网的现状。 鉴于这种状况,局部行业已明确已表明2,必须加大对IT零碎自主掌控的能力。 于是,产品设计时,需思考能让监控零碎的使用者能够参加到监控零碎的开发或局部开发. 2.2 回绝再造一个烟囱竖井式的构造预计是大部分企业构建IT零碎的现状,每个零碎间毫无关联,每买一套零碎等于多构建一个信息孤岛,附加值极低。 如果想实现退可做故障关联剖析,进可建设运维的智能化场景,可在基于PaaS的运维平台上建设[4],通过iPaaS买通企业外部的各个IT经营零碎。2.3 组件繁多,齐全自研不太事实行业中利用的组件品种繁多,从数据库、存储、HTTP服务到音讯队列等共100+,齐全自研必定不事实。 好的方法是自研外围、行业撑持不好的组件,剩下的借助行业多年积攒的能力,少造一点轮子,为社会省点电。 3. 组件监控的技术选型在2.3中提到自研 + 第3方开源采集器的思路,这里以开源采集器Prometheus Exporter为例。Prometheus Exporter的社区很沉闷[5],反对100+ 常见开源组件,局部大厂甚至专门编写对应的Prometheus Exporter,比方Oracle编写的Weblogic Exporter,IBM编写的IBM MQ exporter,k8s、etcd甚至内置基于Exporter标准的metrics。 依照这种计划,只须要做一个协定转换即可把指标入库 4. 体验优化:云端下发采集器配置解决根底需要后,须要马上来优化下体验。 把采集器或配置下发至被监控的主机上,个别须要手动部署或应用第三方的工具(如Ansible)。 切换多个零碎来实现一件事件,体验十分不好。 有一个优化计划,通过iPaaS应用管控平台层的文件散发和命令执行能力[4],让用户在一个页面实现配置流程,晋升效率。 5. 社区的凋谢能力在满足根底性能和优化产品体验后,接下来思考产品的可扩展性。 先解决用户一键导入自研组件的便利性,接下来提供一个交流平台让社区用户能够自在分享。 在取得社区开源能力的同时,也须要反哺社区。 6. 结尾属于根底监控范畴的多维度监控绝对智能监控来说,不太光鲜,但它是智能监控的数据根底,没有多维度监控提供的数据,无奈落地故障预测、故障根因剖析等智能监控场景。 传统企业或互联网企业在拥抱互联网改革时,需沉着思考,依照路线图逐渐实现。 7. 参考文献[1] 吴军. 智能时代:大数据与智能反动从新定义将来 [M]. 北京:中信出版团体,2016-8. [2] 中国人民银行. 中国金融业信息技术“十三五” 倒退布局 [EB/OL]. 2017.06 [3] 中国银监会.中国银行业信息科技“十三五”倒退布局监管领导意见(征求意见稿)[EB/OL]. 2016.07.15 [4] 中国通信标准化协会.云计算运维平台参考框架及技术要求 [EB/OL]. 2017.11.16 ...

June 28, 2022 · 1 min · jiezi

关于监控:极客星球-业务监控及告警系统体系化建设之路

监控零碎体系化建设背景及现状监控零碎对于业务零碎的重要性显而易见,但该如何抉择监控零碎,以及如何实现系统监控和告警的性能,始终是监控零碎中的两大难题。本文就来解密一下数据智能企业在监控零碎上的解决和倡议,和大家一起探讨。 常见业务监控零碎通常先实现操作系统层面的监控,目前这部分技术已绝对成熟,继而再扩大出其它监控,如 :Zabbix、小米Open-Falcon。当然也有同时反对两者的监控零碎,如 Prometheus。若对业务监控要求较高,倡议开发者们在选型中优先思考 Prometheus。 下图为截至2022年5月,谷歌提供监控零碎应用状况散布: 开源监控报警零碎——PrometheusPrometheus(普罗米修斯)是由SoundCloud开发的开源监控报警零碎和工夫序列数据库(TSDB),它是一个监控采集与数据存储框架(监控服务器端),反对多种exporter采集指标数据,并反对PushGateway进行数据上报,性能足够撑持上万台规模的集群,相较于其它监控零碎应用的 push 数据的形式,Prometheus 则应用的是 pull 的形式。 1、基本原理:Prometheus基本原理是通过HTTP协定周期性抓取被监控组件的状态。这样做的益处是,任意组件只有提供HTTP接口就能够接入监控零碎,不须要任何SDK或者其余的集成过程,这样做非常适合虚拟化环境,如:VM、Docker 。Prometheus是为数不多同时适宜Docker、Mesos、Kubernetes环境的监控零碎之一。 2、Exporter:输入被监控组件信息的HTTP接口被称为exporter 。目前互联网公司罕用的组件大部分都有能够间接应用的exporter,如:Varnish、Haproxy、Nginx、MySQL、Linux 零碎信息 (包含磁盘、内存、CPU、网络等等)。具体采集的数据类型依赖于Exporter(监控客户端),例如采集MySQL的数据须要应用mysql_exporter。当Prometheus调用mysql_expoter采集到MySQL的监控指标之后,把采集数据寄存到Prometheus所在服务器的磁盘数据文件中。它的各个组件根本都是用Golang编写的,对编译和部署非常敌对,并且没有非凡依赖,根本都是独立工作。Exporter品种如下: 官网Exporter地址:https://github.com/prometheus;node_exporter:Linux类操作系统相干数据的采集程序;jmx_exporter:Java过程指标采集程序;mysqld_exporter:MySQLserver数据采集程序;redis_exporter:Redis数据采集程序3、Prometheus架构: 1)Prometheus Server次要负责数据采集和存储,提供 PromQL 查询语言的反对。Server 通过配置文件、文本文件、ZooKeeper、Consul、DNS SRV Lookup 等形式指定抓取指标。依据这些指标,Server 定时去抓取 metrics 数据,每个抓取指标须要裸露一个 http 服务的接口用于Prometheus定时抓取。这种调用被监控对象获取监控数据的形式被称为Pull。Pull形式体现了Prometheus独特的设计哲学,这一点与大多数采纳Push形式的监控零碎不同。 2)PushGatewayPrometheus反对临时性 Job 被动推送指标的两头网关。某些现有零碎是通过Push形式实现的,为了接入这个零碎,Prometheus提供对PushGateway的反对。这些零碎被动推送metrics到PushGateway,而Prometheus只是定时去Gateway上抓取数据。 3)AlertManagerAlertManager是独立于Prometheus的一个组件,能够反对 Prometheus 的查问语句,并在触发了事后设置在Prometheus中的高级规定后,Prometheus便会推送告警信息到AlertManager。 4)ExporterExporter Exporter是 Prometheus 的一类数据采集组件的总称。它负责从指标处收集数据,并将其转化为 Prometheus 反对的格局。与传统的数据采集组件不同,它并不向地方服务器发送数据,而是期待地方服务器被动前来抓取。Prometheus 提供多种类型的 Exporter 用于采集各种不同服务的运行状态。目前反对的有数据库、硬件、消息中间件、存储系统、HTTP 服务器、JMX 等。 5)HTTP API这是一种查问形式,能够自定义所须要的输入。 6)Prometheus反对两种存储形式第一种是本地存储,通过Prometheus自带的时序数据库将数据保留到本地磁盘,为了性能思考,倡议应用SSD。但本地存储的容量毕竟无限,倡议不要保留超过一个月的数据。另一种是近程存储,实用于存储大量监控数据。通过中间层适配器的转化,目前Prometheus反对OpenTSDB、InfluxDB、Elasticsearch等后端存储。通过适配器实现Prometheus存储的remote write和remote read接口,便能够接入Prometheus作为远端存储应用。 7)Prometheus外围价值系统监控:次要是跟进操作系统的根本监控我的项目,如CPU、内存硬盘、IO、TCP连贯、进出口流量;程序监控:个别须要和开发人员配合,在程序中被动上报各种获取到的数据或者特定的日志格局;业务监控:能够蕴含用户拜访QPS、DAU日活、拜访状态(Http code)、业务接口(登入、注册、聊天、上传、留言、短信、搜寻) 开源剖析监督平台——Grafana1、根本简介Grafana 是一套开源的剖析监督平台,反对 Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch 等数据源,其 UI 十分丑陋且高度定制化,抉择 Prometheus + Grafana 的计划,能够满足大部分中小团队的监控需要。 增加完数据源后,可依据理论需要,增加自定义的仪表盘和视图组件。 ...

June 20, 2022 · 2 min · jiezi

关于监控:基线监控基于依赖关系的全链路智能监控报警

更多技术交换、求职机会、试用福利,欢送关注字节跳动数据平台微信公众号,回复【1】进入官网交换群 字节跳动数据平台开发套件数据开发团队自研了基于依赖关系的全链路智能监控报警——基线监控,目前已在字节跳动外部失去宽泛应用,笼罩抖音、电商、广告等100+个我的项目,SLA工作的基线监控覆盖率超过80%。 随着字节跳动业务的疾速倒退,大数据开发场景下须要运维治理的工作越来越多,然而一般的监控零碎只反对配置相应工作的监控规定,曾经不能齐全满足以后需要,在日常运维中开发者常常会面临以下几个问题: 工作多,依赖关系简单:很难查找到重要工作的所有上游工作并进行监控。如果监控所有工作,又会产生很多无用报警,导致有用报警被疏忽; 配置运维老本高:每个工作的运行状况不一样,承诺实现工夫不一样,如果独自对每个工作设置监控,剖析及人工对齐工作SLA老本十分高; 报警模式多样性:对于小时级的工作,不同时段的报警及时性要求不同,一般监控无奈很好得满足不同时段多样的报警需要。 为了无效运维日常工作,保障数据品质,字节跳动数据平台开发套件数据开发团队自研了基于依赖关系的全链路智能监控报警——基线监控,能依据工作运行状况,智能决策是否报警、何时报警、如何报警以及给谁报警,保障工作的整体产出链路。 基线监控已在字节跳动外部失去宽泛应用,笼罩抖音、电商、广告等100+个我的项目,SLA工作的基线监控覆盖率超过80%。 理论案例本节将从一个理论案例登程,介绍基线监控相较于一般监控的外围劣势。 用户小明有一个对外承诺了的SLA工作,10点前必须要产出。其上下游关系如下图所示,其中SLA工作和工作4、5属于我的项目B,其余我的项目属于我的项目A。小明仅具备我的项目B的运维权限。 在没有基线监控前,为了保障SLA工作产出合乎预期,小明会在SLA工作及其雷同我的项目B内的上游工作上配置一系列告警规定,来预防上游工作提早导致的SLA破线。比方在SLA工作和工作4、5上都配置了3条根底告警,以保障SLA工作提早的危险及时感知和裸露,如下图所示。 但这种形式的问题也是不言而喻的: 利用根底监控规定,至多须要配置9条规定,能力根本实现对SLA工作的监控;监控规定的配置形式大多来自于专家教训,但仍有脱漏的危险;根底监控规定只能监控到有运维权限的我的项目,不属于本我的项目的上游工作是无奈监控到,因而小明也就无奈提前感知到提早危险。 有了基线监控,小明就只须要将SLA工作作为“保障工作”退出到基线监控中,保障工作的所有上游节点默认会被基线监控笼罩,小明再也不必配置多条根底告警规定,极大升高了告警规定配置的难度;一旦基线监控配置好之后,任意上游工作提早,对小明来说都能够疾速感知到,可无效保障SLA工作按时产出。 通过下面的理论案例,你应该对基线有了一个大略的了解。上面,就让咱们一起理解下基线监控的相干概念和零碎架构,并具体理解下基线监控的外围实现逻辑吧。 概念解读基线监控依据监控规定和工作运行状况,基线监控可能决策是否报警、何时报警、如何报警以及给谁报警。基线监控保障的是工作整体产出链路。基线监控的外围指标包含: 笼罩链路中的所有工作; 升高工作监控配置老本; 防止有效报警。  保障工作个别抉择有SLA要求的工作作为保障工作退出基线,基线通过保障工作的依赖拓扑图主动监控上游工作,造成须要监控的工作链路。 工夫定义承诺工夫:最晚实现工夫,即SLA。 预警余量:基线SLA Buffer,耗费预警余量即触发基线预警。 预警工夫:工作承诺工夫 - 预警余量,即工作预期最晚实现工夫。 预测运行时长:基于工作历史的执行状况预测当前任务执行的运行时长。 承诺最晚开始工夫:承诺工夫-工作预测运行时长。 预警最晚开始工夫:预警工夫-工作预测运行时长。 各工夫的关系如下图所示: 监控范畴基线默认监控的范畴包含:基线保障工作及保障工作上游的所有工作。 如下图所示,保障工作D,E及它们所有的上游节点都会纳入基线监控范畴,而工作C,F不受基线监控。值得阐明的是,基线监控容许用户配置基线监控只笼罩“指定我的项目”下的工作,此时基线监控的范畴就只蕴含了保障工作及这些我的项目下的上游工作。 基线实例和工作相似,基线也有业务工夫的概念。对工作来说,一个业务工夫会生成一个工作实例;而对基线来说,一个业务工夫会生成一个基线实例,负责监控同一业务工夫下保障工作的实例及其依赖的所有上游工作实例的运行状态。天基线和小时基线每天生成实例的规定如下: 天基线:每天生成一个基线实例,其业务工夫与该基线保障工作的业务工夫雷同; 小时基线:承诺工夫有两种设置形式:对立承诺和分时承诺。如果是对立承诺,则生成基线实例的个数为24个,每个基线实例的承诺工夫统一;如果是分时承诺,则每天生成N个基线实例,其中N为用户配置的监控业务工夫范畴蕴含的业务工夫数量,N的范畴是[1,24]。 基线实例状态平安:工作在预警工夫之前实现。预警:工作在预警工夫未开始运行,但还未达到承诺工夫。破线:工作在承诺工夫仍未运行实现。其余:基线实例敞开或者基线没有关联工作时,基线实例所处的状态。报警类型基线监控反对十分丰盛的报警类型: 基线预警:基线监控的链路上,首个没有在基线预警工夫节点开始运行的节点。基线破线:“基线破线”报警需满足以下两个条件:工作节点的上游(蕴含间接和间接上游)没有呈现过破线;该工作没有在破线工夫节点开始运行。破线加剧:“执行变慢导致破线加剧”报警触发需满足以下两个条件:工作所在链路已发送首次“基线破线”报警工作运行耗时相较于预测运行耗时有所增加,具体来说:a. 当工作理论开始工夫早于基线破线开始工夫时,将“破线开始工夫  + (预测运行耗时 * (1 + N%))”作为检测时间点,如果工作达到检测时间点时还没有运行实现,则触发告警;b. 当工作理论开始工夫晚于破线开始工夫时,将“工作理论开始工夫 + (预测运行耗时 * (1 + N%))”作为检测时间点,如果工作达到检测时间点时还没有运行实现,则触发告警。保障工作预警工夫未实现:基线预警工夫达到(承诺工夫-预警余量),查看基线所有保障工作是否实现运行,若有保障工作未运行实现,且基线之前无预警、破线报警,则触发报警。保障工作承诺工夫未实现:基线承诺工夫达到,查看基线所有保障工作是否实现运行,若有保障工作未运行实现,则触发报警。工作失败事件:基线监控链路上,任意工作,重试完结仍失败,则触发失败事件。监控链路上的工作,产生失败事件则触发该报警。基线事件基线监控工作(保障工作及其上游工作),在执行过程中,若呈现失败、变慢等状况,将被当作基线的异样事件,进行记录。 变慢事件: 辨认基线监控工作(保障工作及其上游)运行变慢的状况。辨认条件为:工作运行时长较该工作的预测运行时长上涨了X%,则视为一个变慢事件。失败事件: 辨认基线监控工作(保障工作及其上游)运行失败的状况,辨认条件为:工作运行过程中呈现过失败,则视为一个失败事件。基线事件的状态蕴含“新发现”和“已复原”两种。当基线监控的工作产生变慢或者失败事件时,基线事件状态更新为“新发现”;但如果工作最终实现了的话,基线事件的状态会被更新为“已复原”。 零碎实现整体架构 基线治理模块:负责基线创立、更新、删除等操作,治理基线元信息,包含保障工作,承诺工夫,余量及报警配置等;基线实例生成:零碎每天定时触发生成基线实例,生成实例的同时依据保障工作,由下而上逐层遍历 (BFS)所有上游工作并生成基线监控埋点。生成基线监控埋点的过程中,会计算每个工作节点的预测运行时长,承诺工夫,预警工夫,预警最晚开始工夫,承诺最晚开始工夫。此外,零碎会给基线监控工作增加基线出错/变慢报警规定,当工作执行触发规定后,通过根底报警服务发送基线报警事件;监控埋点校验:系统维护一个提早队列,依据校验工夫点(预警最晚开始工夫,承诺最晚开始工夫以及破线加剧工夫校验点),定时触发监控埋点校验工作实例运行状态,如果在工夫点实例未运行胜利,产生基线预警/破线报警事件,发送给根底报警服务发送报警。因为基线实例生成和基线埋点检测是基线监控的外围模块,因而本文只着重介绍下这两个模块。 基线实例生成每天固定工夫点(如22:00),依据基线类型及业务日期生成对应的基线实例。 针对每一个基线实例,零碎依据该基线实例对应的监控链路(工作DAG),由保障工作为终点,自下而上逐层(BFS)计算各工作对应的监控埋点实例的校验工夫节点,包含预测运行时长、 预警工夫、承诺工夫、预警最晚开始工夫,承诺最晚开始工夫。 如下图所示,上游工作(B)的预警工夫为其子工作实例埋点的预警最晚开始工夫,工作节点中的数字示意工作的预测运行时长,如节点A(1.5h),示意A的预测运行时长是1.5小时。 如图所示,基线保障工作为A,承诺工夫为9:00,用户设置的预警余量为0.5h,联合零碎推算出该工作本次的预测运行时长为1.5h。因而,工作A监控埋点的预警工夫为8:30(9:00-0.5h),预警最晚开始工夫为7:00(8:30-1.5h),承诺最晚开始工夫为7:30(7:00+0.5h)。 上下游工作之间监控埋点的各工夫节点办法如上图所示,满足:上游工作的承诺(预警)工夫 = 上游工作的承诺(预警)最晚开始工夫。 上图示例只是现实状况,但实际上工作链路会非常复杂,如跨层依赖、循环依赖十分常见。此外,工作链路也是有可能动态变化的,上游依赖新增或者缩小也是个普遍现象。 因而,基线实例生成时,须要针对上述情况进行解决,以保障基线监控的有效性和合理性。上面,咱们针对每种场景介绍基线监控算法的解决办法。 基线监控的工作链变动了怎么办? 目前,基线监控算法是通过基线实例生成时刻该基线监控的工作链路“快照”来生成监控埋点实例的,暂未针对监控埋点生成完结后,基线笼罩的工作链路发生变化的状况进行解决。即,用户操作工作并不扭转曾经生成的基线监控埋点实例的信息(计算得来的各种工夫及工作与基线的映射关系等),而是等到下一次生成基线实例的时候从新去计算。具体实现时,零碎会将工作DAG进行缓存(1h),以进步埋点实例生成的效率。 基线笼罩的工作链路存在跨层依赖怎么办? ...

May 25, 2022 · 1 min · jiezi

关于监控:电力行业告别传统运维拥抱全链路云上监控

随着电力行业信息化建设的疾速倒退,尤其是随着云原生和分布式技术在电力信息化建设中的大范畴推广和利用,电力行业云上业务零碎变得更加简单,业务零碎外部节点和相互之间的衰弱关联影响也越来越动静多变,给资源管理、系统监控、运行保护工作带来了极大挑战。 目前,在电力“双态”混合倒退的状况下,敏态业务一直增多,进步了利用效率的同时,也让资源规模变得宏大,利用的拓扑构造和通信也变得更简单、更难监控。 同时,在云上分布式业务架构中,大多数的利用故障也不再来自于繁多利用外部,而是来自于不同利用或服务之间的简单交互,只通过传统的监控伎俩或人工运维的形式曾经不能疾速实现云上资源被动感知、状态跟踪和业务故障定界。 另外,因为传统的网络旁路监控是基于交换机实现的,而云上业务通常采纳三层网络模型,业务之间的流量不通过交换机,传统的网络监控不能无效撑持云上场景,监控能力生效。 因而,在大规模化的云上业务倒退中,电力企业短少针对云上业务简单调用的梳理和监控能力,亟需强化云上运维监控能力,自动识别并造成云上业务及相干资源容量的全链路拓扑,实现云上业务监控全笼罩指标,晋升云上业务零碎衰弱管理水平和业务平安稳固运行程度。 谐云为多个电力省公司建设实现云上业务全链路监控及衰弱剖析平台,基于eBPF技术以业务无感知无侵入的形式采集业务运行链路要害指标数据,集成易扩大的Prometheus采集云上利用指标以及主机与容器资源信息数据。 同时,谐云监控平台兼容阿里云、华为云及电力容器云平台的数据采集,将采集的原始数据通过数据聚合剖析、业务利用调用关系关联、业务数据集成等解决,提供多维度的智能剖析与高度可视化界面,实现电力云上业务全链路监控、资源容量精细化治理和业务零碎衰弱度剖析。 ● 云上业务全链路监控 无感知业务指标采集:基于eBPF技术,以无侵入的形式,获取包含云平台指标、业务运行指标以及业务链路各层面的指标数据,涵盖运行时状态数据、精细化资源容量状况和业务申请链路数据,不影响业务运行;云上业务全链路监控:主动构建云上全网流量业务拓扑关系图,提供单次申请故障产生时刻的网络品质和利用响应回溯的性能,可精确定位是网络问题还是利用问题,为云上业务提供全链路端到端的监控伎俩 ● 资源容量精益化治理 业务资源容量剖析:以业务视角剖析业务零碎运行过程中全链路各个层面的资源容量状况,对用户访问量与资源使用量进行精准统计,笼罩业务自身、依赖的组件节点等各个层面的资源容量状况;系统资源异样辨认:通过系统监控剖析,自动识别业务零碎容量异样应用景象,为信息系统的故障剖析与容量布局提供无效撑持。● 业务零碎衰弱度剖析 业务零碎衰弱剖析:依据业务零碎运行形式(节点数)、告警数量、资源容量、中断时长、平安等保评估、破绽数量等节点信息,构建业务衰弱算法模型,联合电网知识库,对业务零碎衰弱数据进行交融剖析,造成云上业务零碎衰弱度视图;在零碎呈现某一故障后,可疾速判断并剖析故障对相干业务衰弱度的影响,构建解决模型,为故障影响判断、业务零碎整体稳固运行提供直观管控伎俩;智能告警预测:通过机器学习算法构建重点业务零碎黄金指标数据模型,比方访问量、成功率、相应工夫等,反对通过外围指标自动识别业务衰弱,也反对配置并定时拜访业务特定健康检查URL辨认业务衰弱,实现业务零碎异样的智能预警,及时发现零碎问题危险,进步零碎运行衰弱指数。 随着电网信息化建设的高速倒退,云上业务规模的不断扩大,电力调度各项业务须要进入精细化运维、智能化治理的时代。 精细化运维,须要准确的指标采集以及对业务运行的全面感知以造成云上业务全链路管控及衰弱剖析;智能化治理,须要保持翻新驱动倒退,放慢大数据分析和智能告警预测,及时发现零碎问题危险,从而解脱调度业务运行保护对于大量人力投入的依赖,已成为晋升调度业务能力的外在须要和必然选择。

April 8, 2022 · 1 min · jiezi

关于监控:恒源云Gpushare新功能上线你确定不进来看看

文章起源 | 恒源云社区 原文地址 | 【性能更新】 实例监控可视化!大家在云端训练过程中,时常须要关注gpu、cpu以及硬盘的应用状态,以便确认硬件是否充分发挥了最佳成果,也能为训练代码的调整提供一些参考。 依照传统办法,大家个别会应用命令进行查看,比方大家相熟的nvidia-smi、py3smi等,但对于老手来说,这种形式可能不太敌对,而对于新手来说,也不不便动静出现。 对此,【恒源云Gpushare】特上线了【实例监控】的性能,意味着,鼠标微微一点,大家即可通过线上页面,迅速理解gpu、cpu以及硬盘的利用率。 如何查看呢?大家开启实例后,在该实例的【快捷工具】一列,点击【实例监控】。 进入可视化页面后,大家能够看到gpu的型号、卡数、显存、使用率等各项数据,同时,可勾选时间段,进一步查看gpu使用率的动静曲线。 不仅如此,该页面还展示了cpu使用率、内存使用率,以及硬盘下的零碎磁盘、数据盘的动态数据。 通过这个新性能,心愿对大家的训练能有所帮忙呢。 小程序创立工单!大家在应用【恒源云Gpushare】的过程中,往往会遇到一些问题,比方实例问题、数据问题、费用问题等。 这次版本更新,在官网提交工单的根底上,小程序也减少了工单创立的性能,不便大家在挪动端解决问题。 大家进入【恒源云】小程序首页,点击【我的工单】,进入工单页面后,可点击创立按钮,填入问题形容等必填项,即可提交工单。平台技术共事收到工单后,会第一工夫回复,请大家关注工单状态哦。 费用预警优化!本次更新也优化了【费用预警】的设置,大家进入【控制台】,可在首页右侧看到【费用预警】的板块。 点击【设置】后,可抉择开启或者敞开余额预警,并且,反对预警金额阈值的调整,一旦触发,将立刻发送揭示。 除此之外,还能够抉择揭示的形式,包含邮件、短信、微信等。 平台通过费用预警的优化,心愿能缩小大家对费用耗费的担心,更加专一于训练自身。

April 8, 2022 · 1 min · jiezi

关于监控:n9e监控框架

一.n9e是什么n9e的全称是Nightingale,与开发Open-falcon的是一拨人,起初这波人去了滴滴,开发了n9e成为滴滴开源的监控框架。 n9e在v5版本之前,连续了Open-falcon push的模式,在告警的业务逻辑和指标展示做了很多优化。 n9e在v5版本至今,应用prometheus作为后端的TSDB,并通过promQL作为告警表达式做告警断定。 本文次要关注最新的v5版本。 二.n9e的架构 server:后端服务,负责将指标写入Prometheus,以及告警业务逻辑的实现;webapi:前端服务,负责前端业务逻辑;mysql:保留告警策略,以及告警告诉配置;redis:缓存用户登录信息;指标的业务逻辑: 监控agent通过remote-write API,申请server;server对指标进行提取,存入Prometheus;告警的业务逻辑: 用户通过webapi配置告警策略,server将策略保留至mysql;server依据告警周期,定期查问PromQL的值是否触发告警;若触发告警,则将其存入mysql,同时进行告警告诉;三.n9e的部署和应用应用部署文档,部署单机版的n9e环境,次要部署以下组件: prometheusmysqlredisn9e server & webapi部署胜利后,n9e server监听在19000端口,webapi监听到18000端口; 通过http://ip:18000拜访WEB UI,默认用户:root/root.2020 四.prometheus作为后端TSDBprometheus通常被用来拉取exporter的指标,而后存入本地磁盘;它既实现了拉取的逻辑,也实现TSDB的性能。 在2.25版本之前,prometheus不反对独自作为TSDB,即不反对通过API间接向prometheus写入时序数据。 在2.25版本之后,prometheus配置--enable-feature=remote-write-receiver参数后,反对通过REST接口向prometheus写入时序数据。 n9e应用prometheus 2.28版本,利用了prometheus这一个性,将其作为后端的TSDB。 prometheus提供的REST接口:POST /api/v1/write,能够向prometheus写入时序数据;查看prometheus的源码: // web/api/v1/api.gofunc (api *API) Register(r *route.Router) { ... r.Post("/write", api.ready(api.remoteWrite)) ......}func (api *API) remoteWrite(w http.ResponseWriter, r *http.Request) { if api.remoteWriteHandler != nil { api.remoteWriteHandler.ServeHTTP(w, r) } else { //未配置remote-write-receiver,返回谬误 http.Error(w, "remote write receiver needs to be enabled with --enable-feature=remote-write-receiver", http.StatusNotFound) }}五.telegraf作为监控agent并主动发现Telegraf 是 InfluxData 开源的一款采集器,能够采集操作系统、各种中间件的监控指标等; Telegraf是一个大一统的设计,即一个二进制能够采集CPU、内存、mysql、mongodb、redis、snmp等,不像Prometheus的exporter,每个监控对象一个exporter。 ...

April 6, 2022 · 2 min · jiezi

关于监控:Kindling项目目标利用eBPF技术带来的可观测性的上帝视角-关联内核可观测数据的trace

以后可观测性工具在云原生环境缺失了什么?大家在应用可观测性产品当中,海量的数据肯定会给排障带来阻碍。略微有点排障教训的技术人员都心愿排障过程中可能追寻trace,并能沿着这个trace将各种可观测性的数据关联到这个trace上,这样最终就能够将问题根因找到。在eBPF技术呈现之前,大家最罕用的trace就是dapper论文中提到分布式追踪技术,然而在理论落地过程中会常常碰到以下痛点: 第一个痛点:探针自动化笼罩依赖人工:APM探针装置须要人工装置,利用重启能力失效,所以很难做到自动化笼罩所有业务。导致云原生环境里某些节点并未装置APM探针或者人工插桩,所以无奈顺着trace深刻排查遇到妨碍。 第二个痛点:探针难以笼罩多语言的微服务业务:微服务的设计哲学中强调,每个小团队能够应用善于的语言并针对需要做出自认最佳的开发,这就意味着开发语言是多样的。trace也会因为多语言的难以对立追踪而断掉。 第三个痛点:APM trace短少内核可观测数据: DNS的性能导致业务抖动、Kmem 相干bug导致业务pod oom重启、业务pod呈现申请另外一个pod申请不通、业务迭代产生网络耗费大引起业务性能降落问题、共享存储导致业务申请性能产生抖动、 kube-dns 配置出现异常导致业务异样等等问题都很难通过繁多的APM trace数据进行排障。另外一个常见的问题就是某段代码忽然慢了,这段代码之前都是运行好的,单凭APM trace中采集的数据难以答复为什么忽然慢了。这个时候多半须要人为染指,再从利用日志、系统日志找到内核可观测性数据去排查问题,比方找到过后srtt数据是否失常,某次文件读写工夫和传输数据量、操作系统过程调度是否失常。 Metric数据全景图定义: 1类型的Metric数据是Linux /proc下数据,Promethues和Zabbix等支流监控数据就来自于/proc 下的统计数据,APM探针也会有局部统计数据如TPS、均匀时延、错误率等。2类型的数据以后是APM产品次要采集的数据,该类型数据大量通过APM trace进行展现,并不是以惯例指标模式展现,少部分数据以惯例指标模式展现。3类型的数据,以后该类型数据采集工具缺失,如BCC等工具是作为小工具长期应用,业界并未有监控工具将该局部数据作为可观测性数据7X24小时运行保留展现。4类型的数据,以后次要还是专家型技术人员通过BCC、Bftrace、Ftrace等工具去获取内核函数执行状况。Kindling基于eBPF技术构建的上帝视角带来了解决方案——关联内核可观测数据的trace针对痛点一:以后解决方案 VS Kindling解决方案以后业界的次要解决思路: 有些公司推出了OneAgent概念,实质上利用脚本做自动化检测,自动化装置脚本,从而保障节点可能做到探针全笼罩。然而此种形式依然须要人工干预决定业务何时能力重启,探针采集数据能力失效。 Kindling的解决思路:Kindling利用eBPF技术或者内核模块技术构建的探针,以DeamonSet工作在Node所在的Linux操作系统上,即可笼罩所有环境,不会呈现没有探针笼罩的状况。另外十分重要的一点是利用无需重启,探针即可采集内核层的数据,对业务无烦扰。为了可能反对以后国内支流的CentOS7系列(eBPF运行在该类型操作系统默认内核上有技术局限性),Kindling通过构建内核模块的技术获取了同样数据,保障用户在高版本内核上与低版本内核取得同样的体验。 针对痛点二:以后解决方案 VS Kindling解决方案以后业界的次要解决思路:针对不同语言推出不同的APM agent,然而有些语言如Go和C语言很难做到自动化插裝,只能提供SDK包以便人工插裝。另外每个语言个性不统一,导致不同语言探针采集的数据集很难统一,对后端的整合剖析带来更大的压力,用户体验也不统一。会呈现某种语言有某些指标,而另外语言可能就缺失了这部分的指标。 Kindling的解决思路:eBPF代码或者内核模块代码工作在内核层与语言无关,所以程序无需做任何插裝或改变,也不必重启即可被观测,所有程序采集指标完全一致,用户了解不会有偏差。 针对痛点三:以后解决方案 VS Kindling解决方案以后业界的次要解决思路:以后比拟常见的做法是将prometheus的数据和APM trace进行关联,这种计划能解决应用层导致的问题,然而针对云原生环境很多问题如DNS的性能导致业务抖动,共享存储导致业务申请性能产生抖动,代码忽然执行慢了等问题排障帮忙无限。针对3与4类型的metric数据,以后支流做法是利用BCC、BFTRACE、Ftrace、Systamp等与内核交互的工具采集数据并输入至console中展现,以后并未有能提供7x24小时运行的可观测计划。次要起因是3与4类型中很多品种数据的数据量是十分大的,而7x24小时运行过程中,绝大多数状况是数据是失常的,保留这些大量失常的数据是节约存储资源。 Kindling的解决思路:Kindling构建全局拓扑图和排障trace来排查问题,排障trace有别与APM trace,eBPF排障trace只是APM trace中的一个如A->B调用环节。Kindling重点做的事件就是将3与4类型的数据关联至排障trace当中,通过判断排障trace是否异样,决定该trace的存储,从而实现存储敌对的7x24小时运行云原生可观测性工具。● Kindling应用和BCC、Bftrace同样的原理从而失去利用运行环境中3类型与4类型数据,为了可能反对以后国内支流的CentOS7系列(eBPF运行在该类型操作系统默认内核上有技术局限性),Kindling通过构建内核模块的技术获取了同样数据,保障用户在高版本内核上与低版本内核取得同样的体验。● Kindling 通过剖析在同一个socket fd上的read零碎调用和wrtie零碎调用即可失去利用在解决该socket上申请耗时,并将该次申请与返回封装成排障trace。通过耗时、返回码等业务层语义可能确定每次eBPF排障trace是否异样。在一个socket fd上的read零碎调用总工夫,能够失去一个申请上的网络request工夫,剖析一个socket fd上的write零碎调用总工夫,能够失去一个申请上的网络response工夫。将一个socket fd上的最初一个read和第一个write时间差即是程序处理的总工夫。将同一个socket fd上三者工夫关联在一起看,即可看到申请的耗时的残缺散布,失去相似chrome外面下图 ● Kindling 获取到的3类型数据与4类型数据通过各种关联伎俩关联至排障trace,在确定排障trace异样之时能存储该排障trace,同时也存储了3类型数据与4类型数据。该种形式确保了Kindling是能够运行在云原生环境的7X24小时存储敌对的可观测性工具。 Kindling将来的倒退思路与Roadmapkindling将来心愿在有全局拓扑图和排障trace的概念之上,不断丰富第3与第4类型的数据,可能帮忙用户排障云原生上所有故障。 在丰盛指标方面,次要遵循以下两个思路:● 心愿社区用户可能奉献更多的故障场景至太空舱我的项目https://github.com/Kindling-p...,该我的项目致力于收集云原生上不同品种的故障,并通过混沌工程进行在一个demo中模仿各种品种故障。在探针端,针对每种故障,剖析内核源代码,明确内核层面要害指标,给出排障方向。依据以后的场景,曾经在Kindling 演进思维导图中“探针指标能力加强”中列出来了一些的指标。 ● 将会一直借鉴其它排障工具的原理、提炼eBPF技术可能获取到的3类型与4类型数据,并找到应用3类型与4类型数据的故障场景,也欢送社区用户一起奉献工具、场景和思路。 以下的思维导图是Kindling近一年想做的事件。其中云原生故障场景和业务场景,欢送各位用户继续一直奉献。 次要工夫节点如下: 这里在多花点工夫介绍下咱们认为对用户十分有帮忙的OnCPU和OffCPU指标性能: 程序OnCPU火焰图是解决线上CPU耗费较高时的排障利器,OffCPU火焰图是解决程序期待资源较长的排障利器。OnCPU的火焰图曾经有很多开源我的项目正在演进了,Kindling无心反复造轮子或者集成某一个OnCPU火焰图工具。Kindling正在做的是借鉴了OnCPU和OffCPU火焰图的思路,利用eBPF技术剖析排障trace异样时间段内,不同线程的体现,最终可能帮忙用户剖析异样产生时间段,哪些线程可能是问题首恶、再进一步剖析哪些函数或者资源导致了异样,并且要可能实现7X24小时常并存储敌对。 在云可观测性方面有任何疑难欢送与咱们分割: 微信公众号

April 6, 2022 · 1 min · jiezi

关于监控:使用海康H5视频播放器开发包实现监控播放

海康H5视频播放器开发包demo下载地址:H5视频播放器开发包应用H5视频播放器开发包实现示例: 一:H5视频播放器开发包引入我的项目将H5视频播放器开发包demo中所有文件夹和h5player.min.js引入到本人的我的项目中 二: 引入H5视频播放器开发包<script src="h5player.min.js"></script> 三:应用H5视频播放器开发包实现监控播放1:html<div id="player"></div> 2:js//创立监控实例var myPlugin = new JSPlugin({ szId: 'player', //须要英文字母结尾 必填 szBasePath: '/', // 必填,援用H5player.min.js的js相对路径})var playURL = 'XXXX';//监控地址var mode = 0;//解码形式:0一般模式 1高级模式var index = 0;//以后窗口下标//监控播放myPlugin.JS_Play(playURL, { playURL, mode}, index).then( () => { console.log('realplay success') }, e => { console.log(e) })依据如上就能够实现H5视频播放器开发包播放监控视频

February 23, 2022 · 1 min · jiezi

关于监控:智慧交通车辆统计监测系统

随着我国经济程度的进步,公路在人们生存中施展着越来越重要的作用。然而,各种守法景象对驾驶员的生命安全形成了极大的威逼,也对公路的使用寿命造成了危害。其中超速、超重最为重大,路线治理迫不及待。路线上的车辆数量间接关系到公路的效率和效益以及交通车辆在路线上的运行状况。对过往车辆进行计数和监控火烧眉毛。 基于智能视频剖析,车辆统计监控零碎主动剖析辨认视频图像信息,无需人工干预。统计检测监控区域内过往车辆数量,无效辅助管理人员治理,同时查看现场视频,不便事变产生时预先治理查问。真正做到事先预警,事中失常发现,预先标准治理。车辆统计监控系统对过往车辆进行统计和监控,极大地促成了公路安防建设的疾速倒退。 零碎性能介绍 1、综合状况监测 整合地理信息系统、视频监控零碎、交管部门业务零碎数据,全面监控交通状况、警力散布、警情事件、接处警等因素,反对点击查看具体警力、机动指标、交通事件、监控视频等详细信息。,从而帮忙管理者实时把握整体交通运行状况。 2、122交通事故警报 反对对接122交通事故报警零碎数据,可视化监控剖析接警、报警解决、实时交通事件等信息。基于地理信息系统,实现各种报警事件的态势显示和疾速定位,并标注报警内容。同时能够智能筛选查看四周的监控视频和交警资源,不便指战员判断剖析报警的四周状况,为解决报警状况提供决策反对。 3、重大流动保障 针对重大流动的交通保障需要,反对对警力、车辆、联动资源的部署,以及保障区域内的交通流量、人流、路况、交通事件、监控视频等信息进行实时监控,反对保障范畴、保障路线、保障流程的可视化,无效晋升重大流动保障效率。 4、要害车辆保障平安 反对对救护车、消防车、工程救险车等重点车辆的运行地位、运行速度、运行路线进行实时监控,并可通过整合路况、警力散布、监控视频等信息进行可视化分析判断。沿线,使治理部门可能及时采取信号灯调控、分流等措施,对非法占用应急车道、烦扰特种车辆通行等守法状况进行监控,为重点车辆的交通安全和交通执法提供无力撑持。 5、车辆监控 反对交融视频监控、卡口、GPS、RFID等零碎数据,可视化监控=车辆的实时地位、速度、方向和运行轨迹,可视化预警车辆超速、偏航等异常情况;反对查问具体车辆的详细信息,如车牌号、车型、所属单位、运单信息(司机、押运人、货物信息等)。),实现对车辆的全方位运行监控。 6、车辆扣押、管制和监测 它反对对部署控制点、部署管制警察部队等因素的数量、地位和散布进行可视化监控。,能够整合卡口、电子警察、挪动巡检等业务零碎采集的实时数据信息,对假车牌、假车牌、疑似案件等重点监控车辆的实时地位、运行轨迹、行车档案等信息进行监控剖析。在案件侦破、治安防控等方面为治理部门提供无力反对。 7、车辆视频巡检 反对前端视频巡检系统集成,无效联合视频智能剖析、智能定位、智能判断技术,可视化监控路线拥挤点、隐患点、事变点等状况,实现异样事件的实时报警和疾速显示,并智能调用异样点四周的监控视频,无效晋升接警处理效率。 8、路况监控 反对获取交通数据,监控实时交通指标、拥挤路段、交通事故、监控视频等信息,用业余的模型算法迷信评估区域内的交通状况,为交通管理和指挥提供迷信的决策反对。 9、路口信号灯监控 反对路口信号灯、视频监控、卡口等零碎数据的集成。,实时监测路口交通流量、流量、车辆和路线异样事件、信号灯状态等信息,并联合业余模型算法,比照历史最佳通行速度和最佳交通量,直观分析判断路口交通状况,为信号配时优化和路口交通组织优化提供迷信决策依据,无效进步交通运行效率。 10、交通根底资源监测 反对对摄像头、卡口安装、交通检测安装、红绿灯等交通基础设施资源的数量、空间散布和实时状态进行监控和可视化治理,反对设施详细信息的查问,反对设施不失常工作的报警,增强管理人员对设施状态的监控和感知,进步交通基础设施运维管理效率。 11、数据中心运行监控 反对从天文空间散布、层次结构等维度展现相干单位数据中心的地理分布、数据检索以及相干单位间的实时数据流转。,能够直观地监控和剖析数据拜访流量、存储容量、数据类型、相干网络、相干部门等信息,对异常情况进行报警,帮忙用户把握跨区域、大规模数据流通的状况。 12、守法案件剖析 充沛整合交管部门现有数据资源,提供多种可视化剖析和交互伎俩,对历史守法案件海量数据进行可视化串并剖析,深挖案件时空散布法则,为交管部门起因剖析、被动预防等业务利用提供撑持。 13、车驾驶治理可视化剖析 反对对接车驾管数据,对机动车、驾驶人、交通守法、交通事故、年检等驾驶业务数据进行多维可视化剖析,展现城市交通画像,对异样数据进行报警,实现对交通信息的综合分析判断,帮助用户全面把握驾管业务状况,为业务决策提供无力反对。 官网:http://www.jisucx.com 公众号:极速佳

December 2, 2021 · 1 min · jiezi

关于监控:加油站安防监控视频监管解决方案

一、行业背景 随着我国经济的疾速倒退和人民生存程度的逐步提高,汽车的市场份额迅速减少,这导致了大量加油站的建设,在城市、高速公路、村庄和街道上都能够看到。然而,加油站因为危险高,是国家重点保护单位。其易燃易爆的个性给加油站左近的居民带来很大的安全隐患。 如何无效治理和预防事变,防患于未然?除了进步本身的平安防护意识和思维认知外,最重要的是建设一套能对事件进行提前预判,并将站点各重要的传感器进行零碎接入,实现多功能的安防管理体系进行治理,以保障加油站的安防需要及对突发事件的提前预防。 二、需要剖析 近年来,随着机动车辆的一直减少,同时,加油站天文位且扩散,网点泛滥,一些晚期建设的监控零碎曾经面临着新的挑战:首先,要求对加油站进出车辆状况、免费状况、设施运行状况以及加油站工作状况要进行实时监控和记录;其次,鉴于许多城市的加油站位于市内,安全隐患令人担忧。为满足油品销售公司对加油站平安经营及经营服务的治理需要,须要建设一套以古代信息技术为撑持的视频监控零碎,网络互联互通、信息资源共享、利用性能齐备,实现对加油站/成品油库的全面监管、对突发事件的及时响应以及对客流量的管控。 具体所需性能如下: 1、多级治理、管控 过来各个加油站的视频建设模式是硬盘录像机+摄像机,各个加油站自成一体,不与上级部门连贯,使得上级部门无奈对上司站进行治理和管制。依据理论应用需要和国家相干规范,须要建设省、市、站三级垂直管控体系。多层次治理,全面平安。 2、智能设施数据采集 目前加油站有很多后备保障措施,如发电机、UPS,以及各种智能报警装置,如烟雾传感器、温度传感器等。这些设施的工作状态信息须要通过传感器上传,并通过管理手段进行治理。因而许多智能设施迫切需要一个弱小的治理平台来对立管制和零碎联动。 3、系统集成 成熟的加油站平安物联网治理须要一个对立的治理平台进行对立治理,各子系统在治理平台上进行治理和链接。 4、智能报警 加油站是极其危险的易燃易爆场合,局部加油站还建在闹市区周边,对周边环境的平安影响很大,因而加油站的平安极其重要,这就要求平安物联网零碎除了及时预警外,还要有十分高效的110、119报警性能,在产生事变时以最快的形式报警,防止事变进一步扩充。 三、安防性能治理图 四、监控利用场景 监控零碎设计上融入了视频监控、车载监控、能源环境监控、车牌辨认、周界防备、应急指挥等零碎,也充分考虑了与消防系统的对接问题。思考到使用现场理论状况与业务需要,在摄像头部署上,抉择装置高清摄像机以及标清摄像机等形式,达到用户称心成果。 1、进出口监控 加油站出入口是内部人员和车辆进出的必经之路加油站,是加油站防备的要害局部。点位设计应合乎人员面部特色和车辆号牌。因为加油站都是24小时运行,所以须要思考夜间的光线环境,尤其是出入口的大灯对摄像头的影响比较严重。对于加油站入口,零碎还能够利用高清摄像头实现车牌辨认性能。车牌辨认性能采纳视频存储辨认或线圈感应。 2、加油工作区监控 加油区是外来人员和车辆的次要活动场所,点位设计应满足该区域的全笼罩要求。个别加油面积大,能够对角装置螺栓机笼罩工作区域,球机监控能够补充盲区。同时,球机能够通过变焦等管制捕获工作细节。 3、便利店、财务处监控 以上两个区域都是货币和商品交易产生的中央,点位设计要满足清晰记录交易者特色和交易的须要。倡议在便利店、金融办公室装置高清摄像头。 4、油库区监控 油库区是加油站的重中之重。油库区一旦出了问题,结果不堪设想。点位设计采纳智能剖析技术,可跟踪捕获进入油库区,清晰显示人车运行轨迹和各种状态。 油库区采纳高速智能球主动跟踪,通过智能剖析技术,清晰残缺地记录油库区的人和车。要求采纳球机能主动跟踪,运行速度快是监控,该监控应采纳防爆外壳。 五、加油站系统分析 依据加油站的特点,打算在各加油站建设网络视频监控零碎、周界报警零碎、数据采集零碎和电力环境监控零碎的平安管理系统。详情如下: 1、监控零碎 设置防爆枪监控摄像机、防爆球监控摄像机,用于易燃易爆区域的补充监控,利用红外半球监控摄像机配置全向高保真拾音器,用于室内自营超市和收银区的音视频预览监控,所有音视频在NVR集中存储。 2、周界防备 周界防备零碎(红外辐射或微波等))在工地周边设置围栏,避免不法人员通过围栏等伎俩进入工地重要区域,爱护财产平安。 3、数据采集零碎 数据采集零碎采集并上传各传感器的数据,以便在治理平台上实时显示其数据。如果须要,收集的数据和相干的视频图像能够在视频笼罩中显示。 4、动环监控零碎 动静监控能够采集发电机、配电柜等电力设备设施的相干数据,零碎连贯空调、感烟探测器、可燃气体探测器的漏水检测,通过治理平台进行对立管控。 5、智能报警 加油站反对辖区内站场视频巡检,反对各站场报警上传和智能报警性能。管理中心设有短信报警和电话报警。紧急情况下,可间接执行110、119的报警性能。 商城:http://www.xmjisujia.cn 公众号:极速佳

December 2, 2021 · 1 min · jiezi

关于监控:道路监控补光灯安装时需要注意哪些问题

城市道路监控零碎在保护城市平安等方面起着重要作用。监控补光灯是装置在监控设施周边,为夜间监控拍摄补充光照的。然而有一些路段监控补光灯亮度过强,对夜间行车造成了烦扰。那么咱们在监控以及监控补光灯装置时须要留神那些什么呢?一、监控装置 摄像机装置环境 作为人像辨认的摄像头,采集和辨认人像须要在绝对恒定的环境下进行。因而,在不稳固的环境下,将相机装置在室内比装置在室外更好地收集和辨认肖像。倡议将摄像机装置在室内或有遮挡的环境中。 摄像机的其余注意事项 镜头:镜头的好坏对人像采集和辨认有比拟显著的影响。镜头越好,焦距越远,倾角越小。 二、监控补光灯装置 1、补光灯装置高度,补光灯没有精确的装置规范。补光灯装置根本低于监控摄像头,装置在摄像头下方或摄像头左右两端。补光灯;也能够装置在与人脸平行地位;能够依据现场摄像头的状况装置补光灯并基于此微调补光灯的地位和亮度。 2、补光灯装置倾角依据摄像头的装置地位和人脸采集的倾角进行调整,因为人员的身高不同,光照对人脸的影响方向为:向光、逆光、侧光等;摄像机装置地位须要依据人脸向光方向来装置摄像机,采集人像能力更好的采集或辨认比对。 3、补光灯的装置环境实际上是要晓得在什么状况下须要装置补光灯的。 第一,在没有光照或者照明的状况下,这种环境比拟顽劣,产生的概率比拟小。间接装置补光灯比在这种环境下装置一些照明灯更正当; 第二,是光线较暗时,装置补光灯能够使摄像头更好地采集、辨认和比拟人脸; 第三,确定摄像机的装置地位。面部背光时,补光灯的装置能够使采集到的人像不会因为背光而模糊不清。 4、摄像机装置歪斜角度不宜过大,最大歪斜角度为45度,歪斜角度为0度成果最佳,须要防止摄像头直射。5、摄像机装置光照问题,摄像机装置地位要依据光照、灯光条件适当调整装置摄像机的地位;如摄像机装置在灯光后侧,当人员走到摄像机无效采集间隔时,灯光可无效地照耀在人脸上,人脸不会呈现阴阳脸(半张脸暗,半张脸亮)、看不清人脸等状况,采集到的照片能更好的辨认比对。 光照对人脸的影响方向为:向光、逆光、侧光等;摄像机装置地位须要依据人脸向光方向来装置摄像机,采集人像能力更好的采集或辨认比对。 6、补光灯装置其余注意事项,补光灯装置过程中,须要思考到过往人员的情绪,补光灯最好不要直射人员眼睛,光照强度不可太强,免得用手遮挡脸部,影响采集。 官网:http://www.jisucx.com 公众号:极速佳

December 1, 2021 · 1 min · jiezi

关于监控:智慧工地系统数据集成管理解决方案

智慧工地零碎交融了计算机技术、物联网、多媒体技术、网络技术、视频解决、大数据、云计算等技术,以PC、手机、机器人三位一体的形式为企业现场工程治理提供先进的技术手段。建设智能化的现场监控零碎,能够无效补救传统办法和技术在监管方面的缺点,实现对人、机、物、法、环境的爱护。 建筑施工具备生产规模大、生产场合固定的显著特点。同时,随着工程建设规模的不断扩大和工艺流程的复杂化,如何做好现场治理,管制事变产生频率,始终是施工企业和政府治理部门关注的焦点。然而,因为传统施工现场治理劳动密集、治理粗放的特点,导致了以下问题尤为突出: 1、现场施工人员学历低,素质低。 2、因为各种起因,他们会不辞而别,有不良的纪律,有的会偷东西,而后化为泡影。 3、许多由非凡操作员操作的机器是由无执照的人员操作的。 4、随着生存物资价格上涨,人工成本大大增加,先不算事变,就是企业十分关怀如何提高效率,降低成本。导致有人猝死。 5、企业谋求利润,信息化建设能够帮忙企业在各方面、各环节提高效率、节约老本。但目前业余企业不多,大多只波及某些方面。 工地监管方面: 在施工现场,即施工现场,如何保障施工品质、施工人员的人身安全以及施工现场建筑材料和设施的财产平安,不仅是施工企业管理者的头等大事;同时,也是政府监督管理部门亟待解决的问题。 建设方:每个修建企业或者是开发商在地市都会有很多的建筑工地,这些工地散布很散,很难有足够的人力和精力去频繁的到现场去监管、查看,所以造成治理上的艰难。 监督方:在省,每个市,甚至每个县,都有至多数百个在建的建筑工地,并且这些工地散布很散,进度不一,监管部门很难有足够的人力和精力频繁的到现场去监管、查看,所以造成监督艰难。 智慧工地智能监控零碎架构图: 智慧工地智能视频监控零碎: 智慧工地智能视频监控零碎是针对施工现场环境开发的视频监控零碎。专门用于监控施工现场、施工设施运行、车辆进出及施工环境。通过在施工现场、围场、生活区、资料堆放区、施工设施等重点区域装置高清网络摄像头,24小时高清视频监控可无效遏制施工现场违规操作,帮忙施工单位进行危险预警,无效发现问题,消除隐患。 智慧工地视频监控的具体用途: 1、智能工地零碎中的视频监控性能能够对施工现场的相干人员进行监控。通过24小时视频可视化行为监控,进一步强化施工人员素质,发展活体检测智能辨认,避免外来人员入侵和非法侵入危险区域和仓库。 2、科技危险预警,确保施工人员平安。对塔吊、电梯等重要品质安全隐患点进行监控,能够增强对作业人员的平安防护,智能剖析海量高清视频图像,及时对工人进行人群汇集、危险作业的警示,确保施工平安。![“智慧工地零碎”数据集成治理解决方案](/img/bVcWnVw)3、对云端存储的视频数据进行全方位监控和追溯。通过视频监控零碎及时理解施工现场的实时状况、施工动静和进度;监控施工现场建筑材料和设施的平安。视频材料反对云存储,便于调查取证,防止物品失落或被盗给企业造成损失。提前及时做好记录,事件产生立刻报警,预先迅速调取证据图片。 4、智慧工地语音播报,增强施工监管。通过监控设施的播送性能,操作人员能够依据监控摄像头的监控画面,对外人的闯入、戴头盔、危险操作等不良行为进行正告,该正告能够由指定的监控设施或所有监控设施进行播送。 5、车辆自动识别,增强车辆智能化治理。通过视频监控零碎,能够疾速辨认进出车辆的车牌号,将车辆注销由以往的纸质注销资料改为网上主动注销,大大优化了车辆进出的成果,避免外来车辆随便进入,保障了施工有序进行。此外,依据报名工夫,能够疾速定位进出场地资料的工夫屏幕,进步对进出场地资料的治理。 近程视频监控零碎的利用能够随时把握施工的标准化水平,杜绝不标准的工序,从根本上保障施工品质。管理人员不须要去施工现场通过网络视频同步查看施工现场的标准化状况。依据现场状况,能够更好地实现施工现场的人、机、料一体化,显著进步工程质量,保障施工平安,做好老本管制,推动施工现场治理向数字化、精细化、智能化方向倒退。 官网:http://www.jisucx.com 公众号:极速佳

December 1, 2021 · 1 min · jiezi

关于监控:阿里云云治理中心正式上线助力企业快速云落地

简介:2021年11月1日,阿里云"云治理核心"(Cloud Governance Center)产品正式上线,云治理核心是基于企业IT治理的最佳实际,帮忙客户疾速搭建业务上云的规范Landing Zone(上云登陆区),实现各组织和团队在云上的良好协同、升高危险和晋升效率,最大化地施展云计算所带来的价值。视频解读:https://yqh.aliyun.com/live/cloud\_governance\_center 2021年11月1日,阿里云"云治理核心"(Cloud Governance Center)产品正式上线,云治理核心是基于企业IT治理的最佳实际,帮忙客户疾速搭建业务上云的规范Landing Zone(上云登陆区),实现各组织和团队在云上的良好协同、升高危险和晋升效率,最大化地施展云计算所带来的价值。 云治理核心通过汇合阿里云多账号财资、网络、合规、平安以及其余治理能力,主动设置Landing Zone,依据最佳实际构建平安合规的多账号环境,帮忙企业客户疾速登陆阿里云,同时用户能够设定基线对企业云上环境进行继续的治理和治理。 具体来说,云治理核心具备以下外围性能: 1.搭建个性化适配计划 云治理核心通过对客户现状的探查剖析,查看前置依赖条件,依据客户现状匹配实用计划。通过步骤式疏导客户实现搭建,达成最佳实际配置。 2.自动化配置多账号环境,设立合规基线 云治理核心为客户自动化设置Landing Zone,并可能根据客户设置的账号身份、合规、网络、平安和监控基线,构建平安合规架构欠缺的多账号环境。 3.疾速创立账号 无需繁琐的申请流程,通过云治理核心能够在资源目录构造内疾速创立企业账号,并依据基线主动进行初始化配置,交付具备根底合规环境的账号。 4.可视化继续治理 云治理核心通过对治理规程进行全监控,依据资源目录构造聚合企业各账号的治理现状,实现对多账号构造、基线规定、合规状况治理状态的继续跟踪。 阿里云该产品负责人泊无示意,“云治理核心向企业客户提供便捷敌对的Landing Zone向导,帮忙企业升高学习门槛,实现疾速搭建一个平安合规的IT治理环境。” 近几年随着数字经济时代的到来,企业上云过程放慢,但在取得云高效的同时,企业IT治理不善和治理缺失,也会将带来身份权限、老本失控、平安合规等隐患危险。所以在上云初期进行对立的治理治理与布局,能力让企业的上云过程更加顺畅。阿里云继续在TO B企业服务和IT治理畛域长期深耕,一直晋升本身产品和解决方案的能力,助力企业真正实现上好云、管好云。 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

December 1, 2021 · 1 min · jiezi

关于监控:别墅安防系统解决方案

随着当初人们的生存程度越来越高,不少人为了享受更美妙的寓居环境,抉择购买。别墅的业主不仅谋求高质量的生活品质,对别墅的平安也尤为器重。而一套的监控计划是保障家人和房子平安的无效措施。上面就和大家分享一套安防工程「别墅安防解决方案」有线网络、无线Wi-Fi和安全监控体的一体化网络解决方案。 别墅建网时,庭院会从好看、简洁、实用等几个方面思考,有以下要求: 1.实现庭院、别墅全方位无线笼罩,反对无线漫游; 2.网络稳固牢靠,主机网络与访客网络隔离; 3.监控设施采纳规范PoE模式供电,节俭布线老本,美观大方; 4.安装简单,摄像头集中控制形式简略; 5.反对预览、存储、回放、报警触发设置等。,可实时近程监控; 6.网络档次简略,治理不便,易于保护。 二、用户构造 网络的用户构造次要分为家庭成员和访客,权限如下: 连贯的客户网络是不同于主任网络的无线网络。连贯后,只能拜访内部网络,不能拜访连贯到主机网络的设施,从而保障了外部网络的安全性。 方案设计 网络拓扑 个别别墅的庭院面积较大,应在庭院四角安排摄像头进行死角监控,并利用室外AP进行无线笼罩。室内客厅等绝对宽阔的区域用吊顶式AP无线笼罩,卧室能够用面板式AP笼罩。但别墅、车库、阳台入口处应装置摄像头,进行实时监控。 拓扑中应用了PoE交换机、PoE AP和PoE IPC(网络摄像头)。交换机通过网线为AP和IPC供电,能够防止额定布线。如果网络中有无线路由器和一般交换机,能够抉择DC供电的IPC。 装置部署 上面对监控点位装置进行领导: 院内设有圆柱摄像头,可进行广角监控,对外观有震慑作用。可依据庭院大小装置多个摄像头,造成无死角监控;别墅的入口、车库、阳台都装有红外半球摄像头,玲珑好看,能够吊顶,也能够壁挂。 提醒:以上几点依据典型别墅庭院正当举荐,相应地点能够依据理论环境进行增删。 计划特色 通过上述方案设计,能够实现无线网络和监控网络的根本要求,具备以下显著特点: 针对性强 计划中的设施抉择充分考虑了别墅庭院的理论需要和老本思考。比方PoE电源能够在一条网线上同时传输数据和供电,充分考虑别墅对好看布线的要求;以及吊顶式AP和面板式AP相结合实现无线笼罩,外观美观大方,合乎别墅装修格调。 功能丰富 在无线方面,TP-LINK无线路由器能够额定设置客户网络,并将其与主机网络隔离。在监控方面,能够设置视频打算、视频遮挡、静止检测、回放和视频导出。主动切换红外昼夜模式,能够保障全天候监控,同时应用手机APP能够随时随地进行近程监控。 方便管理 无线路由器和监控设施有独立的WEB配置界面,以设置向导为领导,易于配置。视频监控记录仪的图形界面十分易于治理,具备主动发现、一键配置和故障定位等性能,为治理、管制和应用提供了便当。 适应性强 户外AP采纳业余户外外壳设计,装备防尘防水设施,可适应各种顽劣环境。但监控摄像头为IP67工业防尘防水,在顽劣环境下仍能失常工作。 商城:http://www.xmjisujia.cn 公众号:极速佳

November 29, 2021 · 1 min · jiezi

关于监控:监控摄像头频繁掉线处理办法

理论工作中,装置了监控摄像头后,工作失常,忽然掉了下来。过了一会儿,我又上线了,而后在你不留神的时候莫名其妙地掉了下来。让咱们很怄气。那么该如何解决网络摄像头或网络设备网线频繁断线的问题? 网络监控设施掉线解决解决办法 首先咱们应该先查看设施自身的电源是否稳固牢靠,是否是因为设施自身的供电有余导致一直重启设施。 第二,查看网线设施所连贯的开关,尤其是当监控网络成批掉落时。咱们首先要查看交换机设施自身是不是有故障,是因为交换机自身故障,咱们应该更换交换机。 第三,咱们须要查看从网线掉线设施到交换机的网线长度。如果网线超过100米,如果超过100米传输间隔咱们应该思考是不是网线过长导致网络掉线,这里咱们须要加装网线缩短器。 第四,查看网线品质和水晶头品质。在理论工程中,咱们遇到过网线传输间隔只有60米时摄像头频繁脱落的状况。起因可能是网线接头品质不够,网线接头的走线程序不对,网线自身品质不合格。这里咱们应该须要更换更好的网线。 如果是因为软件故障导致的监控设施掉线,咱们能够重启监控设施,还原监控设施出厂设置,解决该项问题。 最初,如果以上起因都排除的话,咱们应该去思考是不是摄像头自身是否有问题。 官网:http://www.jisucx.com 公众号:极速佳

November 29, 2021 · 1 min · jiezi

关于监控:智能化监控可以分为几大类型

随着海量摄像头的前端监控部署,从后端向前端智能迁徙的趋势不可避免。AI技术在人脸识别、车辆辨认、交通统计、人体属性辨认等方面获得冲破。,并已用于平安摄像头。在厂商产业的推动下曾经进入产业化,感知智能时代行将到来。 监控从模仿视频监控时代到当初的智能化视频监控时代。但在安防摄像头的疾速倒退中,也遇到了一些新的问题,例如:智能性能的监控摄像头品种繁多,摄像头智能定义不一样,标准不对立,明天咱们就来理解一下智能化时代监控摄像头性能的定义,理解一下当初智能化监控的几大类型。 智能化监控摄像头定义分类第一类 人脸/人像剖析,人脸、人像等指标信息的自动检测与辨认剖析,包含人脸检测与属性辨认、人像检测与属性辨认、人脸识别等。 第二类 车辆剖析,自动检测和辨认车辆和交通流状态等交通指标信息的能力,包含机动车检测和特色辨认、交通流统计和非机动车检测和辨认等。 第三类 事件剖析,可能自动检测和剖析场景中的行为事件,包含区域异样闯入行为等。 智能安防摄像头指标依据不同剖析工作、不同利用场景、计算资源耗费等综合因素,将人脸/人像剖析指标从低到高分为一级、二级、三级。车辆剖析指标分为一级和二级;事件指示器不分级。 该规范依据感知和适应性提出根本要求,定义了视频品质诊断与解决、图像检测(静止检测、视频遮挡检测)等能力指标。,以便及时反映摄像头的运行状况,发现故障并检测歹意遮挡和毁坏行为。 同时,该标准规定了各智能指标性能项的评估办法和测试样本集要求,为建设摄像机智能指标评估环境提供了规范根据和领导。 以上就是智能化监控的分类,而数字化、智能化、网络化也将是社会保障的必由之路。 官网:http://www.jisucx.com 公众号:极速佳

November 27, 2021 · 1 min · jiezi

关于监控:液晶拼接屏在监控显示系统中的应用及优势

平安始终是社会和企业生存和倒退的根底。无论是公安、交通、部队、社区、街道、商场、学校等。只有波及到平安,就离不开视频监控,而它离不开拼接屏显示产品来保障其安全性。 传统的显示器或电视尽管也能实现监控显示性能,但不是业余的监控显示设施,长时间应用容易呈现面板烧坏等问题,综合显示性能不够全面。尽管有业余的DLP背投屏,然而价格贵,亮度太低,性价比不高。因而,鉴于此,液晶拼接屏的劣势得以展示。 方案设计 咱们在后期设计中要思考一系列问题,包含前端监控摄像头、传输、解码平台、大屏幕拼接的数量等。只有将所有设施整合起来,施展各自的性能,能力达到用户想要的显示成果。 一、高清监控IPC的抉择 随着高清IP摄像机的倒退和产业链的成熟,整个行业曾经从传统的模仿DVR加矩阵解决方案减速向高清化、IP化解决方案迈进。在设计和构建新一代高清监控零碎时,咱们必须从零碎的角度全面思考高清监控零碎的各个方面,而不仅仅是一个组件。残缺的根底高清IP监控解决方案包含高清监控终端(包含高清IPC和高清编解码器)、高清NVR(网络视频录制零碎)、管理软件、高清显示零碎和高清网络交换机的抉择。 针对平安工程、智能交通、高端智能建筑、大型企业园区、电力金融等高端业余监控市场的支流需要,咱们能够抉择栓机、球机、半球机,尽量抉择H.265规范算法的设施,以200万像素以上为主,能够无效保障视频图像的画质,尤其是当咱们放大的时候,能够更清晰的看到内容。 二、监控拼接屏 整个大屏幕拼接显示零碎的最终输出设备次要采纳液晶拼接屏和DLP拼接显示屏两种,其中以液晶拼接屏为主。目前市场上次要采纳三星和LG面板,尺寸别离为46、49、55、65,两侧拼接范畴为5.3-3.5mm、1.8/1.7mm、0.88mm,能够依据不同的应用需要实现屏幕宰割。 如果在大型公安监控指挥核心应用,能够在所有视频图像的屏幕显示中独自调出某个视频信号进行放大查看。须要留神的是,在抉择大屏幕拼接的数量时,首先要联合装置空间的大小,其次要思考监控画面的数量,在满足屏幕同时显示的要求的同时尽量放大宰割画面的数量。 三、传输终端 传输终端是指从IPC到交换机和NVR的线路抉择,能够依据摄像头终端到显示终端的间隔,通过双绞线或光缆进行传输。个别传输间隔小于100米的,网线能够间接传输,如银行监控、工厂生产、家庭监控等。如果传输间隔超过100米甚至几公里远,就须要用光缆通过光纤收发器进行收发,从而达到将光信号转换成数字信号的性能。 四、NVR的抉择 NVR包含模仿和数字双接入模式的混合式NVR,全数字式NVR和分体式NVR(治理平台加存储设备)三类。能够依据所要存储图像的工夫,IPC的数量进行正当的抉择。 五、解码平台 解码平台的性能是对前端监控图像进行压缩解码,对大屏幕拼接显示进行监控。一般来说,解码平台是大型监控显示零碎必不可少的产品。除了实时解码性能外,还具备矩阵切换性能,能够更好地治理图像。 官网:http://www.jisucx.com 公众号:极速佳

November 24, 2021 · 1 min · jiezi

关于监控:影响无线监控系统视频稳定的因素分析

对于监控系统工程,总会有一些布线艰难或不可能的应用环境。这个时候,无线视频监控就显得尤为重要,即便有线也无奈代替。从无线组网方面来看,部署的监控点须要依据具体需要扩散或集中,须要思考对所有监控点的对立接入和治理,以保障无线网络的平安稳固运行。那么小编就在这里跟大家分享一下影响无线监控零碎稳固的因素。供大家参考。(从传输与硬件两大方面剖析) 一、传输方面 1、无线带宽 无线网络的带宽远远小于有线网络。在有线网络系统中,视频监控零碎的可用带宽很容易达到70Mb/s到700 MB/s之间,在无线网络零碎中,通常的带宽不高于5Mb/s到25 MB/s。 依据视频监控零碎的特点,次要是上传的视频数据量大,而管制数据流等上行数据流绝对较少。提出无线视频监控零碎时,次要计算上行带宽,上行带宽决定了摄像机的接入数量。此外,环境因素通常会影响带宽,而有线网络受环境的影响比无线网络小得多。只有当无线网络信号最强时,能力实现其规范带宽。如果有任何障碍物或天线轻微挪动,无线网络信号可能会显著衰减。例如,11Mb/s的无线网络只能为视频流提供5.5Mb/s的带宽。然而,一般来说,无线网络带宽只有2.75 MB/s。 然而随着无线技术的倒退,IEEE 802.11ax技术(WiFi6技术)正在引领无线走向更快、更高、更强的利用。在理论的视频监控测试中,基于IEEE 802.11ax技术的AP能够实现11 Gbps/s的稳固传输 速度。这就意味着IEEE 802.11ax技术无线传输能够十分好地补救无线带宽有余导致的信号不稳固。 2、无线信号烦扰 因为无线技术是基于微波的,视频数据是通过附着在无线微波上传输的,因而无奈提前预测地面是否存在杂波烦扰,在理论利用中信号烦扰十分广泛。 3、无线信号衰减 在同样线材下,馈线越长,信号衰减越重大,接管天线传输到接收机的射频信号损失越大,导致信噪比减小,重大影响音频品质。 4、无线数据安全 无线流传,传输意味着无线网络传输的数据很有可能被截获,这会给敏感的视频数据带来很大的危险。如果竞争对手或歹意采取非法措施,通过拦挡无线信号,解密无线传输的内容绝对简略。 因而,在安防无线视频监控零碎的利用中,除了保障监控设施长时间无故障运行的能力外,视频数据在无线传输链路上的安全性也是不可漠视的一部分。只有通过防盗性能、防篡改性能等加密伎俩,能力保障最终数据的无效和平安。 作为有线视频监控的无效补充,无线监控解决方案使视频监控的组网计划更加灵便、经济,而视频监控服务则使无线服务的利用更加丰盛、智能。 5、电压问题 整个零碎中的各种设施都须要电源能力工作。如果摄像头电压不稳固,图像中会呈现水波纹。无线网桥的电压不稳固,会导致信号强度削弱,图像在某一时刻不稳固,长期影响无线监控设施的使用寿命。因而,咱们必须保障电源电压的稳固。 二、硬件方面 1、监控摄像头 网络摄像机和模仿摄像机的区别在于,网络摄像机不仅捕获图像,还会在网络传输前对这些图像进行压缩。图像品质与前置镜头、图像传感器和压缩芯片的抉择无关。网络摄像头的分辨率、镜头品质以及系统对低环境照度的适应性都会影响零碎的图像品质。摄像头的清晰度越高,图像清晰度越好,但清晰度越高,占用内存空间也就越大。对无线监控设施的带宽要求就越高。 2、线材 在无线监控零碎中,会用到网线,网线的好坏将间接影响监控画面的品质。目前大多数摄像头都是高清的,如果用一般网线搭建视频监控零碎,信号衰减会很大。因而,须要应用超五类乃至六类以上的网线进行传输,能力保障前端的图像品质可能不衰减地传输到监控核心,保障视频信号的稳定性。 3、网桥 因为是无线监控零碎,无线传输须要无线网络,最罕用的设施是无线网桥。高性能的无线网桥能够保障这种视频信号的稳固传输,不会呈现图像提早,有时甚至没有图像。抉择无线网桥时,要思考它的抗干扰能力。如果抉择抗干扰能力差的无线网桥,图像信号在传输过程中可能会受到其余电磁波的烦扰,图像品质也会受到影响。无线监控设施在传输前端图像时,还必须思考前端摄像头的带宽。如果前端数据比拟大,无线网桥无奈满足其带宽要求,那么必定会呈现图像卡顿、图像暂停、有时无图像等景象。 4、交换机的带宽 交换机很容易被忽视。很多人认为交换机只是数据交换的性能,不须要任何信号处理。然而如果交换机带宽不够,交换机则有可能在运行一段时间后呈现数据梗塞,导致收不到信号。 当然了,影响无线监控零碎中图像品质的起因有很多,以上列举的是常见的起因。 商城:http://www.xmjisujia.cn 公众号:极速佳

November 23, 2021 · 1 min · jiezi

关于监控:IP摄像头可以用在哪里如何用PoE交换机部署IP摄像头

起初只有大企业有经济能力应用IP摄像头监控零碎,但当初IP监控零碎在日常生活中无处不在,因为IP摄像头和PoE交换机的价格大幅降落,所以很多人尝试搭建小型IP监控零碎来爱护本人的财产平安。那么,IP摄像头监控零碎能够用在哪里呢?如何用PoE交换机部署IP摄像机?本文将具体答复这些问题。 PoE交换机部署IP监控摄像机的利用场景 应用PoE交换机部署IP摄像头能够节省时间和网络老本;同时,IP摄像头的装置地位不受电源插座的限度,装置更加灵便不便。基于此,PoE交换机与IP摄像头的单干模式被广泛应用于各行各业,如家庭安防监控帮忙用户监控财产平安;交通监控能够近程监控火车站、高速公路、机场的平安;工业监控能够监控生产过程、仓库治理等。那么,如何用PoE交换机部署IP摄像机呢?这个问题前面会答复。 PoE交换机如何部署IP监控摄像头? 无论您抉择哪种类型的PoE交换机或IP摄像机,连贯办法和用法基本相同。您能够依据理论须要购买所需的监控设施,并装置在不同的地位。这里以家庭安防监控的利用为例,具体解说PoE交换机与IP摄像头的连贯步骤。 1.筹备好装置工具 筹备好装置摄像头配套整机,钳子、螺丝刀、摄像头、摄像头充电器、摄像头支架、底盘、水晶头,网钳。 2.确定好IP摄像头装置地位 个别家庭网络中,IP摄像头的装置高度不宜过低,以防意外损坏。对保护来说不能太高。因而,倡议室内装置高度高于2.5米,IP摄像头与PoE开关的间隔管制在100米以内。把筹备好的摄像头固定在支架上。装置时须要防止强光,防止照成过亮的景象。 3.装置固定的IP摄像头 装置地位确定后,在该地位钻孔装置IP摄像头。确保IP摄像头支架在墙上牢固稳固,避免画面晃动,适当调整IP摄像头角度,获得最佳监控角度。 4.确定用于连贯IP摄像头的网线的装置地位。 IP摄像机装置地位确定后,在左近适当地位钻孔,预埋网线接口地位。如果须要在二楼或三楼装置IP摄像头,请思考应用最优路由计划,即装置点到最近的网络接入点的间隔最短。 5.将IP摄像头连贯到PoE交换机 实现前三步后,您须要连贯您的家庭IP监控零碎设施。一个残缺的IP监控零碎通常由PoE交换机、IP摄像机、网络录像机(NVR)、监控显示设施(如电脑、电视等)组成。)和以太网电缆。下图为例: 将电源线插入PoE开关的电源插座并关上; 用以太网电缆连贯PoE交换机和路由器,确保交换机能够上网; 应用以太网电缆将IP摄像机连贯到PoE交换机的PoE端口;PoE交换机通过以太网电缆为IP摄像头供电,传输数据; 应用以太网电缆连贯PoE交换机和NVR,应用VGA或HDMI高清线连贯NVR和显示器显示设施。连贯时请留神相应的接口。 IP摄像机零碎调试接下来须要对设施进行调试,首先主机须要激活会提醒你设置一个明码,明码设置实现后,找到配置的网络配置设置一下ip地址,ip设置实现后,找到通道治理,会发现未激活的设施,失常状况间接点激活就增加胜利了。 当然设施装置中因为不同的品牌会有大同小异的差别,操作界面有些中央不一样,须要多钻研一下,或者间接征询厂家领导调试。 商城:http://www.xmjisujia.cn 公众号:极速佳

November 23, 2021 · 1 min · jiezi

关于监控:视频监控系统如何进行日常维护

做好监控保护工作,技术人员首先要理解和相熟整个监控零碎的构造和组成,在主控室内一一统计有问题的监控设施,并做好记录。其次,要把握各种监测安装的构造和工作原理。还须要现场查看各监控设施的装置环境,是否具备可操作性。视频监控设施的保护是一项艰巨而简单的零碎工作。技术人员应遵循监控设施分类-制订保护打算-施行保护的程序,将简单繁琐的程序转化为有序清晰的工作。把握了以上状况后就要开展后续相应的筹备工作。 一、视频监控零碎的日常保护办法如下 为了做好监控设施的保护工作,保护核心装备了相应的人力物力(工具、通讯设备等)。负责监控零碎的日常监控、保护、服务和治理,承当设施的保护服务,确保监控零碎长期、牢靠、无效运行。 二、保护根本条件 监控零碎失常设施保护所需的根本保护条件应满足“四个要求”,即备件、配件、工具、仪器。 1.充沛配备 一般来说,对于每个零碎的保护,都必须建设相应的备件库,次要存储一些损坏后无奈立刻修复的重要设施,如相机、镜头、显示器等。一旦设施呈现故障,可能会使零碎无奈失常运行,必须及时更换。因而,必须有肯定数量的备件,备件仓库的库存必须依据设施是否保护以及设施运行周期的特点不断更新。 2.残缺的附件 配件次要是设施中各种分立元件和模块的附加配置,能够筹备得比拟多,次要用于设施保护。罕用的配件次要包含各种集成电路芯片和电路所需的各种电路分立元件。其余较大的设施必须装备某些功能模块,以备紧急应用。这样,培修后,投资少就能产生良好的效益,为设施更新节俭大量资金。 3、工具与仪器。 要常常保护设施,须要配置罕用的保护工具和仪器,如钳子、螺丝刀、测试笔、烙铁、胶带、万用表、示波器等。如果有必要,应该随时增加,如果有必要,还应该本人制作模仿载荷等测试工具。 三、监控保护工作查看事项 做好相应的筹备后,就要开始对监控设施进行保护,针对不同的监控设施进行相应的保护工作。个别应从以下几点进行检查和保护。 (l)电源:解码器的电源端口电压是否能失常输入; (2)链路:查看链路是否通顺,定期用业余的检测仪器检测传输链路的性能,确保畅通。 (3)视频信号:从摄像头一步步查看对应的视频信息,判断视频线路是否存在隐患。如线头是否松动或脱落、视频线老化或侵蚀等。及时修理或更换上述景象。 四、设施保护中注意事项 在对监控零碎设施进行保护过程中,应答一些状况加以防备,尽可能使设施的运行失常,次要需做好防潮、防尘、防腐、防雷、防烦扰的工作。对于监控零碎的各种采集设施,因为设施间接搁置在多尘环境中,会对设施的运行产生间接影响,因而须要重点保护防潮、防尘、防腐蚀。 如果相机长时间挂在棚底,防护罩和防尘玻璃上很快就会笼罩一层灰尘、碳灰等的混合物。,脏、黑、有腐蚀性,重大影响观看成果,造成设施损坏。 因而,有必要做好摄像头的防尘防腐保护工作。在一些湿度较大的中央,须要在保护过程中调整装置地位和设施爱护,以进步设施自身的防潮能力,同时要常常采取除湿措施,解决高湿度地区的防潮问题。 只有从事过机电系统安全保护的人都晓得,雷雨天气到来时,设施被雷击的状况不足为奇,对监控设施的失常运行造成极大的安全隐患。 因而,监控设施在保护过程中必须高度重视防雷。防雷措施次要是做好设施接地的防雷接地网,依照等电位体计划做一个独立的接地电阻小于1欧姆的综合接地网,杜绝弱电零碎防雷接地与电力防雷接地网混用的做法。 避免烦扰,布线时应次要保持强弱电离开的准则,将电力电缆与通信电缆、视频电缆离开,严格遵循通信、电力行业的布线标准。 五、监测保护工作实现后的注意事项; 视频监控保护工作发展实现后,应做好相应的记录,建设技术文件,填写保护记录,为查看后的保护工作提供材料和良好的根底。 商城:http://www.xmjisujia.cn 公众号:极速佳

November 20, 2021 · 1 min · jiezi

关于监控:监控安防工程中即使用光纤也会对信号进行衰减你知道吗

在当今监控安防工程利用中,光纤简直是所有连贯形式中可能提供最佳带宽性能的一种。当应用光纤传输零碎时光纤传输零碎能够将图像传输到很远的中央,而不会有任何模式的信号失真,更不用说图像的清晰度或细节了。能够说,光纤传输零碎是整个监控零碎的生命线。然而光纤也会信号衰减衰减你晓得吗?上面咱们就来理解一下: 一、什么是光衰减 当光从光纤的一端射入,从另一端射出时,光的强度会削弱。这表明光纤中有一些物质或因为某种原因,妨碍了光信号的通过。这是光纤的传输损耗。只有缩小光纤损耗,光信号能力畅通。 二、造成光纤衰减的次要因素 本征:是光纤的固有损耗,包含:瑞利散射,固有排汇等。 蜿蜒:光纤蜿蜒时局部光纤内的光会因散射而损失掉,造成损耗。 挤压:光纤受到挤压时产生渺小的蜿蜒而造成的损耗。 杂质:光纤内杂质排汇和散射在光纤中流传的光,造成的损失。 不平均:光纤资料的折射率不平均造成的损耗。 对接:光纤对接时产生的损耗,如:不同轴(单模光纤同轴度要求小于0.8m),端面与轴心不垂直,端面不平,对接心径不匹配和熔接品质差等。 当光从光纤的一端进入,从另一端射出时,光的强度会削弱。这意味着在光信号通过光纤流传之后,光能被局部衰减。这表明光纤中有一些物质或因为某种原因,妨碍了光信号的通过。这是光纤的传输损耗。只有缩小光纤损耗,光信号能力畅通。 三、光纤损耗的分类 光纤损耗可分为固有损耗和额定损耗。 固有损耗包含散射损耗、排汇损耗和光纤构造不欠缺引起的损耗。 额定损耗包含微弯损耗、蜿蜒损耗和连贯损耗。 (1)额定损失 光纤敷设过程中人为造成额定损耗。在理论利用中,不可避免地要一一连贯光纤,光纤连贯会造成损耗。光纤的轻微蜿蜒、挤压和拉伸也会造成损耗。这些都是光纤应用条件造成的损耗。次要起因是在这些条件下,光纤芯中的传输模式产生了变动。能够尽可能防止额定的损失。 额定损耗包含微蜿蜒损耗、蜿蜒损耗和连贯损耗。 光纤蜿蜒有两种模式: 曲率半径远大于光纤的直径,咱们过来称之为蜿蜒或宏观蜿蜒;光纤的轴蜿蜒到微米级,这种高频蜿蜒习惯称为微弯。 (2)固有损失 在固有损耗中,散射损耗和排汇损耗是由光纤资料自身的个性决定的,不同工作波长引起的固有损耗也是不同的。理解损耗的机理,定量分析各种因素造成的损耗,对于倒退低损耗光纤、正当应用光纤具备重要意义。 1、光纤结构不均 光纤构造不完满,如气泡、杂质或光纤中的厚度不平均,特地是纤芯和包层之间的界面不平均等。,当光线达到这些中央时,一部分光线会向五湖四海散射,造成损耗。这种损耗能够通过一些伎俩来克服,即改良光纤的制作工艺。散射使光向各个方向辐射,其中一部分散射光沿与光纤流传方向相同的方向反射回来,可在光纤的入射端接管。光的散射导致一部分光能损失,这是不心愿的。然而,这种景象咱们也能够利用,因为如果咱们剖析发送端接管到的光的强度,就能够查看出这种光纤的断点、缺点和损耗。 2、光纤的散射损耗 光纤外部的散射,会减小传输的功率,产生损耗。散射中最重要的是瑞利散射,它是由光纤资料外部的密度和成份变动而引起的。 光纤资料在加热过程中,因为热动乱,使原子失去的压缩性不平均,使物质的密度不平均,进而使折射率不平均。这种不平均在冷却过程中被固定下来,它的尺寸比光波波长要小。光在传输时遇到这些比光波波长小,带有随机起伏的不平均物质时,扭转了传输方向,产生散射,引起损耗。另外,光纤中含有的氧化物浓度不平均以及掺杂不平均也会引起散射,产生损耗。 3、波导散射损耗 这是因为交界面随机的畸变或毛糙所产生的散射,实际上它是由外表畸变或毛糙所引起的模式转换或模式耦合。一种模式因为交界面的起伏,会产生其余传输模式和辐射模式。因为在光纤中传输的各种模式衰减不同,在长距离的模式变换过程中,衰减小的模式变成衰减大的模式,间断的变换和反变换后,尽管各模式的损失会平衡起来,但模式总体产生额定的损耗,即因为模式的转换产生了附加损耗,这种附加的损耗就是波导散射损耗。要升高这种损耗,就要进步光纤制作工艺。对于拉得好或品质高的光纤,基本上能够疏忽这种损耗。 4、光纤蜿蜒产生的辐射损耗 光纤是柔软的,能够蜿蜒,可是蜿蜒到肯定水平后,光纤尽管能够导光,但会使光的传输路径扭转。由传输模转换为辐射模,使一部分光能渗透到包层中或穿过包层成为辐射模向外透露损失掉,从而产生损耗。当蜿蜒半径大于5~10cm时,由蜿蜒造成的损耗能够疏忽。四、光纤损耗系数 衰减系数的定义为:每公里光纤对光信号功率的衰减值。 其表达式为:a=10 lg Pi/Po 单位为dB/km 其中:Pi 为输出光功率值(W 瓦特),Po 为输入光功率值(W 瓦特)。如果某光纤的衰减系数为a=3dB/km,则意味着通过一公里光纤传输Pi/Po= 10 0.3= 2后,其光信号功率值减小了一半。长度为L 公里的光纤总的衰减值为A=aL 。 对于单模光纤,依照0.18dB/km 的衰减。对于一个光信号,若通过EDFA 放大后输出功率为+5dBm ,其接收端的接收灵敏度若为-28dBm ,则放大增益为33dB ,除以衰减系数,除数间隔为33/0.18=183公里,思考老化等裕度,可传输120km 以上。 官网:http://www.jisucx.com 公众号:极速佳

November 20, 2021 · 1 min · jiezi

关于监控:DVR录像机与NVR录像机有什么区别

在监控装置工程中咱们常常会用到录像机,而咱们用的录像机有DVR和NVR录像机,那么在装置监控的时候,你们是否有在想。监控装置的为什么咱们须要去抉择,是用DVR监控的录像机还是去装置NVR监控的录像机。你晓得两者有何区别吗? NVR是连贯IP摄像头的录像机,IP摄像头分为CIF/D1一般IPC和数字百万高清IPC;DVR的录像成果取决于摄像机和DVR自身的压缩算法和芯片解决能力,而NVR的录像成果次要取决于ip摄像机,因为IP摄像机的输入是数字压缩视频。当视频达到NVR时,不须要模数转换或压缩,只须要存储,只有在显示和回放时才须要解压缩。 一、DVR录像机 DVR也叫数字录像机或数字硬盘录像机,咱们过来称之为硬盘录像机。与传统的模仿录像机相比,它应用硬盘来记录视频,所以它通常被称为硬盘录像机,也称为DVR。它是一个用于图像存储和解决的计算机系统,具备长时间视频记录、录音、近程监控和管制图像/语音的性能。 DVR集成了录像机、画面分割器、云台镜头管制、报警管制、网络传输等五大性能。一个器件能够代替模仿监控零碎中很多器件的性能,逐步在价格上有劣势。 DVR采纳数字记录技术,在图像处理、图像存储、检索、备份、网络传输、近程管制等方面远优于模仿监控设施。DVR代表了电视监控系统的倒退方向,是目前市场上电视监控系统的首选产品。个别分为:硬盘录像机、PC硬盘录像机、嵌入式硬盘录像机等。 DVR不能反对IP摄像头。依照个别定义,叫DVR的产品个别不反对IP网络摄像头。数字DVR个别是指将模仿摄像机拍摄的视频数据转换成数字录音,不包含IP网络传输。依据定义,DVR智能地反对模拟信号的输出。因而,如果DVR反对IP摄像机,则须要将IP摄像机应用的解码器解码为上一节中的模拟信号,而后再输出到DVR中。 二、NVR录像机 NVR也就是网络硬盘录像机。NVR次要性能是通过网络接管IPC(网络摄像机)设施传输的数字视频流,并对其进行存储和治理,从而实现联网带来的分布式架构劣势。简略来说,通过Nvr,你能够同时观看、浏览、回放、治理和存储多个网络摄像头。解脱电脑硬件的解放,再也不必面对繁琐的软件装置。如果所有摄像头都联网,惟一的方法就是有一个集中的治理外围。 NVR次要性能是接管、存储和治理由IPC(网络摄像机)、DVS(视频编码器)等设施通过网络传输的数字视频流。它是一种视频记录设施,与网络摄像机或视频编码器一起应用,记录通过网络传输的数字视频。其外围价值在于视频中间件,宽泛兼容不同厂商不同数字设施的编码格局,从而实现了网络化带来的分布式架构和组件拜访的劣势。 NVR编码器能够反对模仿摄像机,编码设施的作用是将模仿摄像机的模拟信号转换成IP视频流,用于计算机网络传输。简直所有NVR都反对编码。 三、两者的区别 通过整顿以上信息,从概念上不难看出两者的区别。后者更依赖网络摄像头,更重视网络应用。艰深地说,NVR依赖于网络工作。然而DVR不行。硬盘能够放在DVR,NVR更相似于磁盘阵列,为IPC或DVS提供网络存储空间。与传统DVR相比,NVR具备部署灵便、安装简单、老本低廉的长处。 NVR是在DVR技术利用的根底上产生的,正如每一个新事物都是在总结前人教训的根底上产生的。通过整顿,在辨认和抉择记忆时就不会那么含糊了。依据本人的需要抉择适合的产品。 商城:http://www.xmjisujia.cn 公众号:极速佳

November 19, 2021 · 1 min · jiezi

关于监控:监控杆防雷系统设计方案

目前安防行业流传最多的“业余防雷厂家”设计是这样形容的:“前端设施,如摄像头应置于接闪器(避雷针或其它接闪导体)无效爱护范畴之内。从防直击雷的立杆避雷针,到防感应雷的“接地泄放雷电流”,然而这样的操作对安防工程的平安形成了重大威逼,等于装置了“定时炸弹”。那么咱们该如何建设一套欠缺的监控电线杆防雷零碎呢? 一、监控杆防雷零碎 1.监控杆防雷零碎 (1)前端局部:次要由摄像头、镜头、云台、防护罩、支架、解码器等组成。 (2)传输局部:利用电缆、电线通过架空、公开或沿墙敷设的形式传输视频、音频或管制信号; (3)终端局部:次要由画面分割器、监视器、管制安装、视频存储安装等组成。 2.视频监控遭雷击损坏的次要起因 (1)间接雷击:雷电间接击中室外摄像机,造成设施损坏或雷电间接击中架空电缆,造成电缆损坏。这次雷击造成的毁坏最为重大,但产生概率绝对较小。 (2)感应雷:又称二次闪电,它分为电磁感应和静电感应。当左近地区产生雷击时,雷击通道四周会产生弱小的瞬态电磁场。电磁场中的监测设施和输电线路会感应出较大的电动势,称为电磁感应。当带电的雷云呈现时,雷云下的建筑物和输电线路会感应出与雷云相同的电荷。这种景象叫做静电感应。感应雷造成的设施损坏没有直击雷大,但产生概率绝对较高,占古代雷电事变的80%以上。 (3)雷电波及:当进入监控零碎监控室的电源线、信号传输线或其余金属电缆被雷电击中或被雷电感应时,雷电波沿着这些金属导线/导体侵入设施,造成高电位差,设施损坏。 二、监控立杆防雷接地设计 1.家喻户晓,闪电的破坏力极强,其电压高达数百万伏特,霎时电流高达数十万安培。雷击造成的破坏性结果体现在以下三个层面: (1)设施损坏和人员伤亡; (2)设施或部件使用寿命升高; (3)传输或存储的信号和数据(模仿或数字)受到烦扰或失落,导致电子设备故障,使整个零碎瘫痪。 对于监测点来说,被直击雷毁坏的可能性很小。随着古代电子技术的一直倒退,大量精细电子设备的应用和联网,毁坏大量电子设备的罪魁祸首是感应雷击、过电压、操作过电压和雷电波侵入过电压。每年,各种通信控制系统或网络因雷击受损的状况并不少见,其中安全监控零碎因雷击受损,主动监控生效的状况时有发生。前端摄像头设计装置在室外,雷电防护系统必须设计装置在雷雨多发区域。 2.大多数室外摄像机装置有金属或水泥杆。这里简略介绍一下金属电杆的抉择要求: (1)监测杆为锥形钢杆,其中双臂监测杆立杆高10m,臂长1.5m,壁厚4mm;单臂高12米,长1.5米,厚4毫米。监测杆上直径80毫米,下直径200毫米。监控螺柱的臂为直径60毫米、壁厚3毫米的碳钢管; (2)热镀锌后,用专用设备对摄像头螺柱外表进行抛光,外表用活性碳酸漆和静电喷涂解决。镀锌层厚度≥85m,塑料层厚度≥85m,抗风能力≥45m/s,面层质保5年,摄像头螺柱质保20年,紧固件螺丝螺母采纳不锈钢材质; (3)室外机柜结构设计为室外防水箱。机箱高300毫米,宽200毫米,厚150毫米。箱体防护等级达到IP54防护等级。须要有底盘根底,整体好看,外表喷涂显著的警示标记,底盘离地高度不小于300mm。 前端摄像机次要分为两类:(1)每个摄像机均装置在比拟高的立杆之上,所以设施的直击雷防护必不可少。 做法:在每个立杆顶端均加装避雷针一根,依据滚球计算,避雷针的无效爱护范畴在三十度夹角范畴内,所以避雷针的高度,必须依照设施的装置地位计算。 (2)前端设施感应雷(包含过电压)的防护 为保障前端设施的长时间失常工作,应为各种信号装置匹配的浪涌保护器,并做规范的接地。 前端设施的接地防雷器的接地十分重要,如果接地没有做好,防雷器起不了爱护本人的作用,所以一个良好的接地是相当重要的.要求接地电阻应做到4欧姆以下。 前端设施接地的具体措施: 摄像机都装置在垂直杆上。如果现场土壤条件较好(石砂等不导电物质较少),可采纳立杆间接接地。坑大小为2000×1000×600mm,底部细土或湿土比例达到85%。用细土填实,而后垂直预埋1500mm×12mm的钢筋,浇筑混凝土,达到外表后预埋固定。混凝土齐全稳固后,回填四周细土,并保障肯定的湿度。最初,摄像机和避雷器的接地线能够间接焊接在垂直杆的接地电极上。做好防锈解决,并做好铭牌标记。 如果现场土壤条件不好(有很多石砂等不导电物质),就要用减少接地体接触面积的资料。应用减阻剂、扁钢和角钢等。具体措施: 后期在浇筑混凝土根底前,沿坑壁铺设厚150mm的耐化学性还原剂,其中预埋1500×40×40×3mm的角钢,用40×3扁钢沿立杆下拉(铁),避雷器和摄像机的地线与扁钢适当焊接,再将扁钢与公开角钢(铁)焊接。依据国家标准,接地电阻测试小于4欧姆。 三、内部防雷安装和外部防雷安装 外部放电安装的作用是升高建筑物内的雷电流和电磁效应,避免投射、接触电压、跨步电压等二次雷害。 防雷工程是一项系统工程,修建防雷设计有六个重要因素。旨在揭示人们全面、综合地思考修建防雷设计: 1.闪存连接功能: 实现防雷连接功能的必要条件,包含接闪器(避雷针、避雷带、防雷网)的模式、耐电流耐压能力、继续防雷连贯成果、老本和接闪器与建筑物的好看统一性等。 2、分流影响: 引下线对导流成果的影响。引下线的厚度和数量间接影响分流成果。如果引下线越多,通过每根引下线的雷电流就会越小,其感应范畴也会越小。引下线之间的间隔不应小于标准中规定的间隔。当建筑物很高,引下线很长时,应在建筑物两头减少均压环,以升高引下线的感应压降。这样既能分流,又能升高出击电压。 3、平衡电位: 它意味着建筑物的所有局部造成一个相等的电势,即等电位。如果能把修建内的构造钢筋和各种金属安装、金属管道连接成一个对立的导体,当然修建内就不会有不同的电位,这样能够保障修建内不会呈现出击和危及人身安全的接触电压或跨步电压,对于避免雷电电磁脉冲烦扰微电子设施也大有裨益。钢筋混凝土构造的修建,因为内部结构钢筋大部分是天然焊接或绑扎在一起的,所以实现等电位的条件最好。为了满足防雷安装的要求,避雷器应与梁、板、柱、根底牢靠焊接、绑扎或搭接,同时各种金属设施和金属管道应与其焊接或夹紧,使整个建筑物成为良好的等电位体。 4、屏蔽作用: 屏蔽的次要目标是爱护建筑物中的通信设施、电子计算机、精密仪器和主动控制系统免受雷电电磁脉冲的影响。建筑物中的这些设施不仅在防雷安装接驳雷电时会受到电磁干扰的影响,在雷击或左近接驳雷电时也会受到雷电波的电磁辐射的影响,即便其余建筑物接驳雷电时,也会受到来自那里的电磁波的影响。因而,应尽量利用钢筋混凝土构造中的钢筋,即建筑物的楼板、天花板、墙壁、梁柱中的钢筋,造成一个六面体的网笼,即笼型防雷网,以实现屏蔽。因为构造不同,墙体和楼板中的钢筋稠密而密集。当钢筋密度有余时,设计人员应依据各种设施的不同需要减少网格密度。良好的屏蔽不仅解决了等电位和分流两个问题,也是避免雷电电磁脉冲最无效的措施。此外,建筑物的整体屏蔽还能够避免球雷、侧滑和绕过雷的攻打。 5、接地成果: 指接地成果。良好的接地成果也是防雷胜利的重要保障之一。每栋楼都要思考哪种接地形式最好,最经济。笔者认为,当钢筋混凝土构造修建满足规范条件时,根底中的钢筋应作为接地装置。当不满足标准规定的条件或根底包裹在防水卷材层内时,可采纳环向接地装置,但环向接地装置应提前预埋在根底槽的最外侧局部(不来到建筑物3m)。接地体凑近根底中的钢筋,有利于均衡电位,同时能够节俭挖深沟所消耗的人力物力。根底实现后挖深沟,容易影响根底的稳定性。 对于木结构、砖混构造修建,必须做独立引下线,采纳独立接地形式。当土壤电阻率较高,应用接地极较多时,也可作为外围接地装置。因为轴向接地装置的冲击阻抗小于独立接地装置的冲击阻抗,有利于改善建筑物内的地电位散布,升高跨步电压。采纳独立接地形式时,钻孔深接地极(约4~12m)成果最好,深孔接地极容易达到地下水位,可缩小接地极用钢量。 6、正当布线: 指布线如何能达到最佳的综合成果。古代修建离不开照明、电力、电话、电视、电脑等管线。在防雷设计中,必须思考防雷零碎与这些管线的关系。为保障防雷安装接雷电时这些管线不受影响, 首先这些导线要穿入金属管内,实现牢靠屏蔽; 其次,这些线路支线的垂直局部应设置在高层建筑的核心,防止凑近用作引下线的柱杆,以尽量减小感应范畴。在有长管道或桥梁等设施的线路上,两端需接地; 第三,要留神引入电源线、天线、屋顶顶部的灯笼和航空障碍灯,避免雷电波入侵。 官网:http://www.jisucx.com 公众号:极速佳

November 19, 2021 · 1 min · jiezi

关于监控:工地塔吊无线网络传输方案

一、计划背景 随着近年来地产行业的风生水起,建筑行业工程塔吊被大量应用。因为塔吊违规超限作业和塔吊碰撞等引发的各类塔吊运行安全事故频频呈现,造成了微小的生命、财产损失。平安生产的概念深入人心,人们对平安生产的要求也越来越高。诸多安全事故的教训和教训表明:必须对塔吊的应用过程和行为进行无效的监管,能力切实管制设施运行过程中的危险因素,预防和缩小塔吊平安生产事变的产生。如何保障施工人员的人身安全,工地的建筑材料和设施等财产平安,是施工单位管理者始终以来首要关怀的问题。二、技术要求1、实时监控和记录工地运作信息,对塔吊应用过程和行为及时进行无效的监管。2、对工地上的流动人员实现追踪查看,提供高清画质可分辨可疑人员特色,以防止外人进入工地盗取建筑材料。3、必须保障图像清晰,每个塔吊上的高清摄像机应保障有3-4M的带宽,并且没有延时,不会掉包,没有压缩损耗。4、塔吊只是阶段性的工程,所以无线监控工程最好具备可反复利用的特点,以便于节俭工程老本。修建塔吊环境特点及问题:1、四周可能会存在2.4G频段烦扰问题;2、修建塔吊在应用无线网桥进行点对点传输或点对多点传输时,个别点两头可能会有阻挡;3、塔吊个别较高,雷雨天气时容易蒙受雷电袭击,要求设施除了具备户外防护等级外还要装备雷电防护。4、在塔吊上装置无线网桥及监控摄像头时要思考供电的问题,工地中的电力系统可能会不稳固,大型器械比拟多,工地应该配置稳压器来爱护电子设备。三、计划剖析1、主控核心和每个塔吊采纳AR9344计划的5.8G网桥,可很好地避开信号烦扰。采纳点对点或点对多点的形式进行无线传输。2、咱们的无线网桥传输间隔为5公里,能够带6-10个130W的摄像头。3、个别有阻挡、不可视的点位,可利用中继模式来解决。但不能够中继屡次,中继后带宽都会相应衰减。4、塔吊的顶部必须装置避雷针,避雷针要有良好的接地,以爱护雷电及时流入大地。咱们全系网桥都本身装备雷电防护性能,确保设施在雷雨天气也能失常运行。5、塔吊下面为监控摄像头供电不太不便,全系网桥都具备POE输入供电性能,可通过网线为监控摄像头供电,省去了工程供电难的麻烦。6、塔吊上的网桥设施设置为终端模式,监控核心的网桥设置为AP发射模式,塔吊上监控摄像头监控到的画面通过网桥设施传输到监控核心,可及时理解塔吊施工现场状况。在多台设施点对多点传输的状况下要用到POE交换机,咱们也能够提供8口和24口的POE千兆交换机(具体需要可依据理论工程须要进行抉择)四、计划劣势1、革除安防监控死角,应用5G网桥保障传输的稳定性,监控画面清晰晦涩,一直片不掉包;2、近程同步实时监控,录像并显示塔吊周边施工状态,为平安生产做足充沛的保障;3、可对立集中管理与调试,节约了大量工夫与人力老本;4、工程装置调试疾速灵便,能迅速响应需要,并且在工程完工之后设施可反复循环应用,节俭工程老本; 五、装置注意事项 网桥设施的装置须要思考两个因素:高度、 角度 1、装置高度 产品装置高度的根本准则就是在产品笼罩角度内两点之间无障碍阻挡, 若两点之间显著有障碍物阻挡, 须要进步装置高度达到稳固传输的目标。如下图:网桥装置高度须要满足H≥R+D 其中最小装置高度R的典型参考值如下表;比方:某两点之间相距lKM, 其中有1个5米高的修建, 那么两端的2.4G无线网桥的最佳装置高度为5+5. 5约为10. 5米。通常能够将无线网桥装置在建筑物的楼顶, 或通过一些辅助支架、立杆等晋升装置高度。 2、产品装置角度 无线网桥应用的天线是定向天线, 所以在装置过程中须要将单方的天线对准, 装置角度的根本准则就是, 在产品装置高度适合的状况下, 两个产品核心尽可能地对准。具体做法就是两端方向大抵对好后, 一端固定, 另外一端小幅度的向左或向右微调, 直至信号灯的信号强度值最大。本计划是针对室外塔吊工程无线监控计划做了简略介绍,无线网桥系列可实用于更多的户外场景,包含:景区公园、驾校、小区工厂、仓库学校、油田港口、森林防火等,具体的安防监控及室外无线传输笼罩计划要联合现场环境制订。 对计划和产品感兴趣能够关注公众号:极速佳

November 3, 2021 · 1 min · jiezi

关于监控:PushGateway与Flink实战之坑漫谈监控模型中的拉与推

本文首发于泊浮目标简书:https://www.jianshu.com/u/204...版本日期备注1.02021.8.14文章首发0.背景最近在为流解决组件接入监控,用了PushGateway(下文称为PGW),后果踩了不少坑,上来分享一下。 1.为什么是Push(PGW)之前的实现pull,即在一个过程中裸露服务端口遵循Prometheous(下文简称Prom)的协定,让Prom来拉取数据。 但这有一个问题,须要调配端口。之前咱们团队用了很多麻烦的实现:分布式锁、多份状态存储等...但依然防止不了端口透露、节约的问题(拓扑高可用机制会导致它在不同的机器间偏移,那么之前调配的某机器端口就无用了)。只管咱们也能够去监控拓扑的生命周期,但这绝非易事——在较大的场景中,k级的拓扑是很失常的,然而要无效监控k级别的拓扑生命周期,仿佛又是个大的话题。 我的共事通知我k8s可能能够解决我的问题,在之后我也会尝试跟进这个技术栈的引入。咱们仅仅想实现一个监控,并不想管其余有的没的事。 那么又到了陈词滥调的话题了,到底是push好还是pull好。我的观点是脱开场景讲道理就是耍流氓,到这个场景中,push更适合。 说到底,push要求被监控服务晓得监控零碎的地址,因而该信息须要设置在被监控服务中。因而被监控服务肯定水平上会依赖监控服务;而pull则要求监控零碎晓得所有被监控服务的地址,那么每减少一个被监控的服务,监控服务须要通过一些伎俩去感知到它——比方prom反对从服务发现零碎中动静获取指标服务,而flink反对通过port range来确认被监控服务所在的地位。 而对于其余的push和poll模型的比照,咱们能够查看上面的表格,依据本人的场景做出比照: 维度推模型拉模型服务发现较快。在启动时,agent可能主动发送数据。因而发现服务的速度与agent数量无关较慢。须要通过定期扫描地址空间来发现新的服务,发现服务的速度与agent数量无关可扩展性较好。只须要部署agent,而agent个别也是无状态的较差。监控零碎的工作量会随着agent数量线性回升安全性较好。不必侦挺网络连接,能够抵挡近程攻打较差。可能面临近程拜访和拒绝服务攻打操作复杂性较好。只需感知轮询距离和监控零碎地址。防火墙须要配置为从代理到收集器的单向测量通信。较差。监控零碎须要配置要轮询agent列表、拜访agent的平安凭据以及要检索的度量集。防火墙须要配置为容许轮询器和代理之间的双向通信。提早较好。推送的及时性较好。也有许多推送协定(如sFlow)都是在UDP之上实现的,提供了无阻塞、低提早的测量传输。较差,实时性较低而对于Prom官网中也介绍了绝大多数状况下PGW是不实用的,除了: Usually, the only valid use case for the Pushgateway is for capturing the outcome of a service-level batch job. A "service-level" batch job is one which is not semantically related to a specific machine or job instance (for example, a batch job that deletes a number of users for an entire service). Such a job's metrics should not include a machine or instance label to decouple the lifecycle of specific machines or instances from the pushed metrics. This decreases the burden for managing stale metrics in the Pushgateway. See also the best practices for monitoring batch jobs.在best practicse for monitoring batch jobs中,也有提到: ...

August 14, 2021 · 2 min · jiezi

关于监控:云上日志集中审计

简介:在SLS的日志审计利用的根底上,集中汇聚云平安产品日志、Web服务日志等,进行集中审计。 中转最佳实际:【云上日志集中审计】 最佳实际频道:【点击查看更多上云最佳实际】 这里有丰盛的企业上云最佳实际,从典型场景入门,提供一系列我的项目实际计划,升高企业上云门槛的同时满足您的需要! 场景形容云上的各类云产品和客户部署的业务零碎会产生各类日志,企业合规及平安经营等都须要在一个中央能集中的查看和剖析日志;目前各云产品日志大部分都进了sls,但都是产品独立的project,不不便集中审计;客户的业务系统日志各种状态都有;多云和混合云的场景,日志也须要能集中审计。 解决问题1.所有日志集中到SLS一个核心project下。 2.满足等保合规和外部合规需要。 3.满足运维和平安经营需要。 产品列表日志服务SLS专有网络VPC弹性公网IPEIP负载平衡SLB云服务器ECS 中转最佳实际 》》 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

August 11, 2021 · 1 min · jiezi

关于监控:非标准化的阀门企业也在用钉钉宜搭实现数字化转型

简介:增长对于所有企业来说,都是时机与挑战并存。对非标准化的制作企业来说,增长是一把双刃剑,它既是订单增长带来的销售晋升,同时在另一边则往往是“低效与节约”的困扰。困扰非标制造业的两大难题1、增长期的“低效与节约”魔咒非标制作行业始终有“品种多、批量小、高度定制化”等特点,为了满足市场多样性的需要,大多数非标制作企业采纳我的项目订单制度,即每个订单作为一个我的项目去推动与交付。 上海罕鼎阀门有限公司是一家业余从事高端阀门制作、培修的生产加工及服务保障型企业,是典型的非标准化制作企业。随同着企业规模和生产规模的扩充,订单激增的罕鼎正在遭逢“增长魔咒” 因为生产排程繁冗,各种工序时有抵触,品种繁多的订单造成了物料库存频繁变动。罕鼎常遭逢的状况是:订单越减少,企业生产效率反而升高了,生产中的人力物力呈现了大量节约。 2、传统软件的利用黑洞为了破除增长魔咒,罕鼎一度思考引入传统的软件系统。然而传统ERP或者MES的应用环境次要基于标准化生产流程,非标制造业成了这些软件的黑洞地带,鲜少有用武之地。 非准制造业数字化转型的标准答案数字化转型火烧眉毛的罕鼎除了要建设基于公司根本业务信息数据的核算、统计机制,还须要建设专属于本身业务、合乎非标行业标准的全面又高效的数字化治理平台。 基于罕鼎的切实需要,上海致拓软件有限公司帮忙罕鼎抉择了云钉低代码利用构建平台——钉钉宜搭来开发实现对应的解决方案。 1、全链路业务数字化基于具体的调研,致拓帮忙罕鼎布局了根底档案管理、销售治理、技术核心、生产打算治理、车间现场治理、洽购治理、品质治理、储运治理、外协治理、资产治理、收付款治理和我的项目老本治理12个场景模块,利用钉钉宜搭为罕鼎搭建定制合乎治理理论的业务流程,开发了合乎非标制作标准的信息化平台。 2、重点模块定制化生产打算治理、车间现场治理模块、技术核心和报表模块是罕鼎此次信息化平台建设的重中之重。 作为企业生产经营流动的引擎,生产打算管理中心能残缺实现罕鼎排程治理,提供生产打算、采购计划、委外打算、的残缺流程,并可对生产打算进度进行实时监控。 生产打算单界面 采购计划单界面 车间现场作为罕鼎生产制作的主体管控重点,能实时出现生产派工、领料、拆卸、试压、测验入库等残缺生产业务流程,并可对生产加工进度进行实时监控。 派工单表单界面 退料单表单界面 技术核心是企业生产加工的外围,从技术协定归档、工作下发、工作上报、图纸设计、图纸变更的残缺流程;依据技术人员的实现状况来审查员工的工作量、积极性、以此来实现员工的自我价值,造成员工的绩效考核根据。并对我的项目设计进度和设计过程进行实时监控。 技术附件表单界面 我的项目工作派工单界面 数据看板提供所有流程的直观数据查问、查看性能,集成最底层的根底信息,同时也能够依据业务属性、业务需要,通过根底信息进行治理指标的计算和管控。对异样事件的记录进行施行的反馈,让罕鼎能够一键管控整体业务流程。 总体工作进度看板 生产进度看板 信息单执行进度统计 致拓通过钉钉宜搭低代码平台麻利自在开发的底层能力,基于非标制作企业的业务场景,汇合钉钉弱小生态,帮忙罕鼎深度整合了公司业务流程、冲破了信息化瓶颈。 “宜搭这样的低代码平台给咱们这些非标企业数字化转型带来了弱小的助力,它能够更快捷地响应咱们个性化多样化的需要。”罕鼎总经理王超示意,信息化平台是企业数字化转型的第一步,将来还将尝试摸索更多业务场景。 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

August 4, 2021 · 1 min · jiezi

关于监控:看Quick-Audience-如何有效提升营销活动管理效率

简介:营销流动为Quick Audience(QA)用户洞察下的一个功能模块,通过这个模块,能够将QA侧生成的受众以及营销渠道全副关联起来,从营销流动的视角,一站式实现流动指标制订、流动打算制订到流动工作执行。Quick Audience产品是一款云原生面向消费者的营销产品。营销流动为Quick Audience(QA)用户洞察下的一个功能模块,通过这个模块,能够将QA侧生成的受众以及营销渠道全副关联起来,从营销流动的视角,一站式实现流动指标制订、流动打算制订到流动工作执行。 发现营销流动中的痛点从对Quick Audience客户的回访中发现,在业务理论的场景中,是通过一系列洞察和剖析后,再对接下来的营销流动进行指标策略的制订,并围绕指标达成制订相应的营销工作。 通常,品牌商会制订用户策略和品牌策略。所谓用户策略,即品牌商为实现消费者增长执行的一系列拉新、坚固、促活、唤醒动作;所谓品牌策略,即品牌商针对各销售渠道(包含线上电商渠道和线下门店渠道),为实现的销售额增长执行的一系列媒体曝光和促成成交转化的动作。以上两种策略的施行,品牌商都须要依据流动的估算金额、各销售渠道的资源供应,以及自身的品牌调性等因素进行具体打算的制订。 以用户策略中拉新场景为例,通过Quick Audience营销流动性能进行治理,对具备成交后劲的多个受众进行短信工作和其余营销形式(天攻智投、巨量引擎等)的定期触达。通过回流的媒体数据,剖析拉新成果。以一套对立的营销流动视角,来监控流动笼罩的整体受众规模,以及多个营销工作的执行状况。 为用户提供价值通过营销流动性能用户能够对流动类型、指标进行设置,帮忙业务同学疾速创建活动并记录流动指标;反对一键将Quick Audience已创立的受众(人群包)和营销工作(触达形式及渠道)关联至本次流动中;并对全副营销物料(如 Banner、海报、文案等)进行更清晰的治理,确保精确的关联和投放。 从客户价值视角去发现,Quick Audience能够无效的晋升业务人员(包含市场部、电商部等)的营销流动管理效率。将Quick Audience中,通过用户洞察模块创立的受众,联合私域互动经营+全域会员经营策略进行对立的工作整合,所有工作皆从营销流动的视角登程。帮忙客户看清营销流动的全貌,晋升营销流动的最终成果。实现什么时候做什么流动,什么流动打什么人群,什么人群用什么策略,什么策略有什么后果的一盘棋对立操控。 在用户洞察模块进行配置 而通过一次次营销流动的发展与复盘,从指标策略制订、媒体投放打算制订、再到优化人群策略,都是用户应用Quick Audience平台一直调优的过程,帮忙客户更好的触达指标人群,实现用户增长。 营销流动模块与其余模块的关联关系见下图: 操作链路示意新建流动用户能够间接选中任意工夫,疾速创建活动。能够在流动日历界面查看已创立的主流动(如618大促)和子流动(如618大促主流动下的xx品牌日流动)持续时间和概览信息。反对月历和年历的切换。日历能够有限上线滚动,跨月的流动能够一屏看清啦。 营销流动月历示例 营销流动年历示例 新建流动示例 挂载受众和营销工作用户能够对子流动进行受众和营销工作的关联,关联动作在用户洞察、用户营销实现后,即可在子流动详情页查看。参加受众列表示例 营销工作列表示例 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

July 2, 2021 · 1 min · jiezi

关于监控:自建ELK迁移阿里云日志服务

简介:本文介绍如何将自建的ELK零碎迁徙到阿里云SLS日志服务。 中转最佳实际:【自建ELK迁徙阿里云日志服务】 最佳实际频道:【点击查看更多上云最佳实际】 这里有丰盛的企业上云最佳实际,从典型场景入门,提供一系列我的项目实际计划,升高企业上云门槛的同时满足您的需要! 场景形容ELKStack(Elastic/Logstash/Kibana)通常被用于日志实时剖析,在开源社区中有大量的内容和应用案例。本文介绍如何将自建的ELK零碎迁徙到阿里云SLS日志服务。 解决问题1.自建ELK如何迁徙到阿里云日志服务。 2.如何应用Logtail采集日志。 3.如何应用阿里云日志服务对日志进行查问、剖析。 产品列表阿里云日志服务(SLS)VPN网关IPSecVPN云服务器 中转最佳实际 》》 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

June 15, 2021 · 1 min · jiezi

关于监控:详解-WebRTC-高音质低延时的背后-AGC

简介:本文将联合实例全面解析 WebRTC AGC 的根本框架,一起摸索其基本原理、模式的差别、存在的问题以及优化方向。 后面咱们介绍了 WebRTC 音频 3A 中的声学回声打消(AEC:Acoustic Echo Cancellation)的基本原理与优化方向,这一章咱们接着聊另外一个 "A" -- 自动增益管制(AGC:Auto Gain Control)。本文将联合实例全面解析 WebRTC AGC 的根本框架,一起摸索其基本原理、模式的差别、存在的问题以及优化方向。 作者|珞神 审校|泰一 前言自动增益管制(AGC:Auto Gain Control)是我认为链路最长,最影响音质和主观听感的音频算法模块,一方面是 AGC 必须作用于发送端来应答挪动端与 PC 端多样的采集设施,另一方面 AGC 也常被作为压限器作用于接收端,平衡混音信号避免爆音。设施的多样性最间接的体现就是音频采集的差别,个别体现为音量过大导致爆音,采集音量过小对端听起来很吃力。 在音视频通话的事实场景中,不同的参会人谈话音量各有不同,参会用户须要频繁的调整播放音量来满足听感的须要,戴耳机的用户随时接受着大音量对耳朵的 “暴击”。因而,对发送端音量的平衡在上述场景中显得尤为重要,优良的自动增益控制算法可能对立音频音量大小,极大地缓解了由设施采集差别、谈话人音量大小、间隔远近等因素导致的音量的差别。 AGC 在 WebRTC 中的地位在讲 AGC 音频流解决框架之前,咱们先看看 AGC 在音视频实时通信中的地位,如图 1 展现了同一设施作为发送端音频数据从采集到编码,以及作为接收端音频数据从解码到播放的过程。AGC 在发送端作为均衡器和压限器调整推流音量,在接收端仅作为压限器避免混音之后播放的音频数据爆音,实践上推流端 AGC 做的足够鲁棒之后,拉流端仅作为压限器是足够的,有的厂家为了进一步减小混音之后不同人声的音量差别也会再做一次 AGC。图 1 WebRTC 中音频信号上下行解决流程框图 AGC 的外围参数先科普一下样本点幅度值 Sample 与分贝 dB 之间的关系,以 16bit 量化的音频采样点为例:dB = 20 * log10(Sample / 32768.0),与 Adobe Audition 右侧纵坐标刻度统一。 幅度值示意:16bit 采样最小值为 0,最大值绝对值为 32768(幅度值如下图左边栏纵坐标)。 ...

May 27, 2021 · 5 min · jiezi

关于监控:Serverless这真的是未来吗一

简介:心愿这些博客文章能帮忙您在所有相干人员中展开讨论,就最佳业务计划达成统一。该课程可能波及无服务器,也可能不波及。在这第一篇文章中,咱们将思考在探讨无服务器时最常见的几个问题。在第二篇文章中,咱们将钻研一些更宽泛的问题。 原文 | https://www.pulumi.com/blog/is\_serverless\_the\_future\_part\_1/ 作者 | Lee Briggs & Piers Karsenbarg 译者 | donghui 许多开发人员说,无服务器是计算的将来,而其余开发人员说,它永远不会胜利。咱们本人的观点没有那么两极分化。咱们将无服务器视为一种抉择,这是从初创企业到中型企业,再到大型企业的一个可能的垫脚石。在这两篇博文中,咱们将探讨无服务器如何适应这一过程,以及它的长处和毛病。 咱们的指标是帮忙您切实地评估无服务器计算。咱们心愿激发探讨,而不是下意识的反馈,无论是赞成还是拥护。心愿这些博客文章能帮忙您在所有相干人员中展开讨论,就最佳业务计划达成统一。该课程可能波及无服务器,也可能不波及。在这第一篇文章中,咱们将思考在探讨无服务器时最常见的几个问题。在第二篇文章中,咱们将钻研一些更宽泛的问题。 什么是无服务器?“无服务器"这个术语有点用词不当。更愤世嫉俗的人可能会嘀咕,“无服务器依然在服务器上运行!“这是真的。不论你应用什么云提供商,你总是应用服务器来运行你的应用程序。必须配置、治理和保护这些服务器。云提供商提供的无服务器服务通常会形象出难以治理的运行应用程序组件:它们为您运行和治理服务器。开发人员能够运行他们的应用程序,而不必放心底层,比方操作系统,甚至计算能力。 为什么采纳无服务器?当人们推广无服务器时,会给出一些现成的答案。咱们将在这里疾速地提到它们,而后咱们将更认真地钻研这些说法。以下是人们给出的三大理由。 1. 这是一个疾速开始的形式将服务器的治理移交给提供商意味着您能够十分快地将应用程序提供给用户。有很多底层基础设施您不用为其编写或保护代码。 2. 它很便宜 无服务器能够通过几种形式为您省钱。首先,因为提供者治理服务器,所以能够升高治理老本。您也不须要编写那么多代码,因为服务器不是您关怀的问题。您能够更快地将应用程序推向市场,这意味着您能够更快地开始创收。最初,依据您的应用模式,您只需领取执行代码所用的工夫。你不必为闲暇工夫付钱。 3. 它处于 IT 管制之外 在采纳云工程的组织中,人们常常转向无服务器,因为他们感觉 IT 太慢或反应迟钝。在"传统"组织中,可能很难购买硬件,洽购工夫可能太慢,或者可能会因经营或财务而退缩。这通常是人们转向云提供商的一个起因,作为迁徙的一部分,他们可能会思考应用无服务器。 如果在提供云资源的过程中遇到了诸如严格的权限之类的阻碍,那么在曾经采纳云计算的公司中,您还会看到无服务器的采纳。无服务器是一种绕过被视为"拦路虎"的问题来实现工作的简略办法。有时,无服务器的推动可能来自开发部门之外的部门。例如,市场营销部门可能心愿公布一些对工夫至关重要的内容,因为它与某个事件无关。 或者是?让咱们更认真地看看人们提倡无服务器的起因。 1. 这真的是一种疾速开始的形式吗? 应用无服务器可能会使您的应用程序更容易推向市场,但这须要重新考虑如何构建和开发应用程序,这会导致当前的劳动惩办。当您开始利用无服务器产品时,您的组织在构建生产应用程序时采纳的传统做法可能须要重新考虑,甚至须要从新调整。这方面的一个很好的例子是在思考监控和可察看性时:许多监控平台工作在一个您无法访问的层上,您无奈深刻理解应用程序的性能。从新设计和从新思考如何应用无服务器技术构建生产就绪的应用程序,可能会给无服务器的旅程带来意想不到的提早。 2. 真的便宜吗? 无服务器被认为具备老本效益的起因之一是,您只需为应用的计算工夫付费。然而,应用无服务器可省钱并非必然。分析您的应用程序是否适合十分重要。这里有两个注意事项。 申请的模式是什么?如果您的应用程序有许多小的疾速申请,那么无服务器可能是一个不错的抉择。另一方面,如果您的应用程序依赖长时间运行的操作,那么您在查看账单时可能会感到震惊。 那启动工夫呢?请记住,您依然须要为应用程序的启动工夫"付费”。无服务器服务通常会受到"冷启动"的惩办,因而,如果您很少应用或基本没有应用,则可能必须在后盾运行其余过程以确保您的应用程序不会为此付出代价。这也意味着您的第一个申请将比随后的申请破费更长的工夫。如果无服务器性能须要始终疾速响应,则能够为诸如预置并发之类的实现领取额定费用,以改善冷启动的损失。然而,与传统的软件部署办法相比,这能够轻松对消您可能节俭的任何老本。 3. 管制又如何呢? 采纳无服务器平台作为部署机制意味着将为基础设施打补丁的责任移交给提供者。您不再可能对操作系统层的平安正告做出快速反应;你信赖你的供应商来做这些。在这种状况下,你可能不想放弃控制权。 您依然须要管理应用程序依赖项中的平安告诉,并且须要一种机制来对这些问题作出反应。因为不足须要治理的基础设施,无服务器的采集者常常会产生谬误的印象,认为他们的应用程序是"平安的”,但这种状况很少产生。您可能须要为应用程序的浸透测试而采纳的任何现有机制进行调整,并适宜于任何新的无服务器平台。尽管您的攻击面可能较小,但依然须要确保任何潜在的攻击者都很难通过无服务器基础设施程度地进行攻打。 如果您抉择无服务器是因为您或其余部门心愿绕过规范 IT 过程,那么这将指向组织外部的问题,而不是对无服务器的需要。技术不能解决文化问题。真正能解决这些问题的是人们互相交换,找出如何让每个相干的人生存得更好。 您必须明确,您正在将服务器的控制权移交给提供者,而不是本人管制,须要具体钻研合规性和无服务器劣势之间的衡量。 本文转载自 Serverless Life 公众号,转载请分割原作者。 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

May 24, 2021 · 1 min · jiezi

关于监控:基于函数计算的游戏打包最佳实践

简介:本文次要介绍了通过Serverless工作流(FNF)+ 函数计算(FC)+ 对象存储(OSS)+ 日志服务(SLS)的组合计划,实现游戏发行过程中,自动化、并行化的一键式构建游戏渠道包。同时也全方位的演示了函数计算以及工作流在弹性能力、开发敏捷性上的劣势。 中转最佳实际:【基于函数计算的游戏打包最佳实际】 最佳实际频道:【最佳实际频道】 这里有丰盛的企业上云最佳实际,从典型场景入门,提供一系列我的项目实际计划,升高企业上云门槛的同时满足您的需要! 场景形容本文次要介绍了通过Serverless工作流(FNF)+函数计算(FC)+对象存储(OSS)+日志服务(SLS)的组合计划,实现游戏发行过程中,自动化、并行化的一键式构建游戏渠道包。同时也全方位的演示了函数计算以及工作流在弹性能力、开发敏捷性上的劣势。 解决问题在发行商构建渠道包过程中,特地是局部应用手工构建形式的厂商,存在着以下痛点: 易出错效率低高老本产品列表专有网络VPC函数计算FCServerless工作流FnF对象存储OSS日志服务SLS业务架构 中转最佳实际 》》 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

May 18, 2021 · 1 min · jiezi

关于监控:工商银行分布式服务-C10K-场景解决方案

简介:Dubbo 是一款轻量级的开源 Java 服务框架,是泛滥企业在建设分布式服务架构时的首选。中国工商银行自 2014 年开始摸索分布式架构转型工作,基于开源 Dubbo 自主研发了分布式服务平台。 作者 | 颜高飞 起源 | 阿里巴巴云原生公众号 Dubbo 是一款轻量级的开源 Java 服务框架,是泛滥企业在建设分布式服务架构时的首选。中国工商银行自 2014 年开始摸索分布式架构转型工作,基于开源 Dubbo 自主研发了分布式服务平台。 Dubbo 框架在提供方生产方数量较小的服务规模下,运行稳固、性能良好。随着银行业务线上化、多样化、智能化的需要越来越旺盛,在可预感的将来,会呈现一个提供方为数千个、甚至上万个生产方提供服务的场景。 在如此高负载量下,若服务端程序设计不够良好,网络服务在解决数以万计的客户端连贯时、可能会呈现效率低下甚至齐全瘫痪的状况,即为 C10K 问题。那么,基于 Dubbo 的分布式服务平台是否应答简单的 C10K 场景?为此,咱们搭建了大规模连贯环境、模仿服务调用进行了一系列摸索和验证。 C10K 场景下 Dubbo 服务调用呈现大量交易失败1. 筹备环境应用 Dubbo2.5.9(默认 netty 版本为 3.2.5.Final)版本编写服务提供方和对应的服务生产方。提供方服务办法中无理论业务逻辑、仅 sleep 100ms;生产方侧配置服务超时工夫为 5s,每个生产方启动后每分钟调用1次服务。 筹备 1 台 8C16G 服务器以容器化形式部署一个服务提供方,筹备数百台 8C16G 服务器以容器化形式部署 7000 个服务生产方。 启动 Dubbo 监控核心,以监控服务调用状况。 2. 定制验证场景,察看验证后果 验证状况不尽如人意。C10K 场景下 Dubbo 服务调用存在超时失败的状况。 如果分布式服务调用耗时长,从服务生产方到服务提供方全链路节点都会长工夫占用线程池资源,减少了额定的性能损耗。而当服务调用并发突增时,很容易造成全链路节点梗塞,从而影响其余服务的调用,并进一步造成整个服务集群性能降落甚至整体不可用,导致产生雪崩。服务调用超时问题不可漠视。因而,针对该 C10K 场景下 Dubbo 服务调用超时失败状况咱们进行了详细分析。 C10K 场景问题剖析依据服务调用交易链路,咱们首先狐疑交易超时是因为提供方或生产方本身过程卡顿或网络存在提早导致的。 ...

May 14, 2021 · 2 min · jiezi

关于监控:技术人生什么是技术一号位

简介:以真正的技术一号位的角色去落地你负责的事件,那么表演技术一号位就是瓜熟蒂落的事件了。技术一号位系列文章介绍研发人员通过一段时间的成长和积攒(3-5年),往往须要率领团队或者小组承当更大的责任。很多表演了 teamleader (TL)角色的“治理新人”,在带人做事遇到困难的时候会陷入纠结:要不要放弃这个倒退路线持续做一个单打独斗的技术“老人”?特地是在一些环境中,治理新人自身面临着生疏的畛域和挑战,如果没有领路人,单纯依附本人去实际感悟,往往会走很多弯路。 所以本文作者联合多年实践经验,以及联合很多经典实践的输出,总结出了“技术一号位是什么”、“一般研发人员如何一步步成长为技术一号位”、“作为技术一号位须要把握哪些实践工具来撑持日常工作”等一系列可能疏导技术人员降级认知的实践工具。 同时须要强调的是,技术一号位不是岗位,更多的是技术人员在公司中做事的一种心态,这个系列的文章适宜所有想要对日常工作“知其然更知其所以然”的技术人,借助实践工具的指引,联合本人的实际经验,悟到本人的播种,从而减速成长的过程。大道理千千万万,有缘者得之真谛践于其行而非流于其表。 技术一号位方法论系列文章打算: 《什么是技术一号位》《技术一号位的方法论【实践篇】—— 如何剖析事物本质及剖析事物本质的必要性》《技术一号位的方法论【实践篇】—— 解决问题的法则概述》《技术一号位的方法论【实践篇】—— 解决问题的法则在技术、业务、组织方面的利用》《技术一号位的方法论【实践篇】—— 浅谈技术人员如何成长为技术一号位》《技术一号位的方法论【业务篇】—— 什么是业务,以及业务运行须要哪些方面的撑持》《技术一号位的方法论【业务篇】—— 什么是指标,如何构建业务指标》《技术一号位的方法论【业务篇】—— 如何画业务大图、产品块图、兵力投放大图、战斗大图》《技术一号位的方法论【技术篇】 —— 浅谈如何做简单业务零碎的畛域驱动设计》《技术一号位的方法论【技术篇】 —— 浅谈如何做简单业务的数字化》《技术一号位的方法论【技术篇】 —— 浅谈如何做稳定性建设》《技术一号位的方法论【技术篇】 —— 浅谈如何做业务风控能力建设》《技术一号位的方法论【技术篇】 —— 浅谈如何让技术撑持、保障、驱动业务倒退》《技术一号位的方法论【技术篇】 —— 浅谈如何做分布式系统建设》《技术一号位的方法论【技术篇】 —— 浅谈如何做秒杀》《技术一号位的方法论【技术篇】 —— 浅谈如何疾速把握生疏技术畛域常识》《技术一号位的方法论【技术篇】 —— 浅谈一些常见技术问题的解决模式》将来一段时间,阿里巴巴中间件会继续公布系列文章,欢送关注。 前言什么是技术一号位、有哪些关注点、怎么做技术一号位?做了研发团队的技术 leader 当前,要解决的事件十分多,如果对本人表演的角色没有一个清晰的认知,就会呈现该做的事件没有做,不该做的事件投入了过多的精力,造成实际行动和后果既不匹配下级的要求,又不匹配上级的冀望。特地是对于刚开始率领研发团队的新人 leader 而言,角色的转换和适应的过程,减少了认清本人的角色实质的难度。明天咱们抛开纯技术团队的同学不谈(其实实质一样),只探讨业务研发团队的同学,如何以技术一号位的角色来做事。 如何辨认本人是不是技术一号位在开始谈如何做事之前,首要任务是判断本人是不是技术一号位,而要判断之前,首先要明确判断规范,跳出思维误区。这里咱们列出一些常见的思维误区。 以下是常见认知误区: 带人的是技术一号位,不带人的不是技术一号位。级别高的是技术一号位,级别低的不是技术一号位。以上的认知误区,谬误地把是否带团队、技术等级的高下和是否为技术一号位关联起来。尽管事实上带团队的业务研发同学成为技术一号位的概率更大,然而自身这两者不是划等号的关系。 那么什么是辨别是否为技术一号位的决定性因素呢?很简略:对一个具体的业务而言,你作为该业务的间接技术参与者,是否处在技术畛域责任链的最顶端。这句话翻译过去就是,对一个明确的具体的业务而言,多种角色的同学一起单干的时候,你是否是技术序列的最终责任人,即:谁承当对应的责任,谁就应该表演对应的角色。 当产品经理、经营、研发独特做一个业务的时候,某个研发同学单独或者率领其余几个研发同学,或者率领跨 BU 的研发团队,独特撑持 PD 的业务需要。那么这个研发同学就是这个业务的技术一号位,不管他是否带不带人,也不管他带的人在行政上是否从属于他。一般来说,负责繁多业务的研发团队 leader 个别就是这个业务的技术一号位;负责多业务线的研发团队的 leader 的上司,是每个业务线的技术一号位,而研发 leader 自身是更高层面业务的技术一号位。 所以,做业务开发的技术同学,不论是什么层级,带不带人,都可能是某个具体业务的技术一号位的。这一点十分重要,只有认清这个事件当前,业务研发同学能力在做业务的时候,明确下来本人除了须要写代码以外还须要做什么,关注什么;这些关注点须要做到什么水平,能力对上满足冀望,对下不让团队走弯路、不和上司抢功。 当你通过以上判断当前,确定本人是技术一号位时,祝贺你,你曾经不再是一个仅仅须要写代码的研发同学了。很多研发同学眼中还是只有写代码这一件事件,如果以这种形式做业务,那么就会发现业务过程会有各种没有做到位的事件,会在做业务的过程中“交很多学费”,甚至会因为本人的能力不够而拖慢业务倒退。 尽管成熟的研发团队能够通过齐备的研发过程治理,来防止集体能力不够而对业务产生太多负面影响,然而实质上强制的规定和“下级要求”只是在依附行政管理手段在强制一个人做这些事件,并没有唤醒他的创造力和责任心,反而会被认为是“工作琐事”。 这些“工作琐事”实质上是须要他表演的角色来负责的,然而因为他没有意识到本人实际上曾经是这样的角色了,而仅仅把本人停留在“研发”的定位上,把“写代码”当做外围工作,这样一来,会让研发同学对那些看起来 “和写代码无关然而是技术一号位必须做的事件” 十分冲突。这种抵触情绪产生的时候,leader 再强调 Ownership 也都没有太多成果,因为不是他不负责任,而是他没有意识到,这是他应该负责的事件。当他的心态和认知转变当前,一些原来看起来不怎么负责的人会变得负责(不排除有人自身就是不负责的人,那么这样的人不是良好的技术一号位的候选人,主管要有辨认能力)。 作为业务开发同学,肯定要认真认清分别本人本质上是不是一个业务的技术一号位,而不必思考本人的层级,不必管本人是不是业务其余参与者的 leader。当你意识到本人是这个业务的技术一号位的时候,就要迅速切换角色,从原来本人给本人的定位 “写代码的、搞技术的” 转变为 “某个业务的技术一号位”,开始进入角色,施展出你的价值。这也是很多研发同学通过做业务能迅速成长的起因,抛开技术上的成长之外,他比其余研发同学接触了很多 “做事件须要思考并为之口头” 的维度,这些维度的丰盛是一般业务研发同学很难看到、很难感觉到,因而更难悟到的。 不排除有悟性高的研发同学可能本人悟到,但实质还是因为他所处的环境、他面临的问题在逼迫他做出思考,而后为之实际。如果一开始就晓得本人做事件要找准本人的角色和定位,那么就会少走很多弯路。 ...

May 11, 2021 · 1 min · jiezi

关于监控:云计算公网质量评测方法和最佳实践

简介:云计算的公网品质评测作为企业上云选型的要害流程曾经变得越来越重要,但以后业界并没有一套残缺的云计算公网品质的评测办法和准则的领导。 本文对国内和海内的云计算公网品质评测办法做了较深刻的剖析,并提供了网络层的云计算公网品质评测的最佳实际供大家参考。云计算通过互联网提供服务的模型云计算的IDC机房连贯到运营商的骨干网上对运营商内的用户提供服务。 用户通过挪动终端或固定终端接入运营商的本地网络,并通过运营商的骨干网络拜访阿里云上的各种服务,包含大家熟知的淘宝,天猫,高德,钉钉等。 从上图能够看到,用户拜访云上服务波及的环节还是比拟多的,包含用户的本地网络,运营商网络和阿里云网络。 本地网络的状况个别是比较复杂的,尤其是挪动网络,用户的本地网络的场景可能是弱网环境,比如说地铁,公交,高铁等。也可能是比拟好的网络,比如说家庭或办公室。 运营商网络和云网络是比较稳定和确定的。 实践上来讲,任何一个网络环节出问题,都会影响用户的应用体验。 云公网品质评测的两种形式利用层云公网品质评测如果是评测一个利用的端到端的公网品质,最好是可能对用户终端到云上利用做全流程的测试。 这样能全流程笼罩用户本地网络,运营商网络和阿里云网络。 但这种评测办法复杂度和老本比拟高,须要有大量的实在的客户端进行测试才比拟无效和可信,因为只有至多上千规模的客户端能力排除本地网络和用户终端本身的变动的影响。 网络层云公网品质评测如果是评测网络层的云计算公网品质,个别状况下测试运营商骨干网络或本地网络到阿里云利用的公网品质。 从运营商本地网络和骨干网络到云网络局部的公网品质是云厂商重点关注和重点优化的环节,只有这部分的品质好,服务和利用的端到端的公网品质就不会很差,如果这部分的品质不好,那么服务和利用的端到端的体验就很难做好。 此外对于用户本地网络和用户终端上的问题云厂商能够调优工作也很无限。 这种网络层的公网品质是一个根底和准入的评测,另外这种测试形式绝对简略高效,所以在客户上云选型时被广泛采纳。 两种评测形式的比照<span class="lake-fontsize-11">评测形式</span><span class="lake-fontsize-11">长处</span><span class="lake-fontsize-11">毛病</span><span class="lake-fontsize-11">利用层云公网品质评测</span><span class="lake-fontsize-11">更贴近实在的端到端用户公网品质</span><span class="lake-fontsize-11">测试老本较高且有肯定复杂度,适宜曾经具备肯定用户规模的企业客户</span><span class="lake-fontsize-11">网络层云公网品质评测</span><span class="lake-fontsize-11">测试成本低,测试方法简略</span><span class="lake-fontsize-11">适宜作为云厂商的横向比照测试</span><span class="lake-fontsize-11">不齐全反馈最终的端到端的公网品质</span><span class="lake-fontsize-11">更适宜做准入门槛测试</span># 网络层云公网品质评测的最佳实际## 最佳实际准则1. 选取TOP运营商探测点进行测试因为TOP运营商中的用户多,所以应优先关注TOP运营商的品质状况。比方对于国内的运营商,优先选取不同省份的电信,挪动,联通的公网IP探测点进行测试,如果有余力再抉择其余运营商的公网IP进行探测。尽量不抉择云厂商的BGP类型的服务器做探测点,因为不同的云厂商之间有可能通过IXP间接互联,流量门路和运营商到云厂商的不一样。2. 测试时长大于1天互联网的也存在波峰波谷,闲时忙时的效应。所以测试时长要至多一天失去的数据才比拟可信。3. 抉择成熟的拨测平台进行测试以后公网品质的拨测平台比拟多,但也存在泥沙俱下的问题。最好抉择业界中口碑比拟好的平台进行测试。国内成熟的公网品质拨测平台包含:阿里云站点监控,听云,博睿等海内成熟的公网品质拨测平台包含:CatchPoint拨测平台客户群特点网站链接<span class="lake-fontsize-11">阿里云站点监控</span><span class="lake-fontsize-11">集体和企业</span><span class="lake-fontsize-11">劣势:</span><span class="lake-fontsize-11">国内各省份运营商公网</span><span class="lake-fontsize-11">IP</span><span class="lake-fontsize-11">探测点很全面,海内探测点较不足</span><span class="lake-fontsize-11">劣势:</span><span class="lake-fontsize-11">报表和后果剖析易用性较差</span><span class="lake-fontsize-11">https://cloudmonitor.console....</span><span class="lake-fontsize-11">听云</span><span class="lake-fontsize-11">企业</span><span class="lake-fontsize-11">劣势:</span><span class="lake-fontsize-11">国内探测点和海内运营商探测点都有,报表和后果剖析易用性好</span><span class="lake-fontsize-11">劣势:</span><span class="lake-fontsize-11"> 面向企业用户,首次服务开明流程较慢</span><span class="lake-fontsize-11">https://saas.tingyun.com/</span><span class="lake-fontsize-11">博睿</span><span class="lake-fontsize-11">企业</span><span class="lake-fontsize-11">劣势:</span><span class="lake-fontsize-11">国内探测点和海内运营商探测点都有,报表和后果剖析易用性好</span><span class="lake-fontsize-11">劣势:</span><span class="lake-fontsize-11"> 面向企业用户,首次服务开明流程较慢</span><span class="lake-fontsize-11">https://www.bonree.com/</span><span class="lake-fontsize-11">CatchPoint</span><span class="lake-fontsize-11">企业</span><span class="lake-fontsize-11">劣势:</span><span class="lake-fontsize-11">海内运营商探测点较多</span><span class="lake-fontsize-11">劣势:</span><span class="lake-fontsize-11">国内</span><span class="lake-fontsize-11">运</span><span class="lake-fontsize-11">营商探测点较少。面向企业用户,首次服务开明流程较慢</span><span class="lake-fontsize-11">https://www.catchpoint.com/</span>## 国内网络层根底公网品质评测最佳实际1. 拨测平台抉择阿里云站点监控开明和应用比较简单,间接注册阿里云账号就能够应用2. 公网探测工作类型抉择最简略的就是ICMP的ping探测,云服务器上不须要部署任何利用,只须要放通ICMP的平安组即可。3. 公网探测点抉择依据业务的需要抉择具体省份和地区的运营商。个别状况下优选一线和二线城市的电信,联通,挪动的探测点,因为用户绝对密集。4. 后果剖析公网品质拨测平台对于公网品质次要提供两个指标,一个是时延,一个是丢包率。带宽这个指标个别状况都不是太大的问题,因为云上的公网带宽个别状况下都比拟短缺。不同利用所偏重的公网品质不同,但大的准则是时延在肯定范畴内满足业务需要即可,重点看丢包率。不同利用对时延的需要,请参考文章:https://mp.weixin.qq.com/s/jHv\_\_zvDMS41BHzVh1YgsQ## 海内网络层公网品质评测最佳实际海内的公网品质评测绝对比较复杂,国内的TOP运营商就3家,海内有很多家。咱们重点关注3G/4G/5G挪动运营商到云的公网品质,次要是因为其笼罩的用户数多。以亚太为例,咱们整顿了对应的TOP运营商列表,以及对应的3G/4G挪动互联网用户数。其中用户数的数据来源于互联网大体上正确但不够准确。亚太区域TOP运营商和运营商外部互联网用户数区域区域TOP运营商区域运营商的3G/4G/5G用户数(万)拨测平台探针状况中国香港香港挪动通信 CSL800中国香港3香港 3HK600中国香港中国移动香港500听云有探针中国台湾中华电信1,100听云、博睿、Catchpoint有探针中国台湾大哥大/Taiwan Mobile800博睿有探针中国台湾远传电信700听云、Catchpoint有探针新加坡Sinqtel410听云、博睿、Catchpoint有探针新加坡StarHub220听云、博睿、Catchpoint有探针新加坡M1 Limited (M1)170马来西亚Celcom8,400博睿有探针马来西亚DiGi Telecommunications1,100马来西亚Maxis1,000泰国Advanced Info Service (AIS)4,500泰国Digital Total Access Communication2,600听云有探针泰国TRUE2,600Catchpoint有探针日本NTT DOCOMO8,000听云、博睿、Catchpoint有探针日本KDDI (au)6,000博睿、Catchpoint有探针日本Softbank4,000听云有探针韩国SKT3,500听云、博睿、Catchpoint有探针韩国KT2,100听云、博睿、Catchpoint有探针韩国LG Uplus1,400听云、博睿、Catchpoint有探针越南Viettel Telecom2,800听云有探针越南MobiFone1,600越南VNPT-Vinaphone1,300听云, 博睿有探针菲律宾PLDT3,000博睿、Catchpoint有探针菲律宾Globe Telecom3,000印度尼西亚Telkomsel/PT6,000博睿,Catchpoint有探针印度尼西亚Indosat 2,600印度尼西亚XL Axiata2,000印度Reliance Jio38,800博睿、Catchpoint有探针印度Vodafone Idea33,000听云、博睿、Catchpoint有探针印度Bharti Airtel32,000听云、博睿、Catchpoint有探针欧美区域TOP运营商和运营商外部互联网用户数区域区域TOP运营商区域运营商的3G/4G/5G用户数(万)拨测平台探针状况美国AT&T18,000听云、博睿、Catchpoint有探针美国Verizon12,000听云、博睿、Catchpoint有探针美国T-Mobile US10,000加拿大Bell1,100博睿、Catchpoint有探针加拿大Rogers1,100博睿有探针加拿大Telus1,100德国Deutsche Telekom/T-Mobile4,600听云、博睿有探针德国Vodafone Germany3,000Catchpoint有探针德国Telefonica O22,200英国BT Mobile/EE. T-mobile2,700听云、Catchpoint有探针英国O22,600英国Vodafone UK1,700法国Orange2,000博睿、Catchpoint有探针法国Bouygues1,700法国SFR1,400Catchpoint有探针意大利Telecom Italia 3,000听云、博睿、Catchpoint有探针意大利Wind Tre2,100博睿有探针意大利Vodafone Italia1,300博睿有探针以后的公网品质拨测平台中没有一个能齐全笼罩上述TOP运营商的,所以海内的公网品质拨测是一个比拟大的难点。阿里云采纳另外一种形式进行公网品质的拨测,通过在云上的服务器被动探测具体运营商网的公网品质,收集探测数据并剖析和汇总公网品质数据。 后续咱们将对外逐渐凋谢对应的统计数据供有需要的客户进行参考。> 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

April 27, 2021 · 1 min · jiezi

关于云原生:面对大规模-K8s-集群如何先于用户发现问题

作者 | 彭南光(光南)起源 | 阿里巴巴云原生公众号 千里之堤,溃于蚁穴。绪论不晓得大家是否经验过这样的情景:忽然被用户告知零碎呈现问题,而后一脸懵地惶惶然排查修复;或是等到本人发现零碎呈现故障时,理论曾经对用户造成了重大的恶劣影响。 所谓千里之堤,溃于蚁穴。用户信赖的建设是长期而艰巨的,然而要捣毁这种信赖却很简略。一旦呈现上述问题,不仅极大影响用户应用体验,同时会给用户留下一个这个产品/团队不牢靠的印象,丢失用户对产品/团队长期好不容易积攒下来的信用资本,将来再想建设这样的信赖关系就很难了。 这也是为什么咱们说疾速发现问题的能力如此重要的起因,只有先做到疾速发现问题,能力谈怎么排查问题、如何解决问题。 那么怎样才能在简单的大规模场景中,做到真正先于用户发现问题呢?上面我会带来咱们在治理大规模 ASI 集群过程中对于疾速发现问题的一些教训和实际,心愿能对大家有所启发。 注:ASI 是 Alibaba Serverless infrastructure 的缩写,是阿里巴巴针对云原生利用设计的对立基础设施。有趣味能够浏览:《揭开阿里巴巴简单工作资源混合调度技术面纱》。 背景1. 简单的场景和曾面临的窘境咱们所治理的大规模 ASI 集群场景非常复杂,这为咱们的工作带来了极大挑战,任何一个场景解决不慎就有可能导致意料之外的挫伤扩大化。 从组件维度看,咱们目前有几百个组件,每年有几万次的组件变更。频繁的组件变更如何在稳定性和效率之间获得衡量,怎么让变更时更稳固,怎么让灰度更确信,从而升高爆炸半径?从集群维度看,目前有上千个集群和海量节点,碰到的集群/节点问题较多,监控链路笼罩比拟简约,怎么让集群运行时更加可信?从二方用户和业务场景看,咱们反对了大量的团体二方用户,同时业务场景也非常复杂,怎么保障各有特色的业务场景都能失去统一的仔细关照? 2. 问题预判和解决思路基于长期的集群治理教训,咱们有如下预设: 数据监控作为正向链路,无奈无死角笼罩所有场景。即便链路中各个节点的监控数据失常,也不能 100% 保障链路可用。 集群状态每时每刻都在变动,各个组件也在不停地更新降级,同时链路上的每个零碎也在不停的变更,监控数据的笼罩永远是正向的追赶,只能迫近 100% 全笼罩而无奈齐全达到。即便整个集群链路中所有组件/节点的监控数据都失常,也不能保障集群链路 100% 可用。就如同业务零碎一样,看上去都是可用的,没有问题裸露。但只有通过全链路压测理论探测过整个链路后,能力失去理论可用的论断。你要正向证实一个货色可用,须要举证有数的例子。而如果要反向证实不可用,一个反例就够了。数据监控链路只能迫近全笼罩,而无奈保障真正全笼罩。大规模场景下,数据无奈达到 100% 的齐全一致性。 当集群规模足够大时,数据的一致性问题将会更加浮现。比方全局风控组件是否全集群链路笼罩?相干流控配置是否全集群链路推平?pod 主容器时区是否与下层统一?集群客户端节点证书是否有行将过期?等等问题,一旦忽略,将有可能酿成重大的故障。只有补救上述两类危险点,能力有底气真正做到先于用户发现问题。咱们解决上述两类危险的思路别离是: 黑盒探测 所谓黑盒探测,既模仿狭义上的用户行为,探测链路是否失常。定向巡检 所谓巡检,既查看集群异样指标,找到已有或可能将存在的危险点。基于以上思路,咱们设计并实现了 KubeProbe 探测/巡检核心,用于补救简单零碎的正向监控的有余,帮忙咱们更好、更快地发现零碎危险和线上问题。 设计黑盒探测和定向巡检1)黑盒探测不晓得你是否也经验过一条链路上各个系统监控数据都失常,然而理论链路流程就是跑不通。或者因为零碎变动快,监控笼罩不到 100% 的场景总是会有脱漏,导致影响到了用户却没有报警,对用户没有本质影响却报警频发从而疲于奔命。 如果一个零碎开发者本人都不应用本人的零碎,那么怎么可能先于用户发现零碎问题呢?所以要先于用户发现零碎问题,首先咱们本人就得先成为用户,而且肯定是应用最多,理解最深,无时无刻不在应用和感知零碎情况的用户。 所谓黑盒探测,就是让本人成为本人的用户,模仿狭义"用户"的行为去对集群/组件/链路期待待测对象做探测。留神,这里的"用户"并不仅仅是广义上应用零碎的同学,而是狭义用户。比方,etcd 的"用户"是 APIServer,而 ASI 的"用户"可能是某个通过 APIServer 操作集群的同学,也可能是 Normandy 发动的公布/扩容/缩容操作。 咱们心愿 KubeProbe 能在 变更时(监听到集群状态发生变化/组件变更/组件公布/系统升级等等事件)/运行时(周期,高频)/故障复原时(手动),通过周期/事件触发/手动触发,执行各种不同类型的黑盒探测,第一工夫感知组件/集群/链路的可用性。 以 etcd 集群的可用性来举例,咱们能够实现一个探测用例,逻辑是对 etcd 做 create/get/delete/txn 等等操作,并记录每个操作的成功率/耗费工夫,当成功率低于 100% 或耗费工夫超过容忍阈值后,触发报警。咱们将周期高频运行这个 etcd 的探测用例,同时对于 etcd 集群的任何变更都会收回一个事件 event 触发这个 etcd 探测立刻运行,这样就能尽量确保第一工夫发现 etcd 可用性故障了。同时,当 etcd 集群因为某些起因不可用了,咱们也能够通过手动触发等其余形式做探活,也能第一工夫失去是否复原的信息。 ...

April 25, 2021 · 2 min · jiezi

关于消息中间件:春色满园关不住带你体验阿里云-Knative

简介:Knative 是基于 Kubernetes 的开源 Serverless 利用编排框架。阿里云 Knative 在社区Knative根底之上,与阿里云产品进行了深度的交融,给你带来最纯正的容器化 Serverless 体验。Knative 是基于 Kubernetes 的开源 Serverless 利用编排框架。阿里云 Knative 在社区Knative根底之上,与阿里云产品进行了深度的交融,给你带来最纯正的容器化 Serverless 体验。 章程对于 KnativeServerless 服务引擎 - ServingServerless 事件驱动 - Eventing阿里云 Knative阿里云产品交融阿里云 K8s 生态集成一个例子对于KnativeKnative 是基于 Kubernetes 的开源 Serverless 利用编排框架。实际上 Knative 蕴含的不单单是 Workload,它还有 Kubernetes 原生的流程编排引擎和齐备的事件零碎。 Knative 指标是基于 Kubernetes 提供利用 Serverless 工作负载编排的标准化。Knative 外围模块次要包含事件驱动框架 Eventing 和部署工作负载的 Serving。 Serverless服务引擎 - ServingKnative Serving 外围能力就是其简洁、高效的利用托管服务,这也是其撑持Serverless 能力的根底。当然作为SeverlesssFramework 就离不开按需分配资源的能力,Knative 能够依据您利用的申请量在顶峰期间主动扩容实例数,当申请量减少当前主动缩容实例数,能够十分自动化的帮忙您节省成本。Serving 还提供了的流量治理能力和灵便的灰度公布能力。流量治理能力能够依据百分比切分流量,灰度公布能力能够依据流量百分比进行灰度 简略的利用模型提供了极简的利用模型 - Knative Service,同时满足服务部署、服务拜访以及灰度公布的能力。能够用上面的公式表述:Knative Service = 工作负载(Deployment)+服务拜访(service)+灰度流量(Ingress)。利用模型如图: Service: 对 Serverless 利用模型的形象,通过Service 治理利用的生命周期configuration: 用于配置利用冀望的信息。每次更新Service 就会更新Configurationrevision: configuration的每次更新都会创立一个快照,用来做版本治理route: 将申请路由到Revision,并能够向不同的Revision 转发不同比例的流量利用托管Kubernetes 是面向 IaaS 治理的形象,通过 Kubernetes 间接部署利用须要保护的资源比拟多通过 Knative Service 一个资源就能定义利用的托管流量治理Knative 通过 Gateway 后果利用流量,而后能够对流量按百分比进行宰割,这为弹性、灰度等根底能力做好了根底灰度公布反对多版本治理,利用同时有多个版本在线提供服务很容易实现不同版本能够设置不同的流量百分比,对灰度公布等性能实现起来很容易弹性Knative 帮忙利用节省成本的外围能力是弹性,在流量减少的时候主动扩容,流量降落的时候主动缩容每一个灰度的版本都有本人的弹性策略,并且弹性策略和调配到以后版本的流量是相关联的。Knative 会依据调配过去的流量多少进行扩容或者缩容的决策丰盛的弹性策略作为 Serverless 框架,其外围能力就是主动弹性,Knative中提供了丰盛的弹性策略: ...

April 23, 2021 · 1 min · jiezi

关于分布式计算:实时-OLAP-从-0-到-1

简介:BTC.com 团队在实时 OLAP 方面的技术演进过程及生产优化实际。作者|高正炎 本文次要介绍 BTC.com 团队在实时 OLAP 方面的技术演进过程及生产优化实际,内容如下: 业务背景时机挑战架构演进架构优化将来瞻望一、业务背景1.1 业务介绍 - ABCD BTC.com 是一家区块链技术计划提供者,咱们的业务次要分为四个局部,总结来说就是 ABCD:A 是人工智能机器学习,B 是区块链,C 代表云,D 是数据。这些模块不仅互相独立的,也能够相互联合。近几年人工智能、区块链的减速倒退与大数据在背地提供的反对非亲非故。 1.2 业务介绍 - 区块链技术计划提供商 区块链艰深来讲能够了解为一个不可逆的分布式账本,咱们的作用是让大家能更好的浏览账本,开掘账本背地的信息数据。目前比特币的数据量级大略在几十亿到百亿,数据量大略在数十T,当然咱们也有其余的一些业务,如以太坊货币、智能合约剖析服务等。 整体而言咱们是一家区块链技术计划的提供商,提供挖矿的服务。与金融行业的银行一样,咱们也有很多的 OLAP 需要,比方当黑客攻击交易所或供应链进行资产转移或者洗钱时,须要通过链上的操作,咱们能够在链上对其进行剖析,以及交易上的跟踪,统计数据等,为警方提供帮助。 二、时机挑战2.1 之前的架构 大略 2018 年的时候,竞争对手比拟少,咱们整体的架构如上。底层是区块链的节点,通过 Parser 一直的解析到 MySQL ,再从 MySQL 抽取到 Hive 或者 Presto,从 Spark 跑各种定时任务分析数据,再通过可视化的查问,失去报表或者数据。架构的问题也是不言而喻的: 不能做到实时处理数据存在单点问题,比如某一条链路忽然挂掉,此时整个环节都会呈现问题2.2 遇到的需要与挑战 效率,效率问题是十分常见的。咱们的表大略在几十亿量级,跑这种 SQL ,可能须要很长时间, SQL 查问比较慢,重大影响统计效率。实时,数据不是实时的,须要等到肯定的工夫才会更新,如昨天的数据明天能力看到。监控,实时需要,如实时风控,每当区块链呈现一个区块,咱们就要对它进行剖析,然而区块呈现的工夫是随机的。不足残缺的监控,有时候作业忽然坏了,或者是没达到指标,咱们不能及时晓得。2.3 技术选型咱们须要思考什么 在技术选型的时候咱们须要思考什么呢?首先是缩容,2020年行情不太好,大家都在尽力缩减老本,更好的活下去。在老本无限的状况下,咱们如何能做更多的货色,必须进步本身的效率,同时也要保证质量。所以咱们须要找到一种均衡,在老本效率还有品质这三者之间进行肯定的均衡。 三、架构演进3.1 技术选型 俗话说,工具选的好,上班下的早,对于是否引入 Flink,咱们想了很久,它和 Spark 相比劣势在哪里? 咱们理论调研当前,发现 Flink 还是有很多劣势,比方说灵便的窗口,精准的语义,低提早,反对秒级的,实时的数据处理。因为团队自身更纯熟 Python ,所以咱们过后就抉择了 PyFlink ,有业余的开发团队撑持,近几个版本变动比拟大,实现了很多性能。在实时 OLAP 方面,数据库咱们采纳了 ClickHouse 。 ...

April 20, 2021 · 2 min · jiezi

关于云原生:Fluid-给数据弹性一双隐形的翅膀-自定义弹性伸缩

作者 | 车漾 Fluid 社区 Commiter谢远东 Fluid 社区 Commiter起源 | 阿里巴巴云原生公众号 导读:弹性伸缩作为 Kubernetes 的外围能力之一,但它始终是围绕这无状态的利用负载开展。而 Fluid 提供了分布式缓存的弹性伸缩能力,能够灵便裁减和膨胀数据缓存。 它基于 Runtime 提供了缓存空间、现有缓存比例等性能指标, 联合本身对于 Runtime 资源的扩缩容能力,提供数据缓存按需伸缩能力。背景随着越来越多的大数据和 AI 等数据密集利用开始部署和运行在 Kubernetes 环境下,数据密集型利用计算框架的设计理念和云原生灵便的利用编排的一致,导致了数据拜访和计算瓶颈。云原生数据编排引擎 Fluid 通过数据集的形象,利用分布式缓存技术,联合调度器,为利用提供了数据拜访减速的能力。 弹性伸缩作为 Kubernetes 的外围能力之一,但它始终是围绕这无状态的利用负载开展。而 Fluid 提供了分布式缓存的弹性伸缩能力,能够灵便裁减和膨胀数据缓存。它基于 Runtime 提供了缓存空间、现有缓存比例等性能指标, 联合本身对于 Runtime 资源的扩缩容能力,提供数据缓存按需伸缩能力。 这个能力对于互联网场景下大数据利用十分重要,因为少数的大数据利用都是通过端到端流水线来实现的。而这个流水线蕴含以下几个步骤: 数据提取:利用 Spark,MapReduce 等大数据技术对于原始数据进行预处理。模型训练:利用第一阶段生成特色数据进行机器学习模型训练,并且生成相应的模型。模型评估:通过测试集或者验证集对于第二阶段生成模型进行评估和测试。模型推理:第三阶段验证后的模型最终推送到线上为业务提供推理服务。 能够看到端到端的流水线会蕴含多种不同类型的计算工作,针对每一个计算工作,实际中会有适合的业余零碎来解决(TensorFlow,PyTorch,Spark, Presto);然而这些零碎彼此独立,通常要借助内部文件系统来实现把数据从一个阶段传递到下一个阶段。然而频繁的应用文件系统实现数据交换,会带来大量的 I/O 开销,常常会成为整个工作流的瓶颈。 而 Fluid 对于这个场景非常适合,用户能够创立一个 Dataset 对象,这个对象有能力将数据扩散缓存到 Kubernetes 计算节点中,作为数据交换的介质,这样防止了数据的近程写入和读取,晋升了数据应用的效率。然而这里的问题是长期数据缓存的资源预估和预留。因为在数据生产生产之前,准确的数据量预估是比拟难满足,过高的预估会导致资源预留节约,过低的预估会导致数据写入失败可能性增高。还是按需扩缩容对于使用者更加敌对。咱们心愿可能达成相似 page cache 的应用成果,对于最终用户来说这一层是通明的然而它带来的缓存减速成果是实实在在的。 咱们通过自定义 HPA 机制,通过 Fluid 引入了缓存弹性伸缩能力。弹性伸缩的条件是当已有缓存数据量达到肯定比例时,就会触发弹性扩容,扩容缓存空间。例如将触发条件设置为缓存空间占比超过 75%,此时总的缓存空间为 10G,当数据曾经占满到 8G 缓存空间的时候,就会触发扩容机制。 上面咱们通过一个例子帮忙您体验 Fluid 的主动扩缩容能力。 前提条件举荐应用 Kubernetes 1.18 以上,因为在 1.18 之前,HPA 是无奈自定义扩缩容策略的,都是通过硬编码实现的。而在 1.18 后,用户能够自定义扩缩容策略的,比方能够定义一次扩容后的冷却工夫。 ...

April 20, 2021 · 5 min · jiezi

关于运维:函数计算助力高德地图平稳支撑亿级流量高峰

简介:2020 年的“十一出行节”期间,高德地图发明了记录 ——截止 2020 年 10 月 1 日 13 时 27 分 27 秒,高德地图当日沉闷用户冲破 1 亿,比 2019 年 10 月 1 日提前 3 时 41 分达成此记录。 期间,Serverless 作为其中一个核心技术场景,安稳扛住了流量高峰期的考验。值得一提的是,由 Serverless 撑持的业务在流量高峰期的体现非常优良,每分钟函数调用量靠近两百万次。这再次验证了 Serverless 根底技术的价值,进一步拓展了技术场景。客户介绍2020 年的“十一出行节”期间,高德地图发明了记录 ——截止 2020 年 10 月 1 日 13 时 27 分 27 秒,高德地图当日沉闷用户冲破 1 亿,比 2019 年 10 月 1 日提前 3 时 41 分达成此记录。 期间,Serverless 作为其中一个核心技术场景,安稳扛住了流量高峰期的考验。值得一提的是,由 Serverless 撑持的业务在流量高峰期的体现非常优良,每分钟函数调用量靠近两百万次。这再次验证了 Serverless 根底技术的价值,进一步拓展了技术场景。 客户痛点自主出行是高德地图的外围业务,波及到用户出行相干的性能诉求,承载了高德地图 APP 内最大的用户流量。自主出行外围业务中利用 Node FaaS 的局部场景包含主图场景页、路线布局页和导航完结页等。 ...

April 19, 2021 · 1 min · jiezi

关于监控:面对不可避免的故障我们造了一个上帝视角的控制台

简介:混沌工程随着云原生的倒退逐步进入大家的视线,通过混沌工程能够很好地发现和解决在云原生化过程中的高可用问题。阿里巴巴在 2019 年开源了底层的混沌工程工具 - chaosblade,今年年初再次开源混沌工程控制台 chaosblade-box,ChaosBlade 品牌进一步降级。本文次要围绕云原生面临的高可用挑战和混沌工程时机,具体介绍开源控制台的设计、个性和实际和将来布局,旨在帮忙企业更好的理解控制台并通过其来实现混沌工程落地,解决云原生零碎下高可用问题。 作者 | 肖长军(穹谷) 起源 | 阿里巴巴云原生公众号 混沌工程随着云原生的倒退逐步进入大家的视线,通过混沌工程能够很好地发现和解决在云原生化过程中的高可用问题。阿里巴巴在 2019 年开源了底层的混沌工程工具 - chaosblade,今年年初再次开源混沌工程控制台 chaosblade-box,ChaosBlade 品牌进一步降级。本文次要围绕云原生面临的高可用挑战和混沌工程时机,具体介绍开源控制台的设计、个性和实际和将来布局,旨在帮忙企业更好的理解控制台并通过其来实现混沌工程落地,解决云原生零碎下高可用问题。 去年年底 AWS 和 Google 都呈现了比较严重的服务故障:AWS 故障是因为解决数据流服务 kinesis 呈现问题,导致很多云服务不可用;Google 故障是因为登录服务的扩容配额问题导致多服务不可用。从中能够发现,他们都存在因服务依赖不合理,导致一个服务故障影响多个服务不可用,短少应急预案,整个故障复原工夫比拟长,监控告警零碎不欠缺等问题,Google 故障产生几十分钟后才感知故障的产生,AWS 的 CloudWatch 处于不可用的状态。故障不可避免,所有的所有时时刻刻存在着失败的危险。 尤其随着麻利开发、DevOps、微服务、云原生架构和治理的呈现,利用的交付能力大大晋升,但零碎的复杂度也日益减少,在业务疾速迭代的同时,如何保障业务继续的高可用性和稳定性面临着很大的挑战。混沌工程通过被动注入故障的形式,提前发现零碎的薄弱点,推动架构的改良,最终实现业务韧性。 打不倒我的必使我弱小,建设韧性架构是混沌工程的指标。韧性架构蕴含两局部,一部分是韧性零碎,比方具备冗余性、扩展性、降级熔断、故障隔离等,防止级联故障,构建容灾容错的韧性零碎。另一部分是韧性组织,蕴含高效交付、故障预案、应急响应等组织协同建设。高度韧性的零碎也会呈现预期之外的故障,所以韧性的组织能补救韧性零碎缺失的局部,通过混沌工程构建极致的韧性架构。 常见的云原生高可用架构架构基本上是基于多可用区,或者是跨地区级的容灾架构,业务利用采纳微服务架构下集群部署,中间件具备容错容灾能力等等。从底层设施到下层业务,都存在潜在的故障危险,比方机房断网、整个可用区不可用、集群宕机、中间件节点 crash 等。从可用区到集群、主机,再到细粒度的申请,故障影响的爆炸半径逐步减小,这也是混沌工程准则中十分重要的一点 -- 管制爆炸半径。管制爆炸半径的形式个别有两种:一是环境隔离,通过隔离试验的机房、集群等来管制影响面;二是基于试验工具或平台本身的场景控制能力,比方 chaosblade 试验工具,通过试验参数来管制试验粒度,比方微服务调用提早,能够管制到单个服务接口、版本,甚至一次申请。上面咱们来介绍一下 chaosblade 混沌试验工具。 Chaosblade 是一款遵循混沌试验模型的混沌试验执行工具,具备场景丰盛度高、简略易用等特点,而且扩大场景也特地不便,开源不久便被退出到 CNCF Landspace 中,成为支流的一款混沌工具。chaosblade 是个间接下载解压即可应用的工具,不须要装置,它反对的调用形式蕴含 CLI 形式,间接执行 blade 命令,这里举个做网络屏蔽的例子:咱们增加 -h 参数就能够看到十分欠缺的命令提醒,比方要一个 9520 端口调用做网络丢包,它的演练指标是 network;它的 action 是丢包;它的 matcher 就是调用近程的一个服务端口 9520。执行胜利后会返回试验后果,每一个试验场景咱们都会作为一个对象,它会返回一个试验对象的 UID,此 UID 用于后续的试验治理,比方销毁、查问试验都是通过此 UID 来做的。要销毁试验,也就是复原试验,间接执行 blade destroy 命令就能够。 ...

April 9, 2021 · 2 min · jiezi

关于kubernetes:k8s环境中监控不通问题排查思路

k8s中的监控原理、prometheus采集原理 能够看这个文章k8s监控指标汇总,prometheus采集k8s原理解析 k8s-mon我的项目介绍我的项目地址https://github.com/n9e/k8s-mon 视频介绍https://www.bilibili.com/vide...kube-stats-metrics 没数据排查思路 dns问题首先察看k8s-mon-deployment的日志kubectl logs -l app=k8s-mon-deployment -n kube-admin |grep 8080# 如有下列报错阐明网络不通# err="Get \"http://kube-state-metrics.kube-system:8080/metrics\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)"排查dns,在node上申请coredns 服务root@k8s-local-test-01:/etc/kubernetes/manifests$ kubectl get svc -n kube-system |grep dnskube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 73d在node上申请 coredns 解析 kube-stats-metrics 域名# 10.96.0.10 为申请到的coredns svc 地址 # 因为node上的搜寻域没有 svc.cluster.local,所以须要FQDNdig kube-state-metrics.kube-system.svc.cluster.local @10.96.0.10 # 如果失常的话则会有如下 A记录 root@k8s-local-test-01:~$ dig kube-state-metrics.kube-system.svc.cluster.local @10.96.0.10; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.3 <<>> kube-state-metrics.kube-system.svc.cluster.local @10.96.0.10;; global options: +cmd;; Got answer:;; WARNING: .local is reserved for Multicast DNS;; You are currently testing what happens when an mDNS query is leaked to DNS;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12799;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1;; WARNING: recursion requested but not available;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096;; QUESTION SECTION:;kube-state-metrics.kube-system.svc.cluster.local. IN A;; ANSWER SECTION:kube-state-metrics.kube-system.svc.cluster.local. 25 IN A 10.100.30.129;; Query time: 0 msec;; SERVER: 10.96.0.10#53(10.96.0.10);; WHEN: Fri Apr 02 15:14:46 CST 2021;; MSG SIZE rcvd: 141在node上申请kube-stats-metricsroot@k8s-local-test-01:/etc/kubernetes/manifests$ curl -s 10.100.30.129:8080/metrics |head # HELP kube_certificatesigningrequest_labels Kubernetes labels converted to Prometheus labels.# TYPE kube_certificatesigningrequest_labels gauge# HELP kube_certificatesigningrequest_created Unix creation timestamp# TYPE kube_certificatesigningrequest_created gauge# HELP kube_certificatesigningrequest_condition The number of each certificatesigningrequest condition# TYPE kube_certificatesigningrequest_condition gauge# HELP kube_certificatesigningrequest_cert_length Length of the issued cert# TYPE kube_certificatesigningrequest_cert_length gauge# HELP kube_configmap_info Information about configmap.# TYPE kube_configmap_info gauge如果有输入证实 node上申请 coredns没问题,申请ksm服务也没问题 ...

April 2, 2021 · 3 min · jiezi

关于边缘计算:2B-领域下低代码的探索之路

简介:低代码将成为B端服务畛域的基础设施,必将颠覆传统开发方式,将来可期。作者:天晟 前言大家好,我是钉钉宜搭前端一个小团队的负责人天晟,在阿里做了五年的低代码。明天的分享咱们不讲技术细节,次要会分享下咱们这五年的摸索过程和以后的市场剖析,心愿能给大家带来一个对低代码搭建不一样视角的意识。 什么是低代码说起低代码(Low-Code)这个词,是在 2014 年,Forrester Research 第一次正式应用低代码来形容这个市场。国内也就是近几年开始风行的,以前咱们这边叫「可视化搭建」,可视化搭建讲起来有个很大的毛病,就是很容易和数据可视化傻傻分不清楚。我还记得,2018 年的时候,过后做一个分享,主题是 「泛可视化搭建的解决方案」,我老板的老板说倡议我把「泛可视化」改为「低代码」,我过后回复说不改,低代码听着有点 low,「泛可视化」高大上些。起初也不晓得什么时候开始习惯了一口一个低代码,而且衍生了 Node-Code/Pro-Code。当初回想起来,过后是本人 low。 看下业界领军者对低代码的定义: outsystems: 「低代码是一种软件开发办法,能够更快地交付应用程序,并且只需很少的手工编码。低代码平台是一组工具,这些工具能够通过建模和图形界面来可视化利用程序开发。能够使开发人员能够跳过手工编码,从而放慢了将应用程序投入生产的过程。」mendix: 「低代码开发是一种可视化利用开发方法。通过低代码开发,不同教训程度的开发人员可能通过图形用户界面,应用拖放式组件和模型驱动逻辑来创立 Web 和挪动利用。低代码开发平台加重了非技术开发人员的压力,帮其免去了代码编写工作,同时也为业余开发人员提供了反对,帮忙他们提取利用开发过程中的繁琐底层架构与基础设施工作。业务和 IT 部门的开发人员能够在平台中协同,创立、迭代和公布利用,而所需工夫只是传统办法的一小部分。这种低代码利用开发方法可针对不同用例开发各种类型的利用,包含将原有利用降级为反对 IoT 的智能利用。」能够提炼出几个词:模型/建模、图形界面、拖放组件、放慢、加重。连起来就是:通过模型/建模、图形界面拖放组件能够放慢利用开发,加重了非技术开发人员的压力。其实从前端的角度看,低代码的鼻祖应该是它: 从我目前阶段的了解,低代码是这个: 以后市场剖析市场规模依据 Forrester 的报告,2019 年该畛域的规模预计为 38 亿美元,预计在 2021 年这一赛道的市场规模将增长到 152 亿美元,75% 的应用程序将在低代码平台中开发。到 2022 年该市场规模将达到 212 亿美元。 依据 Gartner 预测,到 2021 年利用开发需要的市场增长,将至多超过企业 IT 交付能力的 5 倍。到 2024 年寰球约有 65% 的应用程序都将波及低代码开发(Forrester 、Gartner 寰球最具影响力的独立钻研征询公司)。 1、领导者:行业领导者既要体现出超强的执行能力(好的产品与良好的销售业绩相匹配),又要体现出具备远见(产品翻新和相称的营销策略)的策略打算。LCAP 的领导者次要包含云 SaaS 提供商(Microsoft、Salesforce、ServiceNow),业余的低代码提供商(Mendix、OutSystems)以及混合 RPA 和低代码应用程序供应商(Appian)。这些供应商具备弱小产品能力、市场影响力以及用户体验。 2、挑战者:在市场占有率、产品能力方面与领导者的差距并不是很大,将来有能力成为该行业领导者。 3、特定畛域者:不仅能够提供低代码利用平台技术,还混合了其余技术,例如,RPA、业务流程开掘、BPM 等技术。他们是 LCAP 行业的中流砥柱,领有良好的倒退空间。 4、远见者:远见者具备良好的单干生态以及市场倒退策略,在产品翻新方面也有很强的能力。然而在业务执行方面与领导者有着较大的差距。置信随着工夫的推移他们会更上一层楼。 市场分类目前我看到的市场上次要有两类: 一种是基于表单驱动,外围能力是表单、流程、报表,在肯定的场景下,能够疾速的做业务交付,上手老本也比拟低。比方:宜搭、简道云、明道云、氚云等。 ...

April 2, 2021 · 1 min · jiezi

关于云原生:Serverless-可观测性的过去现在与未来

作者 | 孔德慧(夏莞)起源 | 阿里巴巴云原生公众号 背景1. Serverless 将成为下一个十年云的默认编程范式随着 Serverless 概念的进一步遍及,开发者逐步从张望状态进入尝试阶段,越来越多的企业用户开始将业务迁徙到 Serverless 平台。在阿里团体外部,淘宝、飞猪、闲鱼、高德、语雀等外围性能稳步落地,在阿里团体内部,新浪微博、世纪联华、石墨文档、TPLink、蓝墨云班课等各行各业的企业也纷纷解锁 Serverless 应用的不同场景。Serverless 正在成为成为下一个十年云的默认编程范式。 更多案例请参考 函数计算用户案例。 Serverless 降本增效免运维的个性为开发者带来了实打实的益处:基于函数计算的 Serverless 计划为蓝墨节俭了 60% 左右的 IT 老本,为石墨文档节约了 58% 的服务器老本;晋升码隆科技的开发效率,实现两周内性能上线;安稳撑持负载的波峰波谷相差 5 倍以上的新浪微博,每天轻松解决数十亿申请。 2. 可观测性成为 Serverless 倒退的绊脚石?随着 Serverless 的深刻应用,开发者逐步发现 Serverless 架构下的问题定位比传统利用更加艰难,次要起因如下: 组件散布化:Serverless 架构的利用往往粘合多个云服务,申请须要流经多款云产品,一旦端到端延时变长或体现不合乎预期,问题定位十分复杂,须要顺次去各个产品侧逐渐排查。调度黑盒化:Serverless 平台承当着申请调度、资源分配的责任,实时弹性扩容会带来不可避免的冷启动,Serverless 的资源伸缩是无需开发者参加也不受开发者管制的。冷启动会影响端对端延时,这次申请有没有遇到冷启动,冷启动的工夫都耗费在哪些步骤,有没有可优化的空间都是开发者急于晓得的问题。执行环境黑盒化:开发者习惯于在本人的机器上执行本人的代码,出了问题登录机器查看异样现场,查看执行环境的 CPU/内存/IO 状况。面对 Serverless 利用,机器不是本人的,登也登不上,看也看不了,开发者眼前一片乌黑。产品非标化:在 Serverless 场景下,开发者无法控制执行环境,无奈装置探针,无奈应用开源的三方监控平台,考察问题的形式不得不产生扭转,传统的考察问题教训无奈施展,十分不棘手。函数计算是阿里云的 Serverless 产品,在过来的一年,函数计算团队为了更好地答复以上问题做了很多致力。 本文次要介绍函数计算在可观测性上的尝试与函数计算可观测性现状。 Serverless 下可观测性可观测性是通过内部体现判断零碎外部状态的掂量形式。 --维基百科在利用开发中,可观测性帮忙咱们判断零碎外部的健康状况。在零碎安稳运行时,帮忙咱们评估危险,预测可能呈现的问题。当零碎呈现问题时,帮忙咱们疾速定位问题,及时止损。 一个好的可观测性零碎要帮忙用户尽可能快地发现问题、定位问题并且端到端地解决问题。 在 Serverless 这种免运维的平台体系中,可观测性是开发者的眼睛,没有可观测,何谈高可用? 1. 可观测性 1.0图1 -可观测性根底 可观测性次要蕴含三个局部:日志、指标、链路追踪。 和简直所有 FaaS 产品一样,函数计算(FC)在商业化之初就反对了函数日志和指标的查看。 函数日志用户在 FC 配置 SLS 的 Project 和 Logstore,FC 将函数打到 stdout 的日志转存到用户的 Logstore 中。用户能够通过 SLS 控制台查看函数日志,并借助 SLS 的能力对日志进行剖析和聚合。 ...

April 2, 2021 · 2 min · jiezi

关于云原生:OpenTelemetry-简析

作者 | 悟鹏起源 | 阿里巴巴云原生公众号 OpenTelemetry 是 CNCF 的一个可观测性我的项目,旨在提供可观测性畛域的标准化计划,解决观测数据的数据模型、采集、解决、导出等的标准化问题,提供与三方 vendor 无关的服务。 2021.02.10,OpenTelemetry 的 tracing spec 达到 1.0 版本 (link),基于这个里程碑,笔者对 OpenTelemetry 进行了摸索,判断在可观测性畛域带来的价值和发展前景。 上面给出笔者对 OpenTelemetry 的了解,抛砖引玉。因为笔者能力无限,了解不当的中央请大家斧正。 OpenTelemetry 是什么?从官网 What is OpenTelemetry? 可理解到: OpenTelemetry is a set of APIs, SDKs, tooling and integrations that are designed for the creation and management of telemetry data such as traces, metrics, and logs.The project provides a vendor-agnostic implementation that can be configured to sent telemetry data to the backend(s) of your choice. It supports a variety of popular open-source projects including Jaeger and Prometheus. ...

April 2, 2021 · 3 min · jiezi

关于消息中间件:DataWorks-OpenAPI企业开发实战运维监控大屏

简介:本文将会介绍如何通过应用DataWorks OpenAPI、DataWorks凋谢元数据、DataWorks凋谢事件音讯三大利器搭建企业本人的DataWorks运维大屏。其中DataWorks OpenAPI曾经面向所有企业凋谢商业化,而DataWorks凋谢元数据、DataWorks凋谢事件音讯还在邀测中。工欲善其数,必先利其器!DataWorks OpenAPI现已正式公布,通过自带的100多个API 性能,能够疾速进行批量操作与系统集成对接等,助您显著晋升数据开发效率! (DataWorks OpenAPI限企业版及以上版本应用) DataWorks OpenAPI现凋谢7天收费试用,请应用钉钉扫码分割,提供试用账号的UID与Region即可。 本文将会介绍如何应用DataWorks OpenAPI、DataWorks凋谢元数据、DataWorks凋谢事件音讯三大利器搭建企业本人的DataWorks运维大屏。其中DataWorks OpenAPI曾经面向所有企业凋谢商业化,而DataWorks凋谢元数据、DataWorks凋谢事件音讯还在邀测中。 租户级别运维监控1、工作大盘如上图所示,咱们能够在大屏上展现每天的节点总数和产生的实例(工作)总数以及他们的环比状况,那么能够通过DataWorks凋谢元数据的表raw\_v\_schedule\_node的数据计算出每日的节点总数而后再回流到RDS,通过raw\_v\_schedule\_task表的数据则能够计算出每日的实例总数而后再回流到RDS,这样就能失去每日的总数,通过计算后计算出环比。 想要应用DataWorks凋谢元数据的表须要在咱们的邀测名单中,给主账号实现表受权后就能应用本人的数据了。 2、工作运行趋势图该图展现DataWorks每日工作实现状况,这个监控图须要借助DataWorks凋谢事件音讯的实时数据来统计实现,DataWorks凋谢事件音讯目前邀测凋谢了调度工作事件音讯和元数据表事件音讯两种事件音讯,订阅调度工作事件音讯后可实时拿到调度工作的实时运行状况,比方某个工作开始等工夫时就能收一条DataWorks事件音讯,在本地零碎接管到该音讯后能拿到工作的概要信息,如果想要获取该工作的更多信息能够通过调用GetInstance接口获取。工作从未运行->等工夫->等资源->开始运行->运行胜利整个运行生命周期都能订阅到事件音讯,拿到实例信息后能够存储到RDS,通过积攒后就能造成下面所示的工作运行状况趋势图了。 通过调度的事件音讯数据不仅能够展现工作实现状况,还能展现工作各时间段等资源、运行中、运行失败状况。想要订阅DataWorks凋谢事件音讯须要在咱们的邀测名单中,咱们颁发DataWorks的Kafka Topic以及账密后就能订阅到本人的音讯了。 3、工作类型分布图基于第2节中从raw\_v\_schedule\_node统计的数据也能够拿到工作类型分布图中。工作类型对应的字段是prgName。 我的项目级别运维监控1、周期实例数量趋势图通过调用DataWorks OpenAPI的接口GetInstanceCountTrend即可拿到某我的项目下的周期实例运行数据,参考文档https://help.aliyun.com/document\_detail/185675.html?spm=a2c4g.11186623.6.1294.13494e6dN9Hr0K 2、实例运行时长排行通过调用DataWorks OpenAPI的接口GetInstanceConsumeTimeRank即可拿到某我的项目下实例运行时长数据,参考文档https://help.aliyun.com/document\_detail/185676.html?spm=a2c4g.11186623.6.1295.2c0161c2yTlqiV 3、实例运行出错排行通过调用DataWorks OpenAPI的接口GetInstanceErrorRank即可拿到某我的项目下近一个月节点的出错数据,参考文档https://help.aliyun.com/document\_detail/185677.html?spm=a2c4g.11186623.6.1296.44945985P8ONel 4、结语以上内容介绍了运维大屏的一些根底性能和如何应用DataWorks OpenAPI的能力来实现,基于这些能力用户能够挖掘出更多丰盛的需要和场景,如果您有更好的想法也能够分割咱们。 本文案例中应用到的API列表: GetInstanceCountTrend GetInstanceConsumeTimeRank GetInstanceErrorRank 本文案例中应用到的元数据表列表: raw\_v\_schedule\_node raw\_v\_schedule\_task 本文案例中应用到的事件音讯:任务调度事件 DataWorks OpenAPI实战系列:数据开发全流程介绍 DataWorks OpenAPI 示例(元数据模块) DataWorks OpenAPI现凋谢7天收费试用,请应用钉钉扫码分割,提供试用账号的UID与Region即可。 提效神器,DataWorks OpenAPI凋谢7天收费试用! 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

April 1, 2021 · 1 min · jiezi

关于消息中间件:Flink-SQL-在网易云音乐的产品化实践

简介:云音乐的性能优化、运维欠缺实战经验分享。 摘要:本文由网易云音乐数据智能部资深数据平台开发工程师蒋文伟分享,次要介绍 Flink SQL 在云音乐的产品化实际。分享内容如下: 简介产品性能性能优化运维欠缺将来布局一、背景简介1.Flink in Music先简略的介绍下云音乐的现状,目前音乐这边的客户端日志,服务端日志大略在每日大千亿条左右,维度表数据源像 Redis,MySQL 这些大略有上百个。而服务的实时计算工作开发的人员有上百名,其中不仅包扩数据开发工程师,分析师,也包含算法,后盾业务等同学。这些同学们也累积开发了上千个实时计算工作,这些工作不仅有统计工作,还有些一线业务,比方排行榜,实时热度等。 2.利用场景这里我略微列举了一些业务场景,比方咱们的内容散发、实时数仓、算法举荐,还有索引工作、实时监控,AB test 等,简直涵盖了整个数据链路中的大部分业务场景,能够说咱们当初的业务曾经离不开 Flink 的体系,那前面咱们会以其中几个场景为例,看看咱们在这些场景中应用原生的 Flink 会遇到那些问题。 ■ 内容散发第一个介绍的场景是散发,散发是个十分典型的场景。它会依据肯定条件对数据流进行划分,把输出数据流切分成多个子流。 个别状况下散发会是整个数据链路的上游,所以相对来说这类工作十分重要,那么咱们在这个场景中会遇到什么问题呢? 问题1:开发效率低,业务规范流程难以复用首先是开发效率低下,这类业务逻辑非常简单,外围开发工作其实就是个 where 筛选,然而传统的开发方式须要用户理解很多额定的货色,比方 HDFS 的定时清理性能,如果这个组件交由用户开发,势必要凋谢权限,那么就可能会导致 HDFS 仓库文件被误删等安全事故,所以咱们须要建设一套对立框架,且能够提供一系列标准化的组件,用户仅须要关怀其外围业务逻辑即可。 问题2:学习老本高第二个问题是学习老本较高,SQL 是一种十分优良的数据处理语言,很多同学也都会,然而 Flink SQL 的配置却没一般 SQL 那么简略。Flink SQL 要求用户对每个组件的配置都十分相熟,这是一个 HDFS 的 sink 操作,须要在 SQL 中配置输入目录,分区字段,文件大小,keytab,压缩格局等一系列的参数,而这些参数须要用户通过文档来学习。 针对这个,咱们须要一种前端上的优化,通过给用户可视化的提醒,来简化配置,升高学习老本。 问题3:外部环境凌乱第三,对一个稳定性,以及性能要求比拟高的工作来说,所有的这些监控、报警的配套体系建设也都是必不可少的。 ■ 特色快照第二个例子,特色快照,先简略的说下什么是特色快照,特色快照简略的能够了解成把特色的历史版本进行存储,为什么要这么做呢,因为特色是动态变化的,每个事件未必能保准程序达到,一个用户先点喜爱 DJ,在播放歌曲,再点击喜爱了动漫,咱们最终这次播放关联的应该是 DJ 而不是动漫,但依照工夫序可能就是错的,所以,对一每个版本的特色和 tag,都会有其惟一的 traceid 来进行治理,也就是一个 traceid 一个特色版本,这块在实时机器学习场景应用的十分宽泛。 这边能够看到工作的流程图,包含数据荡涤,收集,抽样,去重,join 等流程,这些流程也有很多业务逻辑,像 join 这个流程如果 join 不上怎么办,是放在内存里等,还是再次回流到 kafka 期待下一轮匹配,亦或是应用降级计划。相对来说,对稳定性、兜底计划等都有较多要求。 ...

April 1, 2021 · 2 min · jiezi

关于数据采集:从实战中了解数据开发全流程DataWorks-OpenAPI实战

简介:DataWorks作为飞天大数据平台操作系统,历经11年倒退,造成了涵盖数据集成、数据开发、数据治理、数据服务的一站式大数据开发治理平台。很多企业用户在应用产品的过程中心愿他们的本地服务可能和阿里云上的DataWorks服务进行交互,从而晋升企业大数据处理的效率,缩小人工操作和运维工作,升高数据危险和企业老本,当初DataWorks凋谢OpenAPI能力满足企业的定制化需要。DataWorks作为飞天大数据平台操作系统,历经11年倒退,造成了涵盖数据集成、数据开发、数据治理、数据服务的一站式大数据开发治理平台。很多企业用户在应用产品的过程中心愿他们的本地服务可能和阿里云上的DataWorks服务进行交互,从而晋升企业大数据处理的效率,缩小人工操作和运维工作,升高数据危险和企业老本,当初DataWorks凋谢OpenAPI能力满足企业的定制化需要。 DataWorks OpenAPI涵盖租户、元数据、数据开发、运维核心、数据品质、数据服务等DataWorks外围能力,企业版和旗舰版别离赠送100万次/月、1000万次/月的收费调用额度。 对于Dataworks OpenAPI开明要求和凋谢地区可查阅DataWorks OpenAPI概述 限DataWorks企业版及以上应用立刻开明 开明7天试用请应用钉钉扫码分割 实战简介咱们假如这样一个简略的场景,开发人员想把RDS库外面的数据同步到一张MaxCompute分区表中,而后在自建零碎的页面上展现通过数据分析后的报表数据,那么如何通过DataWorks OpenAPI去实现整个链路的实现呢? 实战筹备一、引入DataWorks OpenAPI SDK这一部分可参考 装置 DataWorks OpenAPI Java SDK,除了java语言,咱们还反对Python,PHP,C#,Go 等语言反对。默认状况下咱们不须要显式去指定DataWorks OpenAPI的EndPoint,然而如果aliyun-java-sdk-core版本偏低的状况下可能会找不到DataWorks OpenAPI的Endpoint,这时候可在不降级版本的状况下通过应用如下代码进行申请。 IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", "XXX", "xxx"); DefaultProfile.addEndpoint("cn-shanghai","dataworks-public", "dataworks.cn-shanghai.aliyuncs.com"); IAcsClient client = new DefaultAcsClient(profile);如上代码是显式地指定了DataWorks OpenAPI的EndPoint,dataworks.${regionId}.aliyuncs.com这样的域名格局在公网环境下可拜访,然而有些用户须要在VPC环境下调用OpenAPI,那么则须要把域名dataworks.${regionId}.aliyuncs.com 变更成 dataworks-vpc.${regionId}.aliyuncs.com,这样在VPC网络环境下即便不能拜访公网也能申请到DataWorks OpenAPI。 如果您不分明regionId(地区ID)的概念,可参考地区和可用区。 二、理解DataWorks OpenAPI文档具体浏览DataWorks OpenAPI文档对开发十分有帮忙,做API开发时如果对参数的束缚不太了解时可参考DataWorks OpenAPI文档,外面对每个出入参、参数示例、错误码形容都有具体的解释。点击查看API参考>> 实战步骤步骤一:创立RDS数据源集成租户API可创立引擎、创立数据源、查看我的项目空间等信息。在咱们这个业务场景中,MaxCompute分区表存在于MaxCompute引擎中,咱们在DataWorks管控台创立完MaxCompute工作空间后会主动创立好MaxCompute引擎的数据源,所以咱们只须要应用【CreateConnection】创立好RDS数据源即可: CreateConnectionRequest createRequest = new CreateConnectionRequest(); createRequest.setProjectId(-1L); createRequest.setName("TEST_CONNECTION"); createRequest.setConnectionType("MYSQL"); createRequest.setEnvType(1); createRequest.setContent("{\"password\":\"12345\"}"); Long connectionId; try { CreateConnectionResponse createResponse = client.getAcsResponse(createRequest); Assert.assertNotNull(createResponse.getData()); connectionId = createResponse.getData(); UpdateConnectionRequest updateRequest = new UpdateConnectionRequest(); updateRequest.setConnectionId(connectionId); updateRequest.setDescription("1"); UpdateConnectionResponse acsResponse = client.getAcsResponse(updateRequest); Assert.assertTrue(acsResponse.getData()); DeleteConnectionRequest deleteRequest = new DeleteConnectionRequest(); deleteRequest.setConnectionId(connectionId); DeleteConnectionResponse deleteResponse = client.getAcsResponse(deleteRequest); Assert.assertTrue(deleteResponse.getData()); } catch (ClientException e) { e.printStackTrace(); Assert.fail(); }UpdateConnection和DeleteConnection可别离批改和删除数据源信息。另外对我的项目空间的成员进行治理的API集是CreateProjectMember、DeleteProjectMember、RemoveProjectMemberFromRole、ListProjectMembers。 ...

March 31, 2021 · 3 min · jiezi

关于存储:Stream-is-the-new-file

简介:随着5G 网络、容器云、高性能存储硬件程度的一直进步,流解决正在领有越来越宽泛的市场前景。作者 | 滕昱(戴尔科技团体 软件开发总监) 随着5G 网络、容器云、高性能存储硬件程度的一直进步,流解决正在领有越来越宽泛的市场前景。 各种各样的设施传感器、监控摄像头、挪动终端设备等等无时无刻不在产生着大量的流式数据。针对不同的场景,流式数据兴许会有各式各样不同的特点,然而对于这些流式数据的解决,往往都有实时或者靠近于实时的、无边界连续不断的、低延时的共性要求。而这些要求,恰好就是流解决的根本特点。 仅仅从这些根本特点看,如同流解决早曾经被实现了。不论是70年代开始衰亡的规定引擎,还是基于传统的关系型数据库的简单海量数据处理,貌似都符合要求,甚至在编程语言里都既有了对这些解决零碎的反对。然而Stonebraker,Çetintemel和Zdonik在2005年的论文《The 8 Requirements of Real-Time Stream Processing》中指出,现有的这些零碎其实还不能真正满足流解决的要求,流解决技术还须要进一步的倒退。 这也是为什么现阶段蕴含Flink在内的流批一体的大数据技术栈继续在不停倒退的起因。IDC报告指出,将来的3~5年整个实时数据会以惊人的速度增长。那么不论是针对实时数据的流解决,还是针对历史数据的批处理,也都须要同步的倒退来满足时代的要求。 这些流批一体的大数据技术栈的倒退,不光蕴含Flink等解决引擎的进化,也包含存储畛域。那么在存储畛域,针对古代流解决,又有哪些进化和倒退呢? 传统来说,数据往往以文件的模式组织,用文件系统加以治理。 然而,文件接口形象真的能很好的解决流式的间断数据么?让咱们来看一看。 首先,假如咱们用文件和文件系统来做一个流存储。把传感器、用户日志、用户输出这些数据注入一个文件中,貌似并没有什么问题。然而被写入文件的数据必须被继续一直的读取进去。也就是说,继续一直被写入文件的数据,必须不停的被读取进去用以解决,这是文件接口和针对间断数据流解决最基本的区别。 其次,当数据质变大的时候,并发是必须的。咱们当然能够利用多个文件实现并发写。但这也意味着读端的应用程序必须追踪多文件读。为减少并发而带来的多文件读取的协调和追踪并没有蕴含在文件接口的形象里,所以这对读应用程序来说,并不是通明的。 第三,如果进一步思考动静扩大呢?动静扩大意味着在程序读取的过程中再动静生成新的文件或者合并已有文件以适应新的并发度。在这种状况下,读端应用程序须要本人监测在读文件的新增和缩小,这是除应用程序自身业务逻辑之外额定的工作。 第四,数据是间断无边界的,须要一种标记来记录以后数据的读取地位。横跨多个文件去设计逻辑上全局统一的地位点,进一步减少了应用程序的复杂性。 第五,IOT场景往往须要保护针对同一设施号的数据序列。如果把设施数据当作文件,把设施号当作key,那么注入端须要key到文件的映射解决并保护在同一key命名空间下的per-key order。同时,读取端还得做到多文件读取的负载平衡。这些都是文件和文件系统形象不能实现,所有的工作都推向了下层应用程序。 第六,对于流解决来说,数据的革除往往是从流数据的头开始删除,先写入的先删。文件接口形象并不能很好的解决这点。 近些年来,业界其实是广泛应用了一个两头解决方案,通过messaging零碎(比方Kafka)+文件系统的混合形象计划注入。这解决了局部问题,比如说动静扩大、注入端的并行问题。然而这不是一个残缺的端到端解决方案。实时流计算是走了messaging接口躲避了文件接口的一些问题,然而针对历史数据的批处理还是须要文件接口,这实际上是针对同一数据的两种零碎。 所以,对于间断的流式数据的存储层形象,咱们须要的既不是原来的基于传统数据库的实现,也不是基于messaging零碎的转化,而是从头设计一个残缺的流存储系统。 那么,这种流存储的形象能给下层的计算单元带来什么样的益处呢?让咱们来具体看一下。 首先,对于之前提到的messaging零碎+文件系统,数据须要用stream接口进入messaging零碎,然而可能以文件接口方式读出,在接口形象上并不统一。咱们须要的流存储形象,不论是注入端还是读取端,都是stream接口,给应用程序对立的形象。 其次,流存储形象须要提供动静扩大性能。在应用程序看来,它只须要往一个stream里写入数据。至于这个stream形象怎么基于注入量进行动静扩大,或者在多路并发下怎么保障per-key的order,由形象层外部解决,对应用程序齐全通明。 第三,在所有状况下,哪怕是动静扩大过程中,从流存储形象层读出的数据,具备per-key的order保障。 第四,流存储形象可能在逻辑上提供基于工夫的全局统一的地位点,咱们称之为Stream Cut。应用程序依赖于此可能回放到任意一个地位点,回放或重试业务逻辑。 计算引擎例如Flink可能利用流存储形象提供的Stream Cut,基于流存储系统解决的checkpointing性能,实现端到端的exactly-once保障。这在文件形象接口上,是很难做到的。 除此之外,还有很多其余针对streaming典型场景的的益处,例如原子读写,低延时的tail read、事务反对、历史数据truncation等等。 那么,假如有了这个很好的流存储形象呈现,它能做什么? 咱们可能基于这层形象,建造更简略、更分明的大数据的流水线。 海量的间断流式数据注入这个流水线,被保留到流存储中。以Flink为代表的流批一体的处理单元用流存储提供的对立接口,包含针对流解决的低提早的tail read,以及针对批处理的高吞吐的historical read,针对同一份数据,提供反对exactly-once语义的数据处理。一种形象一套解决,简化流程。 当然理论中流水线会更加简单一些。数据往往是被写入Edge端,进行on-the-fly的实时计算解决,比方监控摄像头拍下的图片图像的预处理。同时,数据也能够被发送到数据中心的公有云或者是私有云上,作更大规模的准实时的一个计算。这样的形式,让大数据流水线的开发变得十分的分明和简洁。 Pravega(梵语:high speed)就是在流存储形象的需要背景下应运而生的零碎,具备后面提到的流存储形象的所有特点。Pravega是2016年创立开源我的项目Apache2 License,近期已被退出CNCF。 ...

March 29, 2021 · 1 min · jiezi

关于监控:m3db资源开销聚合降采样查询限制等注意事项

m3db资源开销问题:无需用ssd,也没必要做raid失常状况下m3db 对io要求不高因为和prometheus一样设计时采纳了mmap等技术,所以没必要采纳ssd和open-falcon/夜莺等采纳rrd不同,rrd 单指标单文件,很耗iocpu和内存开销写峰很危险,起因很简略 一条新的数据写入的时候,须要申请block,索引等一系列内存,随同着cpu开销然而如果没有新的数据,只是一直的写入点,那么只波及到点的append追加,则开销较小所以在突发的写峰对于tsdb来说就是危险,比方auto_scaling最现实的状况就是100w条数据,都是安稳的没有变动的继续追加点写入然而在容器中不事实,因为每次pod滚动都波及 id等惟一值的变动读峰也很危险,起因如下 m3db默认内置lru会缓存查问的block等,这个为了一个典型的场景就是一个dashboard查出来后点刷新工夫,除了工夫其余查问tag没变动,这种lru能应酬的很好然而对于高基数的查问来说,lru的意义就不大了而且会波及到读取放大的问题,假如1w基数须要100M内存,则100w基数须要10G内存m3db bootstrap速度问题在节点oom或其余起因导致的重启中,bootstrap速度决定了节点多久能提供服务bootstrap速度和namespace 数量正相干,和数据量大小正相干而且会优先提供写服务,防止长时间不能写入数据造成断点而且再重启时 会有大量读盘操作,根本能把io打满(因为须要将磁盘中的局部数据缓存到内存中)聚合阐明不要间接在m3coordinator 中开启聚合咱们晓得间接在m3coordinator中配置 type: aggregated的namespace是能够间接开启聚合的然而官网文档 说的很分明了The M3 Coordinator also performs this role but is not cluster aware.This means metrics will not get aggregated properly if you send metrics in round robin fashion to multiple M3 Coordinators for the same metrics ingestion source (e.g. Prometheus server).因为数据依照轮询模式打过去到m3coordinator上,导致同一个指标的不同时刻数据可能呈现在多个m3coordinator上,聚合进去的后果就是错的利用m3aggregator 做downsample与M3DB类似m3aggregator,默认状况下反对集群和复制。这意味着度量规范已正确路由到负责聚合每个度量规范的一个或多个实例并且m3aggregator能够配置多个正本,以使聚合没有单点故障。降采样原理m3agg依据配置的 resolution计算后推给 m3coordinator 回写m3db如下配置咱们能够降采样的保留监控数据:留神 上面距离和粒度都是依据grafana查问工夫算的step推算出的 default表:不聚合保留30小时agg1表:5m为粒度保留96小时,即4天agg2表:20m为粒度保留360小时,即15天agg3表:60m为粒度保留360小时,即3个月 - namespace: default type: unaggregated retention: 30h - namespace: agg1 type: aggregated retention: 96h resolution: 5m - namespace: agg2 type: aggregated retention: 360h resolution: 20m - namespace: agg3 type: aggregated retention: 2160h resolution: 60m降采样后多张表数据merge数据在每张表中都会存在根据不同的保留精度,agg会聚合写入后果多张表查问的时候,每个时间段以最准确的为准,也就是说会merge如果在查问端少配置了几张表,那么就是缺数据利用聚合打到降采样的目标缩小存储需要对于工夫久的数据,以原始点寄存其实意义很小,因为查问的时候都会以较粗的精度出图,比方 15天范畴内可能就是1个小时一个点了对于query的limit限度 ,这些限度都治标不治本,因为要看限度在多深的中央设置的举个例子:查问须要5次内存申请,只有在第4层能力断定这个query是否打到下限,那么只是省了最初一次内存申请这样就演变成了:每次都在很深的中央才限制住了,资源总是在节约如果能在第一层就限制住,如布隆过滤器间接通知不存在,那么则能够防止前面几次资源开销m3db limit能够设置在一个回溯窗口内lookback 最大读取的工夫序列数据的总量maxRecentlyQueriedSeriesBlocks这个配置代表在3秒内最多容许 21w的block查问(7w来自于m3db监控图中的block数据)maxOutstandingReadRequests 代表并发读申请数maxRecentlyQueriedSeriesDiskRead能够设置读盘的限度db: limits: maxRecentlyQueriedSeriesBlocks: value: 700000 lookback: 3s maxOutstandingWriteRequests: 0 maxOutstandingReadRequests: 0爱护m3db的正确姿态,是在后面prometheus查问的时候 辨认并拦挡高基数查问m3db 读写一致性在db高负载状况下,能够配置m3coordinator 读一致性为one 即readConsistencyLevel: one,升高后端压力clusters:# Fill-out the following and un-comment before using, and# make sure indent by two spaces is applied. - namespaces: - namespace: default type: unaggregated retention: 30h client: config: service: env: default_env zone: embedded service: m3db cacheDir: /var/lib/m3kv etcdClusters: - zone: embedded endpoints: - xxx1:2379 - xxx2:2379 - xxx3:2379 writeConsistencyLevel: majority readConsistencyLevel: oneetcd操作# 执行etcd host变量ETCDCTL_API=3HOST_1=xxxHOST_2=xxxHOST_3=xxxENDPOINTS=$HOST_1:2379,$HOST_2:2379,$HOST_3:2379# 获取匹配字符串的keyetcdctl --endpoints=$ENDPOINTS get --prefix "" --keys-only=true _kv/default_env/m3db.node.namespaces_sd.placement/default_env/m3db# 删除agg的placementetcdctl --endpoints=$ENDPOINTS del /placement/namespace/m3db-cluster-name/m3aggregator## 删除namespaceetcdctl --endpoints=$ENDPOINTS del _kv/default_env/m3db.node.namespacesetcdctl --endpoints=$ENDPOINTS del _sd.placement/default_env/m3dbm3db dump火焰图留神在高负载状况下dump的速度会很慢第一步:申请m3db:7201/debug/dump接口,m3db代码中内置好了生成pprof信息的zip接口#!/usr/bin/env bashinput_host_file=$1output_dir=$2for i in `cat $1`;do curl -s $i:7201/debug/dump >${output_dir}/${i}_`date "+%Y_%m_%d_%H_%M_%S"`.zip &done 第二步:解压zip文件,查看goroutine 执行状况解压zip文件,能够失去cpu、heap、goroutine三个prof文件 和m3db的一些元信息root@k8s-local-test-02:~/pprof$ lltotal 4060-rw-r--r-- 1 root root 3473 Dec 31 1979 cpu.prof-rw-r--r-- 1 root root 3953973 Dec 31 1979 goroutine.prof-rw-r--r-- 1 root root 178938 Dec 31 1979 heap.prof-rw-r--r-- 1 root root 40 Dec 31 1979 host.json-rw-r--r-- 1 root root 592 Dec 31 1979 namespace.json-rw-r--r-- 1 root root 5523 Dec 31 1979 placement-m3db.jsongrep goroutine goroutine.prof | awk -F '[' '/goroutine \d*/{print "[" $2}' |sort | uniq -c | sort -k1nr | head -20# 能够看到哪些goroutine最多# 再依据具体的信息分析程序问题 16800 [select]: 9422 [chan receive, 40355 minutes]: 1911 [select, 2 minutes]: 631 [runnable]: 509 [IO wait]: 90 [chan receive, 40341 minutes]: 76 [chan receive]: 72 [semacquire]: 25 [select, 291 minutes]: 23 [sleep]: 17 [chan receive, 7205 minutes]: 17 [chan receive, 7402 minutes]: 14 [select, 4 minutes]: 12 [chan receive, 6120 minutes]: 10 [chan receive, 5577 minutes]: 5 [select, 165 minutes]: 4 [chan receive, 5176 minutes]: 4 [select, 40355 minutes]: 3 [chan receive, 7404 minutes]: 2 [IO wait, 40355 minutes]:第三步: 利用火焰图剖析工具分析程序内存和cpu性能装置 graphviz工具yum -y install graphviz依据prof文件生成svg图片,用浏览器关上svg图片即可查看go tool pprof -svg cpu.prof > cpu.svg依据prof文件构建http拜访查看go tool pprof -http=localhost:8088 cpu.prof 火焰图样例 ...

March 24, 2021 · 2 min · jiezi

关于监控:数跑科技联合阿里云创造基于云原生的无边界数字新体验

简介:引入阿里业务中台理念和技术框架,通过数字化渠道重构,建设以业务中台为根底,围绕单个客户的生产决策周期模型,构建数字化工作工单零碎,驱动多部门、多工种合作,晋升企业线索采集、商机开掘、潜客培养、销售治理等各环节能力及效率。数跑科技数字销售产品是数跑科技为以车企为代表的大型制作企业提供的渠道销售治理一站式解决方案。计划交融传统线上经营及传统CRM的劣势,具备全渠道线索采集保护能力,可笼罩单个客户的生产决策全周期,重点关注客户培养,晋升线索品质,可无效升高企业营销治理老本,晋升营业额。 随着汽车市场的倒退,汽车制作企业从“关注零售”向 “领导批发”乃至“参加批发”转型。为了补足在商机线索治理及线下营销治理等业务板块的短板,串联起客户培养体系,晋升销售商机品质和经销团队战斗力,数跑科技抉择基于云原生产品升级数字化解决方案,致力于从模型构建、业务解耦、流程编排、工具组件化以及BI工具化全面拓展IT能力,进而晋升整体效率,拓展业务能力。 在过来几年里,“云原生”的概念逐步被宽广的企业所熟知。云原生给企业带来了微小的价值:一方面,对立的容器编排角度,给企业带来了更好的资源利用率和治理的效率;另一方面,云原生的技术实际带来了新的利用架构的规范,解决了传统利用架构很难解决的问题,可能更牢靠、更可扩大的构建分布式应用。 国内权威钻研机构 Forrester 公布了《The Forrester Wave: Public Cloud Development And Infrastructure Platforms In China,Q4 2020》报告,阿里云在容器服务、Serverless/微服务测评中均取得了最高分,并在利用开发服务 9 项测评中拿到了国内综合最高分,稳居云原生畛域领导者位置。往年双11,阿里巴巴实现外围零碎全面云原生化,每万笔峰值交易的 IT 老本较四年前降落了80%,规模化利用交付效率晋升了一倍之多。而撑持寰球最大规模云原生实际的外围底座,就是阿里云提供的云原生产品。 数跑携手阿里云新陈代谢,助力以车企为代表的大型制作企业一站式渠道销售治理正是看到了云原生的趋势与价值,并且基于对阿里云的充沛信赖与理解,数跑科技抉择退出云原生合作伙伴打算,联结阿里云打造基于云原生的渠道销售治理综合解决方案。引入阿里业务中台理念和技术框架,通过数字化渠道重构,建设以业务中台为根底,围绕单个客户的生产决策周期模型,构建数字化工作工单零碎,驱动多部门、多工种合作,晋升企业线索采集、商机开掘、潜客培养、销售治理等各环节能力及效率。 在联结计划云原生平台里,笼罩散布式微服务、链路监控、音讯队列、容器平台等多款云原生产品,晋升全渠道线索采集、对立治理能力。消费者决策笼罩业务的全周期,整个过程中实现数据可视化,从而进步运维效率。基于云原生底座,整体向上晋升全副门、全工种的合作驱动能力以及业务编排、营销工具热插拔能力。 基于云原生的渠道销售治理中台降级了哪些性能? 线索归一,冲破全渠道数据孤岛:提供通用接口,实现线索、商机、客户数据的对立治理。潜客培养,无效晋升线索品质:基于客户决策周期模型制订个性化客户营销打算。业务智能,大幅晋升人效:对数据进行智能荡涤、智能评分,智能语义剖析。业务透视,无效进行业务全过程治理:对业务过程中的成果、效率、老本及人员绩效等指标实时监控。对立工单,无效激活全副门全工种全零碎合作业务编排,疾速适应业务变动:一直适应企业业务倒退,升高企业软件研发老本。诞生于数据强国之梦,数跑科技致力于中国数字经济建设,关注产业互联网转型,以助力企业数字化降级为使命,使用先进的云计算、大数据、人工智能、物联网和区块链等数据技术,为企业提供智能营销科技服务和解决方案。在营销形式逐步多样化的明天,数字化、智慧化的业务平台可能大幅提效降本,晋升用户体验,对传统渠道销售治理的转型至关重要。 随着云原生成为大多数企业数字化转型的首选之路,数跑科技将持续与阿里云进行深耕单干。将来,数跑科技将与阿里云原生持续携手共进,做寰球当先的数字化转型专家。基于阿里云丰盛全面的云原生产品技术家族,独特为客户发明无边界的数字新体验! 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

March 23, 2021 · 1 min · jiezi

关于prometheus:blackboxexporter的使用

一、需要有些时候,咱们想监听服务器的某个端口是否存在,监听http的申请是否正确时,这个时候就能够应用 blackbox_exporter来实现。 留神: blackbox exporter 能够实现对 http,https,tcp(能够实现服务器接口是否在线),icmp(实现主机探活),dns的探测。 二、bldeckbox_exporter的装置1、下载# 下载wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.18.0/blackbox_exporter-0.18.0.darwin-amd64.tar.gz# 解压tar -zxvf blackbox_exporter-0.18.0.darwin-amd64.tar.gz# 重命名mv blackbox_exporter-0.18.0.darwin-amd64/ blackbox_exporter# 进入 blackbox_exporter 目录cd blackbox_exporter 下载地址-https://github.com/prometheus/blackbox_exporter/releases 2、编写 blackbox.yml 配置文件modules: http_2xx: # 这个名字是轻易写的,然而须要在 prometheus.yml 配置文件中对应起来。 prober: http # 进行探测的协定,能够是 http、tcp、dns、icmp timeout: 10s http_post_2xx: prober: http http: method: POST tcp_connect: # tcp检测,比方检测某个端口是否在线 prober: tcp icmp: # icmp 检测,比方ping某个服务器 prober: icmp留神: 1、上方模块中 http 或 icmp 等的配置不全,这个能够通过拜访 https://github.com/prometheus/blackbox_exporter/blob/master/CONFIGURATION.md查看残缺的配置。 2、如果要应用 icmp,那么针对不同的操作系统可能要晋升权限。 3、启动 blackbox_exporter#!/usr/binnohup /Users/huan/soft/prometheus/blackbox_exporter/blackbox_exporter \--config.file="/Users/huan/soft/prometheus/blackbox_exporter/blackbox.yml" \--web.listen-address=":9098" \--log.level=debug \> logs/blackbox.out 2>&1 &拜访 http://localhost:9098 ...

March 21, 2021 · 2 min · jiezi

关于grafana:Grafana-Query类型模板变量的使用

一、背景假如我有2种类型的服务器,一种是本地电脑(每个指标名称都存在{nodename='mac-local'}),一种是阿里云服务器(每个指标名称都存在{nodename='aliyun'}),同时每个指标下都存在一个 {instance='具体的服务器的ip地址'}标签。 即咱们采集的工夫序列大抵上都有如下标签: eg: node_uname_info{nodename='xxxx',instance='yyyy'} 二、需要咱们想监控一下每台主机的cpu的应用状况。同时不能在一个图形上显示出所有的机器的cpu使用率,须要依据用户的抉择而显示。即要呈现下图所示的后果,这个状况咱们能够通过grafana的模板变量来实现。 从上图能够,instance的呈现是依据 服务器类型 的抉择而不同的。 三、实现步骤1、创立一个Dashboard 2、设置模板变量1、在Dashboard页面点击小齿轮⚙️图标。 2、点击创立一个变量 1、增加 nodename 变量,获取服务器的类型 2、增加 instance 变量。留神: instance变量的值是依据上一步 nodename 变量的值而来的,及抉择不同的 nodename,instance 的值应该是不同的。及在 instance 变量的查问语句中须要援用 nodename 变的值,通过 $nodename 即可援用。 做完上方呈现的1,2两步,即可呈现需要中呈现的画面。 3、创立一个图表,监控一下 cpu 的使用率 四、上方例子的实现json字符串在 grafana 中引入此json串,即可实现上图的成果。然而要保障每个工夫序列都存在 nodename 和 instance的标签。 { "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard" } ] }, "editable": true, "gnetId": null, "graphTooltip": 0, "id": 3, "iteration": 1616217012533, "links": [], "panels": [ { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": null, "decimals": 2, "description": "", "fieldConfig": { "defaults": { "custom": {}, "unit": "percent" }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 24, "x": 0, "y": 0 }, "hiddenSeries": false, "id": 2, "legend": { "alignAsTable": true, "avg": true, "current": true, "max": true, "min": true, "rightSide": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "7.4.3", "pointradius": 2, "points": true, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "expr": "(1 - avg(irate(node_cpu_seconds_total{mode='idle',nodename=~\"$nodename\",instance=~\"$instance\"}[5m])) by (instance)) * 100", "interval": "", "legendFormat": "{{instance}} CPU使用率", "refId": "A" } ], "thresholds": [], "timeFrom": null, "timeRegions": [], "timeShift": null, "title": "$instance CPU使用率", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "buckets": null, "mode": "time", "name": null, "show": true, "values": [] }, "yaxes": [ { "$$hashKey": "object:231", "format": "percent", "label": null, "logBase": 1, "max": null, "min": null, "show": true }, { "$$hashKey": "object:232", "format": "short", "label": null, "logBase": 1, "max": null, "min": null, "show": true } ], "yaxis": { "align": false, "alignLevel": null } } ], "schemaVersion": 27, "style": "dark", "tags": [], "templating": { "list": [ { "allValue": null, "current": { "selected": true, "tags": [], "text": [ "mac-local" ], "value": [ "mac-local" ] }, "datasource": null, "definition": "label_values(node_uname_info{nodename=~\".*\"},nodename)", "description": null, "error": null, "hide": 0, "includeAll": false, "label": "服务器类型", "multi": true, "name": "nodename", "options": [ { "selected": false, "text": "aliyun", "value": "aliyun" }, { "selected": true, "text": "mac-local", "value": "mac-local" } ], "query": { "query": "label_values(node_uname_info{nodename=~\".*\"},nodename)", "refId": "StandardVariableQuery" }, "refresh": 0, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false }, { "allValue": null, "current": { "selected": true, "text": [ "localhost:9081" ], "value": [ "localhost:9081" ] }, "datasource": null, "definition": "label_values(node_uname_info{nodename=~\"$nodename\",instance=~\".*\"},instance)", "description": null, "error": null, "hide": 0, "includeAll": false, "label": null, "multi": true, "name": "instance", "options": [ { "selected": true, "text": "localhost:9081", "value": "localhost:9081" } ], "query": { "query": "label_values(node_uname_info{nodename=~\"$nodename\",instance=~\".*\"},instance)", "refId": "StandardVariableQuery" }, "refresh": 0, "regex": "", "skipUrlSync": false, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": false } ] }, "time": { "from": "now-5m", "to": "now" }, "timepicker": {}, "timezone": "", "title": "测试模板变量", "uid": "Umb3YDQMz", "version": 6}五、参考链接1、grafana模板变量的应用 ...

March 20, 2021 · 3 min · jiezi

关于prometheus:prometheus实战告警模板编写四

本篇文章次要介绍如何编写alertmanager的告警模板,应用这个告警模板,能够格式化咱们的告警信息,让告警内容更加易读和好看prometheus 告警规定详解: https://www.dogfei.cn/archives/alertmanager-rule prometheus 配置文件参考与介绍: https://www.dogfei.cn/archives/prometheus-config 告警模板上篇文章介绍了对于告警规定的一些编写,在应用企业微信告警的时候,提到了告警模板,这里具体说下告警模板如何写。 首先,告警模板是基于go语言的模板来写的,具体可参考官网文档:https://golang.org/pkg/text/template/,这里列举一些罕用的写法,而后再去看上面的示例,就晓得什么意思了。 "."的用法写过helm的肯定晓得这个'.',就是你定义了一个模板,当给这个模板传数据的时候,能够应用'.'来拜访获取对应的变量 {{ .Country.Name.Age }}这种就是通过链式拜访这个简单类型的数据。 模板变量在模板中定义了变量后,在整个模板中都能应用,例如: {{ $Name := "fei" }}hello {{ $Name }}define{{ define "this.is.template" }}定义了一个名为"this.is.template"的模板 if/else语句满足条件继续执行,不满足则去执行else,不满足条件能够是一些空值,或者false,例如false,0,nill,空字符串 {{ if .Name }} hello {{ .Name }}{{ else }}no one!!!{{ end }}这里就是判断Name是否有值,有就会输入hello {{ .Name }},没有输入no one,完结用{{ end }} 多条件能够应用 {{ if .Name1 }}hello {{ .Name1 }}{{ else if .Name2 }}hello {{ .Name2 }}{{ else }}no one{{ end }}Range语法模板里应用range来进行遍历数据,相似于jinja2模板语言中的for,例如:假如数据结构为: type Info struct { Name string Age int}而后模板写法如下: ...

March 17, 2021 · 2 min · jiezi

关于prometheus:Mac上安装Grafana

一、背景在Mac零碎上装置Grafana实现数据的监控。 二、装置步骤1、通过 Home Brew 装置# 更新 brewbrew update# 装置 grafanabrew install grafana# 启动brew services start grafana2、通过二进制包进行装置1、下载# 下载wget https://dl.grafana.com/oss/release/grafana-7.4.3.darwin-amd64.tar.gz# 解压tar -zxvf grafana-7.4.3.darwin-amd64.tar.gz2、grafana配置文件的门路1、默认的配置文件在 $WORKING_DIR/conf/defaults.ini 中,该文件中的内容不要批改。 2、咱们自定义的配置文件在 $WORKING_DIR/conf/custom.ini中。 3、咱们自定义的配置文件能够通过 --config 来指定加载门路。 4、如果咱们是在linux零碎上通过deb或rpm包装置,那么默认的配置文件门路在/etc/grafana/grafana.ini,并且 custom.ini文件没有用 3、批改grafana配置cp `$WORKING_DIR/conf/sample.ini` `$WORKING_DIR/conf/custom.ini`1、批改默认的3000端口 http_port = 90992、批改数据寄存目录、日志文件门路[paths]# 长期数据等寄存目录data = /var/lib/grafana# 临时文件保留工夫temp_data_lifetime = 24h# 日志文件保留目录logs = /var/log/grafana# 插件保留目录plugins = /var/lib/grafana/plugins3、勾销页面上的注册性能[users]# disable user signup / registrationallow_sign_up = false4、启动grafana#!/usr/binnohup /Users/huan/soft/prometheus/grafana-7.4.3/bin/grafana-server \-config "/Users/huan/soft/prometheus/grafana-7.4.3/conf/custom.ini" \-homepath "/Users/huan/soft/prometheus/grafana-7.4.3" \-pidfile "/Users/huan/soft/prometheus/grafana-7.4.3/pid" web \> logs/grafana.out 2>&1 &1、指定自定义的配置文件的门路。 2、指定 homepath的门路,否则程序启动不了。 3、指定 pid 文件的门路。 ...

March 17, 2021 · 1 min · jiezi

关于prometheus:Prometheus基于Eureka的服务发现

一、背景目前咱们的我的项目是应用Spring Cloud构建的微服务,应用的是Eureka作为注册核心,且我的项目中应用到Prometheus做服务监控。此处简略记录一下 eureka 作为 prometheus 的服务发现。 二、实现步骤1、eureka 客户端注册到prometheus中批改 application.yml 文件 spring: application: name: order-provider-10004server: port: 10004management: endpoints: web: exposure: include: 'prometheus,metrics,info,health' # 暴露出 prometheus 端口 metrics: tags: application: ${spring.application.name} # 减少每个指标的全局的tag,及给每个指标一个 application的 tag,值是 spring.application.name的值 server: port: 10005# 注册到 eureka 上eureka: client: service-url: defaultZone: http://localhost:10003/eureka/ #连贯到服务注册核心的地址,如果服务注册核心开启了权限须要设置 http://username:password@ip:port/eureka/格局 instance: prefer-ip-address: true metadata-map: # 集成到prometheus,以下的这些数据都会退出到prometheus的从新标记之前的标签中,比方sys.module会变成 "prometheus.scrape": "true" "prometheus.path": "/actuator/prometheus" "prometheus.port": "${management.server.port}" "sys.module": "order"次要是上方 metadata-map 中的配置。 2、prometheus中的写法批改 prometheus.yml 文件 - job_name: 'eureka' eureka_sd_configs: # 指定 eureka 的服务发现地址 - server: 'http://localhost:10003/eureka' relabel_configs: # 重写 metrics 的门路 - source_labels: ["__meta_eureka_app_instance_metadata_prometheus_path"] action: replace target_label: __metrics_path__ regex: (.+) # 减少一个自定义label sys_model 它的值从配置eureka中获取 - source_labels: ["__meta_eureka_app_instance_metadata_sys_module"] action: replace target_label: sys_module regex: (.+) # 重写治理端口 - source_labels: [__address__, __meta_eureka_app_instance_metadata_prometheus_port] action: replace regex: ([^:]+)(?::\d+)?;(\d+) replacement: $1:$2 target_label: __address__1、重写 metrics 的 path。2、重写 治理端口。 3、减少一个自定义的标签。 实现成果查看下方的效果图。 ...

March 16, 2021 · 1 min · jiezi

关于运维:基于Serverless的云原生转型实践

简介:新一代的技术架构是什么?如何改革?是很多互联网企业面临的问题。而云原生架构则是这个问题最好的答案,因为云原生架构对云计算服务形式与互联网架构进行整体性降级,粗浅扭转着整个商业世界的 IT 根基。作者:计缘,阿里云解决方案架构师云原生架构是什么回顾过去十年,数字化转型驱动着技术创新和商业元素的一直交融和重构,能够说,当初曾经不是由商业模式决定采纳何种技术架构,而是由技术架构决定企业的商业模式。所以无论是行业巨头还是中小微企业都面临着数字化转型带来的未知时机和挑战。时机是商业模式的翻新,挑战来自对整体技术架构的改革。 新一代的技术架构是什么?如何改革?是很多互联网企业面临的问题。而云原生架构则是这个问题最好的答案,因为云原生架构对云计算服务形式与互联网架构进行整体性降级,粗浅扭转着整个商业世界的 IT 根基。 尽管云原生的概念由来已久,很多人并不了解什么是云原生。从技术的角度来讲,云原生架构是基于云原生技术的一组架构准则和设计模式的汇合,旨在将云利用中的非业务代码局部进行最大化的剥离,从而让云设施接管利用中原有的大量非性能个性(如弹性、韧性、平安、 可观测性、灰度等),使业务不再受非功能性业务中断困扰的同时,具备轻量、麻利、高度自动化的特点。简略的说,就是帮忙企业的业务性能迭代更快、零碎能接受住各种量级的流量冲击的同时,构建零碎的老本更低。 传统架构与云原生架构的区别 上图展现了在代码中通常包含的三局部内容,即业务代码、第三方软件、解决非性能个性的代码。其中“业务代码”指实现业务逻辑的代码。“三方软件”是业务代码中依赖的所有三方库,包含业务库和根底库。“解决非功能性的代码”指实现高可用、平安、可观测性等非功能性能力的代码。 这三局部中只有业务代码是对业务真正带来价值的,另外两个局部都只算附属物,但随着软件规模的增大、业务模块规模变大、部署环境增多、分布式复杂性加强,使得明天的软件构建变得越来越简单,对开发人员的技能要求也越来越高。云原生架构相比拟传统架构后退了一大步,即从业务代码中剥离了大量非功能性个性到 IaaS 和 PaaS 中,从而缩小业务代码开发人员的技术关注范畴,通过云服务的专业性晋升利用的非功能性能力。 这便是云原生架构的外围思路。 为什么须要云原生架构解释完什么是云原生架构后,大家可能会有进一步的思考,即当今互联网企业为什么须要云原生架构。剖析下SaaS的市场规模能够发现,2019年SaaS市场规模为360亿元,2020年仍放弃可观上涨趋势,2022年SaaS市场规模预计破千亿。 纵观中国企业级SaaS行业倒退历程,大体分为四个阶段:2015年之前,中国市场和绝大多数中国企业对“什么是SaaS”不足根本认知,基于公有部署的传统软件模式仍为支流,企业级SaaS市场方兴未艾。到了2015年,随着云计算技术的进一步成熟,中国企业级SaaS行业进入疾速成长阶段,这个慢赛道逐步为公众所知。 时至今日,在疫情、经济、社会环境的大背景下。互联网企业开始寻求新的商业模式,一些抓住机会的SaaS企业实现了疾速响应,后果是其业务出现成倍增长,比方: 餐饮SaaS厂商帮忙线下餐饮门店开发小程序点餐零碎,实现无接触点餐。电商批发畛域的ERP厂商帮忙企业建设会员管 理零碎。营销SaaS厂商通过流量平台帮忙企业在线营销,近程触达客户。所以,在“如何活下去”成为热门议题的背景下,疾速响应能力成为企业之间的外围竞争劣势,SaaS企业须要及时满足市场的新需要。而这正是前几年中国SaaS企业为了疾速占领市场、自觉跟风、一味借鉴国外产品所产生的天生缺点。为补救这些缺点,SaaS厂商须要依据市场的需要疾速调整产品服务方向,业务性能要多元化,业务体系须要新的枝杈,在技术上也有更大的挑战。 除了市场带来的压力,SaaS企业本身也有诸多痛点: 大多SaaS产品只做所谓的通用能力,或者只是一味模拟国外产品,一旦深刻到行业属性比拟重的场景时便无奈满足需要,所以被贴上了“半成品”的标签,导致市场接受程度不如预期。产品模块繁多、性能类似的SaaS产品很容易陷入价格竞争,最初只能以亏损取得网络效应,但会终食恶果。市场对SaaS产品的定制化需要过多,使得SaaS企业不足对产品打磨的精力,把一个SaaS型公司做成了我的项目型公司。SaaS企业解决以上的外忧内患的外围就是专一在业务。要做好一款SaaS产品,对于业务渠道、竞争格局、用户体验等诸多方面都有更加严苛的要求,甚至从市场经营、产品经理到研发、运维都要专一在业务,所有这些角色的本职工作都应该为行业业务服务,行业的深度剖析,疾速响应市场,稳固的产品质量这些是必须要具备的。但这就要求技术具备更快的迭代速度,业务推出速度从按周晋升到按小时,每月上线业务量从“几十 / 月”晋升到“几百 / 天”,并且不可承受业务中断。 另一个互联网企业须要云原生转型的起因是中国的刘易斯拐点曾经到来。刘易斯拐点,即劳动力过剩向短缺的转折点,是指在工业化过程中,随着农村充裕劳动力向非农产业的逐渐转移,农村充裕劳动力逐步缩小,最终达到瓶颈状态。用大白话说就是中国的人口红利曾经逐步消退,企业劳动力老本一直减少,加上2020年疫情的影响,老本因素越来越成为企业的重要考量。而SaaS产品订阅制付费、通用性强、低部署老本的特点,便成了企业降本增效的新抉择。这是SaaS企业在市场中的机会,而且对于SaaS企业自身来说,同样有降本增效的需要,而且外部降本增效做得越好,SaaS产品在市场上的竞争力会更加显著。 以上这些现状的解法和云原生架构和外围能力不约而同: 云原生将三方软件和非功能性能力的齐全兜底,能够极大水平解放企业研发、运维人员的精力,并使其能够专一在业务上。零碎的横向扩展性、高可用性、健壮性、SLA由云原生架构兜底,解决了SaaS产品最禁忌的稳定性问题。将一些自建的组件迁徙至云原生架构中,对传统的部署形式和资源进行云原生化,GitOps的落地,在资源老本和人力老本方面都有进一步的优化。如何落地云原生架构在聊如何落地云原生架构之前,咱们先来看一看云原生架构成熟度模型(SESORA): 云原生架构成熟度模型 云原生架构成熟度模型有六个评判维度,能够将成熟度划分为4个级别。我会从自动化能力、无服务化能力、弹性能力、可观测性、韧性能力这五个维度,贯通阐明如何落地云原生架构。 传统架构上图展现的是一个较传统的Java+SpringCloud架构应用服务侧的部署架构。除了SLB,基本上所有的组件都部署在ECS上。上面咱们来一起看看如何将这个架构转型为云原生架构。 无服务化(Serverless)Serverless的概念是什么在这篇文章不在赘述,能够参阅这篇文章进行理解。应用ECS集群部署服务的架构有两个显著的短板: 运维老本高:ECS的各项状态、高可用都须要运维同学保护。弹性能力有余:每次有大促流动时,都须要提前购买ECS,扩大服务的节点数,而后再开释,并且这种状况只实用于定时定点的流动,如果是不定时的流量脉冲则无奈应答。所以首先咱们要将服务的部署形式Serverless化,咱们能够抉择Serverless App Engine(SAE)作为服务利用的公布、部署平台。SAE是面向利用的Serverless PaaS平台,可能帮忙用户免运维IaaS、按需应用、按量计费,做到低门槛服务利用云原生化,并且反对多种语言和高弹性能力。 命名空间关上SAE控制台,咱们首先创立命名空间,SAE的命名空间能够将其下的利用进行网络和资源的逻辑隔离,通常咱们可应用命名空间来辨别开发环境、测试环境、预发环境、生产环境。 创立利用创立好命名空间后,咱们进入利用列表,即可抉择不同的命名空间,看到其下的利用或者创立利用: 抉择对应的命名空间,而后创立利用: 利用名称:服务名称,用户自行输出。专有网络配置:主动配置:主动帮用户配置VPC、Vswitch、平安组。这些组件都会新创建。 自定义配置:用户抉择命名空间,VPC,VSwitch以及平安组。个别抉择自定义配置,因为咱们的服务所属的VPC必定要和其余云资源的VPC是雷同的,这样能力保障网络畅通。这里须要留神的一点是,当在新的命名空间下第一次创立好利用后,该命名空间就会和所选的VPC进行绑定,之后再创立利用时,该命名空间对应的VPC不可更改。如果须要更改,能够进入命名空间详情进行更改。利用实例数:利用(服务)节点数量,这里的节点数量按需设置,而且不是最终设定,因为后续能够手动或者主动的扩缩节点数。VCPU/内存:该利用在运行过程中须要的CPU和内存的规格。这里的规格是单个实例数的规格。既如果抉择了2C4G,那么有2个实例的话,就是4C8G。配置完根本信息后,下一步进入利用部署配置: 技术栈语言:Java语言反对镜像、War包、Jar包三种部署形式,其余语言反对镜像部署形式。以Java Jar包形式为例:利用运行环境:默认规范Java利用运行环境即可。 Java环境:目前反对JDK7和JDK8。文件上传形式:反对手动上传Jar包或者配置能够下载Jar包的地址。版本:反对工夫戳和手动输出。启动命令设置:配置JVM参数。环境变量设置:设置容器环境中的一些变量,便于利用部署后灵便的变更容器配置。Host绑定设置:设置Host绑定,便于通过域名拜访利用。利用健康检查设置:用于判断容器和用户业务是否失常运行。利用生命周期治理设置:容器侧的生命周期脚本定义,治理利用在容器在运行前和敞开前的一些动作,比方环境筹备、优雅下线等。日志收集服务:和SLS日志服务集成,对立治理日志。长久化存储:绑定NAS。配置管理:通过挂载配置文件的形式向容器中注入配置信息。我应用Jar包的形式部署完利用后,在对应命名空间下就能够看到刚刚创立的利用了: 点击利用名称能够查看利用详情: 绑定SLB因为ServiceA在架构中是对外提供接口的服务,所以须要对该服务绑定公网SLB裸露IP和做负载平衡,在SAE中,绑定SLB非常简单,在详情页中,即可看到利用拜访设置: 增加SLB时能够抉择新建也能够抉择曾经创立好的SLB: 服务/配置核心对于微服务架构,服务中心和配置核心是必不可少的,大家罕用到个别是Nacos、Eureka、ZooKeeper三种。对于云原生架构来讲,依据不同的场景,服务/配置核心能够有以下几种抉择: 对于现状就是应用Nacos的客户而言,转型云原生架构,服务/配置核心如下面表格所示有两种抉择: 须要疾速转型,对服务/配置核心高可用要求不是特地极致的状况下,倡议间接应用SAE自带的Nacos即可,代码不须要做改变,间接在SAE中创立利用即可。SAE控制台提供的配置管理在界面操作和性能上和开源Nacos的控制台基本一致。对服务/配置核心高可用要求比拟高的状况下,倡议应用MSE Nacos,它的劣势是独享集群,并且节点规格和节点数量能够依据理论状况动静的进行调整。惟一有余的一点就是须要批改Nacos的接入点,算是有一点代码侵入。对于现状是应用Eureka和ZooKeeper的客户而言,倡议间接应用MSE Eureka和MSE ZooKeeper。 这里我简略介绍一下MSE。微服务引擎MSE(Microservice Engine)是一个面向业界支流开源微服务框架Spring Cloud和Dubbo一站式微服务平台,提供治理核心、托管的注册核心和托管的配置核心。这里咱们用到的是MSE的托管注册核心和托管配置核心。 MSE有三块外围的性能点: 反对三大支流服务中心,节点规格和数量灵便搭配,可在运行时动静调整节点规格/数量。通过命名空间逻辑隔离不同环境。配置变更实时推送并且可追踪。弹性能力(Elasticity)云原生架构成熟度模型中的弹性能力同样依靠于SAE来实现,因为Serverless的底层实现原理,所以在SAE中的利用实例数(节点数)扩缩速度十分快,可达到秒级。 进入利用详情页的实例部署信息,能够看到利用的具体实例: SAE提供了两种扩缩利用实例数的形式,手动形式和主动形式。 手动扩缩在控制台右上方有手动扩缩操作按钮,而后抉择要扩缩到的实例数即可: 当进行扩缩时,咱们能够看到具体实例的变更状态: 主动扩缩在控制台右上角有主动扩缩操作按钮,而后能够看到创立扩缩规定的界面。SAE主动扩缩提供工夫策略和指标策略两种。 上图是工夫策略,即设置好具体的工夫节点,在这个工夫节点要将利用的实例数扩到几个或者缩到几个。这种策略适宜流量高峰期有绝对明确工夫节点的场景,比方在线教育的客户,通常流量顶峰在早晨8点开始,11点逐步完结,这种状况下,通过定时策略在7点半左右把利用的实例数扩起来,而后11点之后逐步把利用实例数缩回失常。 上图是指标策略,目前提供CPU使用率、内存使用率、利用的QPS阀值、利用接口均匀响应工夫(RT)阀值四种指标,这四种指标能够配合应用。当这四种指标其中有一种达到阀值后就会触发扩容,会对利用实例进行逐步扩容。当指标小于阀值后触发缩容。这种策略适宜流量顶峰工夫不固定的场景,比方市场营销,游戏经营。 老本优化对于弹性能力,大家可能更多的是关注它能让零碎疾速撑持流量脉冲,减少零碎横向扩大的能力。其实因为SAE有极致的弹性能力,再加上按分钟、按量计费的模式,对整体的资源老本是有肯定优化的。 可观测性(Observability)利用侧的可观测性分两个维度,一是纵向的Metrics指标,比方主机的CPU、内存、磁盘各项指标,Pod的CPU、内存各项指标,JVM的Full GC、堆内存、非堆内存各项指标。另一个维度是横向的申请调用链路监测,上游服务到上游服务的调用、上游接口到上游接口的调用。 ...

March 16, 2021 · 1 min · jiezi

关于监控:prometheus监控之进程监控processexporter

一、process-exporter一般装置process\_exporter的Github地址process-exporter下载列表2.下载 ##下载process_exporterwget https://github.com/ncabatoff/process-exporter/releases/download/v0.4.0/process-exporter-0.4.0.linux-amd64.tar.gz##解压到指定门路下tar -xvf process-exporter-0.4.0.linux-amd64.tar.gz 3.创立配置文件 ##进入到解压目录下编写配置文件vim process-exporter.yaml配置内容如下: ##process-exporter.yaml##监控所有端口process_names: - name: "{{.Comm}}" cmdline: - '.+'##指定过程进行监控process_names: - name: "{{.Matches}}" cmdline: - 'redis-server' - name: "{{.Matches}}" cmdline: - 'mysqld' - name: "{{.Matches}}" cmdline: - 'org.apache.zookeeper.server.quorum.QuorumPeerMain' - name: "{{.Matches}}" cmdline: - 'org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer' - name: "{{.Matches}}" cmdline: - 'org.apache.hadoop.hdfs.qjournal.server.JournalNode'##注 cmdline: 所选过程的惟一标识,ps -ef 能够查问到。如果改过程不存在,则不会有该过程的数据采集到。4.启动process\_exporter ##启动命令./process-exporter -config.path process-exporter.yaml &##查看process-exporter过程ps -ef |grep process-##敞开process-exporterkill 端口号##查看命令curl http://localhost:9256/metrics##也能够间接拜访http://localhost:9256/metrics 二、docker装置process-exporter(docker环境下)1.在指定文件夹下创立配置文件注: 配置文件内容参考(一般部署中的)一.32.拉去镜像 ##拉去镜像 大略7Mdocker pull ncabatoff/process-exporter3.启动容器 docker run -itd --rm -p 9256:9256 --privileged -v /proc:/host/proc -v /opt/process-exporter/config:/config ncabatoff/process-exporter --procfs /host/proc -config.path config/process-exporter.yml留神:1.-v /opt/process-exporter/config:/config 两个文件夹要对应上;2.-config.path config/process-exporter.yml 文件名称不能写错4.参照一.4中的查看形式去验证是否胜利 ...

February 23, 2021 · 1 min · jiezi

关于监控:重大更新一文了解京东通用目标重识别开源库FastReID-V10

2020年6月,京东 AI 研究院公布了基于PyTorch的通用指标重辨认(ReID)开源库FastReID。通过了最近半年的继续优化,2021年1月18日京东AI研究院公布了更新版本FastReID V1.0。在京东外部,FastReID曾经取得宽泛地利用于智能园区、智能楼宇、智能供应链、线下批发等理论我的项目中。 *GitHub链接:https://github.com/JDAI-CV/fa... “口罩辨认”,这或者是国内抵制疫情流传工作中,最根本也是最常见的信息核实伎俩。除此之外,高速路车流车牌监控、公共场所安防侦察......这些大部分人都不会刻意关注的利用,同样在给生存带来越来越多的便当。 但在“无意遮挡”以及隐衷平安的把控上,这项技术的“便当”总随同着一些危险与挑战。而通用指标重辨认(ReID )正是其中最不可或缺的技术。 为满足通用实例重辨认日益增长的利用需要,京东AI研究院于 2020年6月公布基于PyTorch的通用指标重辨认(ReID)开源库FastReID, 并受到了许多用户的欢送与反馈。通过半年多继续优化, 2021年1月18日FastReID V1.0携重大更新“惊艳亮相”。 在理解FastReIDV1.0带来了哪些新性能与新思路之前,咱们先来“破破冰”,理解一下到底什么是通用指标重辨认(ReID)。 通用指标重辨认(ReID)是什么通用指标重辨认(ReID )又称跨境追踪,全称Re-identification,也就是重辨认的意思。 简略了解就是对于一个特定的指标(可能是行人、车辆或者其余特定物体),在候选图像集中检索到它,或称图像中指标的实例级检索。 再艰深一些,ReID算法可能通过视频监控零碎,在跨摄像头的条件下,对无奈获取清晰拍摄的特定指标进行跨摄像头间断跟踪,大大拓展摄像资源的利用深度,加强数据的时空连续性,并升高人力老本。 ReID能够作为辨认技术的重要补充,晋升对特定指标的辨认追踪能力,实用于更多新的利用场景,将人工智能的认知程度进步到一个新阶段。 举个例子, 下图是由四张图片形成,黄衣女子为某犯罪案件中重点察看对象。此人呈现在多个摄像头画面中,但多张图像都极其含糊,仅有几个像素大小,导致辨认算法生效,减少警察刑侦难度。这时,ReID 技术就能够依据行人的衣着、体貌,在各个摄像头中去检索,将其在各个不同摄像头呈现的视频段关联起来,造成轨迹帮助破案。 此外, 在新批发场景中,ReID技术也能够让“人”与“场”之间的关系数据有方法被收集并以可视化的形式重现。商家对用户画像和用户行为有更强的感知,从而可能做出更精确的商业决策。同时,也为线下针对用户的个性化服务和精准营销提供了可能。 什么是FastReID?目前,ReID往往被利用到不同规模的特定指标轨迹剖析上,这就会导致系统解决的数据规模疾速成倍的增长,模型的推理速度变慢,最终使得ReID算法的性能不能被齐全施展。此外,ReID畛域中的学术研究与工程模型部署存在着较大的差距,代码对齐问题使得学术研究成绩很难间接转化为可落地的产品,限度其在大规模商业化场景中的利用。 为减速学术界钻研人员和工业界工程师对重辨认技术的倒退, FastReID代码开源库应运而生。 参照了Detectron2的整体概念和设计哲学,FastReID设计成了一个高度模块化和可拓展的架构,从而能够让钻研人员疾速的实现新的idea;更重要的是,该框架敌对的管理系统配置和工程部署函数能够让工程师疾速的部署它。FastReID开源库可针对ReID工作提供残缺的工具箱,包含模型训练、模型评估、模型部署等模块,并且实现了在多个工作中性能当先的模型。 下图,残缺列出了FastReID各个模块,高低别离为训练和推理。训练阶段包含模块: 图像预处理(Preprocssing)、骨干网(Backbone)、聚合模块(Aggregation)、Head 模块、训练策略、损失函数; 在推理阶段蕴含模块:度量局部,以及度量后处理指对检索后果的解决,包含K-reciprocal coding和 Query Expansion (QE) 两种重排序办法。 具体架构解析可见: ???? FastReID:首个产业级通用指标重辨认开源库? 基于此,在 V1.0 的全新降级中,FastReID 通过对以上各个模块的优化,更新了FastReID V1.0 版本,不仅实现了更快的分布式训练和测试,提供模型一键转码(模型一键导出 caffe/onnx/tensorRT)等性能外,而且还实现了模型蒸馏,主动超参搜寻以及更多任务的扩大,有后劲做更多的事件,也有了更多的利用场景。 FastReID V1.0更新详解1.模型蒸馏:小模型部署取得更大的精度晋升深度神经网络个别有较多的信息冗余,同时模型太大会导致推理速度变慢,耗费更多计算资源,并且升高整个零碎的响应速度。所以开发者通常须要在模型部署的时候,思考对模型进行压缩,减小模型的参数量。 目前行业里有较多的模型压缩形式,比方剪枝,量化,蒸馏等等,其中蒸馏能够保障模型不须要进行构造批改的状况下, 取得进一步的精度晋升,从而能够在应用小模型部署时取得更好的性能。 尽管蒸馏倒退了数十年,但通过大量的试验发现Hinton的 Distilling the Knowledge in a Neural Network 还是最solid的抉择。基于这篇paper的形式,进一步将本来的蒸馏KL Div loss优化为具备对称性的JS Div loss,同时还优化了蒸馏的soft label生成形式。 不同于softmax分类loss,在embedding工作中通常会应用成果更好的margin-based softmax,比方arcface等等, 这时间接应用基于margin的logits生成soft label成果很不好,所以将soft label批改为去掉margin的logits输入。 ...

February 20, 2021 · 1 min · jiezi

关于监控:Prometheusgrafana监控系统

Prometheus简介Prometheus是一套开源的系统监控和报警框架。2012年,SoundCloud的Google前员工发明了Prometheus,并作为社区开源我的项目进行开发。2015年,该我的项目正式公布。2016年,Prometheus退出云原生计算基金会(Cloud Native Computing Foundation),成为受欢迎度仅次于Kubernetes的我的项目。Prometheus基本原理是通过HTTP协定周期性抓取被监控组件的状态,这样做的益处是任意组件只有提供HTTP接口就能够接入监控零碎,不须要任何SDK或者其余的集成过程。这样做非常适合虚拟化环境比方VM或者Docker Prometheus具备以下个性: 多维的数据模型(基于工夫序列的Key、Value键值对)灵便的查问和聚合语言PromQL提供本地存储和分布式存储通过基于HTTP的Pull模型采集工夫序列数据可利用Pushgateway(Prometheus的可选中间件)实现Push模式可通过动静服务发现或动态配置发现指标机器反对多种图表和数据大盘一、装置Prometheus官网 https://prometheus.io/download/ 1. 首先装置go`yum install -y go``go version`2. 下载prometheuswget https://github.com/prometheus/prometheus/releases/download/v2.21.0-rc.0/prometheus-2.21.0-rc.0.linux-amd64.tar.gztar zxvf prometheus-2.21.0-rc.0.linux-amd64.tar.gzmv prometheus-2.21.0-rc.0.linux-amd64 /data/prometheus3. 增加自启vim /usr/lib/systemd/system/prometheus.service [Unit]Description=PrometheusDocumentation=https://prometheus.io/After=network.target[Service]# Type设置为notify时,服务会一直重启Type=simpleUser=prometheus# --storage.tsdb.path是可选项,默认数据目录在运行目录的./dada目录中ExecStart=/data/prometheus/prometheus --config.file=/data/prometheus/prometheus.yml --storage.tsdb.path=/data/prometheus/prometheus-dataRestart=on-failure[Install]WantedBy=multi-user.targetsystemctl daemon-reloadsystemctl start prometheus && systemctl enable prometheus4.创立用户、受权目录useradd prometheuschown prometheus:prometheus /data/prometheus -R5. 按需批改配置# 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 it's Prometheus itself.scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus'# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ['localhost:9090']###agent - job_name: linuxstatic_configs: - targets: ['192.168.1.153:9100','192.168.1.157:9100']labels: instance: node1 - job_name: mysqlstatic_configs: - targets: ['192.168.1.157:9104'] labels: instance: devdb二、exporter(受监控端)exporter是用于收集监控数据的一个http接口,目前罕用的利用组件官网都有提供相应的exporter,如:nginx、redis、mysql以及linux和windows操作系统(cpu、mem、disk、net)等,查看更多 ...

February 8, 2021 · 1 min · jiezi

关于监控:装X神器让你的grafana看板变得炫酷起来

失常grafana看板的色彩十分枯燥,工夫长了也会审美疲劳,对于那些喜新厌旧的人来说,多少有点不能满足,于是我就在网上找了一些形式来让我的grafana看板变得更加炫酷,讲之前先贴个比照图吧 再来个动图 第一张图显得黯淡了许多,哈哈哈。上面讲讲如何去做。 grafana装置插件yesoreyeram-boomtheme-panel因为我的grafana没有应用k8s进行装置,我间接用docker起的,所以这里我间接进入到docker里执行安装操作 # docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMEScef753a202d5 grafana/grafana "/run.sh" 3 months ago Up 2 hours 0.0.0.0:3000->3000/tcp grafana-server查到CONTAINER ID而后进入容器 # 进入容器docker exec -it cef75 bash# 装置插件grafana-cli plugins install yesoreyeram-boomtheme-panel装置实现后,须要重启容器 docker container restart cef753a202d5而后,咱们的grafana上就有了这个插件 装置很简略,没啥可说的 配置grafana配置的话也很简略,然而没接触过的小宝贝可能就比拟懵逼,其实整个流程是这样的,咱们先创立一个dashboard,然在这个dashboard中新建一个面板,创立面板的时候,抉择刚装的插件Boom Theme,而后配置此插件,配置实现后,点击保留,保留残缺个dashboard就会发生变化,而后咱们拷贝此面板到任意其余的dashboard中,而后其余的dashboard主题也会相应的发生变化。 简而言之就是:看上面的操作吧 创立一个dashboard并增加面板 抉择Boom Theme并进行配置 点击增加新的主题 这里咱们看到有增加背景图片的,还有增加CSS一些款式的,文章结尾贴了一些图片,是不是明确了,有美女背景的,有gif动图的,也有相似于火焰的,其实就是设置的这里,而后你可能会问了,背景图片我晓得哪里弄,然而那些CSS的款式我哪里弄呢? 增加内部CSS地址地址栏输出:https://github.com/gilbN/theme.park/tree/master/CSS/themes/grafana而后你就会看到有好几个类型的CSS,对应的就是不同色彩的款式,能够都配置下,看看什么成果 我这里都整顿好了,间接配置成我这里的地址就能够了 https://gilbn.github.io/theme.park/CSS/themes/grafana/hotline.csshttps://gilbn.github.io/theme.park/CSS/themes/grafana/aquamarine.csshttps://gilbn.github.io/theme.park/CSS/themes/grafana/organizr-dark.csshttps://gilbn.github.io/theme.park/CSS/themes/grafana/organizr-dashboard.csshttps://gilbn.github.io/theme.park/CSS/themes/grafana/plex.csshttps://gilbn.github.io/theme.park/CSS/themes/grafana/space-gray.css如图所示: 而后点击apply,而后你就会看到整个dashboard产生了变动 也就是说只有利用了这个插件,整个dashboard就会变动,精确说是增加的这个面板 利用于其余的dashboard尽管主题变了,然而得让其余的dashboard炫酷才行啊,所以把这个面板拷贝到其余dashboard中,这里我轻易找一个利用下 复制 而后就变了。有点简略。 尽管简略,然而你认为到这里就完了吗?还有点不完满,每次加载的时候速度有点慢,究其原因就是去github上获取这个css,所以多少会有点慢,那么接下来就做下优化 优化css加载速度优化无非就是把这个css放到国内,放到国内原厂商的对象存储里,或者彻底一点,间接放到本地,我这里都进行尝试了,都可!上面说一下如何将这个css放到本地 下载css并配置grafana先进入docker中创立寄存css的目录 ...

February 3, 2021 · 1 min · jiezi

关于监控:全面提升企业的主动防御能力UCloud全新架构云安全中心正式公测

近年来,寰球范畴内频发安全事件,我国对网络安全也愈发器重相继出台多部网络安全相干法律,网络安全在明天越发被器重,各类企事业单位一直加大平安投入,市场中更是应运而生了多款平安产品,但平安产品之间普遍存在数据互相独立,无奈关联剖析的问题,让平安团队的运维能力疲于应答,且管理层无奈感知到微小的平安投入带来的收益成果。面对新的安全形势,传统平安体系遭逢瓶颈,须要进一步晋升平安经营程度的同时,迫切需要发展主动防御能力的建设。 近日,UCloud基于云平安底层的打磨整合,重磅推出了全新架构的云平安核心USC(UCloud Security Center)。UCloud云平安核心将通过检测发现服务的破绽、危险、木马、攻打,以提供平安进攻的业余倡议和合规检测等平安能力,帮忙用户实现业务资产可视化展现、危险检测、威逼辨认三位一体的自动化平安经营零碎,满足监管合规要求,爱护用户资产。 全新架构打造“自动化、对立平安管控平台”1.平安威逼早发现 UCloud云平安核心通过对采集的数据和业界平安状况进行比照综合剖析,得出用户资产的威逼信息并对立进行展现。反对对资产平安威逼定时进行查看,平安威逼包含主机破绽、零碎基线危险、利用基线危险、web基线危险和用户凋谢到外网的端口信息,反对用户自定义高危端口的范畴和自动化安全监控,从而做到对资产中的平安威逼早发现早解决,防止被利用造成进一步入侵挫伤。 2.安全事件早解决UCloud云平安核心可通过定时检测对用户蒙受的平安攻击行为进行采集、监控和剖析后进行汇总展现,并及时报告给用户进行解决。安全事件通常会对用户资产造成实质性的平安威逼,其中安全事件次要包含网络DDoS攻打、木马、web流量攻打以及异样的主机登录事件等。 3.业余平安防护倡议 UCloud云平安核心通过将业余的平安进攻体系规则化,联合用户受到的攻打和威逼状况、资产的理论状况,对用户目前进攻体系中曾经存在的平安防护状况进行展现,并提出用户不足的平安进攻伎俩,最大限度保障用户的云平安。 4.多业务自动化分组UCloud云平安核心通过在用户主机上部署agent,以自动化的形式或者用户自主抉择的形式建设某业务,并依据服务内的实在连贯状况画出该业务过程级别的拜访关系拓扑图,通过指定规定、大数据分析,实现拓扑内服务依照集群、性能等维度进一步实现精细化、可视化的分组。 当业务因为扩容须要减少新的资产时,云平安核心能够自动化检测并增加到拓扑中,从而实现齐全贴合理论业务的服务级别资源管理,并实现了创新型的拓扑图展现形式,反对依照业务分组进行平安治理,相比于以往的列表模式更具备可观性和用户对平安的把控能力更强。 5.等保一体化检测中国通过多年平安建设,目前进行平安等保认证是每个企业的责任和业务,但等保条目标平安专业性较高,对于企业运维来说,具体应该如何通过等保认证成为一项难题。UCloud云平安核心通过业余平安人士对等保条目细化到具体云资产,而后实现对用户各项云资产的自动化检测,具体指出等保每一项条目标云资产满足状况,并针对不满足状况给出具体资产的平安倡议,保障用户无需业余平安人员也可全程自主化实现等保的后期自我审核工作。 一站式解决企业平安运维三大痛点1.平安运维门槛高近些年我国相继出台的多部网络安全法律法规业余度要求较高,企业的一般平安和运维人员通过人工排查的办法岂但消耗大量精力而且实际效果大打折扣。企业不得不招聘更多业余的平安人员去满足要求,减少了企业的经营老本,并且剖析消耗工夫越长,零碎中威逼存在的工夫更久,那企业蒙受侵害的可能性就越大。 云平安核心提供一站式自动化平安检测来满足安管要求: 2.平安管理权限难对立在理论场景中,因为权限管控起因,平安人员个别无机器的管理权限,这对平安运维人员把控整个公司平安状况造成了不小的难度。云平安核心只须要部署agent,便可实现对所有资产的平安治理。 3.资产变动难运维当初企业个别为多业务倒退,平安运维人员往往对具体业务理解不深刻,导致平安治理上举步维艰。云平安核心能够帮忙公司实现分业务管理,帮忙企业更准确的画出各业务的服务交互和平安状况,云平安核心反对通过指定入口形式自动化生成业务资产拓扑,无需业务人员告知,平安运维也可监控各业务的资产变动状况和资产平安状况,升高人员交接工作的复杂性、缩小平安治理的老本、升高运维门槛、进步企业安全性。 随着云服务的疾速倒退,企业的云资产类型将更加趋势多元化,潜在的平安威逼、平安攻打事件也层出不穷,如何帮忙企业实现集平安预防、威逼检测、主动防御于一体的云资产自动化平安治理是UCloud云平安核心USC产品上线的初衷。将来,USC 产品将进一步优化降级,将技术性能、平安与流程相结合,为用户提供威逼情报、SOAR、微隔离,多云治理等性能,实现自动化地进行事件剖析、分类过程和实战化、无效化的平安经营,一直升高企业平安运维治理的门槛和企业的云资产被入侵威逼的危险,敬请期待!

February 3, 2021 · 1 min · jiezi

关于监控:prometheus-两种分位值histogram和summary对比histogram线性插值法原理说明

前言prometheus官网文档中对于两种类型的比照阐明上面我总结一些比照点比照点histogramsummary查问表达式比照histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le))http_request_duration_seconds_summary{quantile="0.95"}所需配置抉择适合的buckets抉择所需的分位数和滑动窗口。其余分位数和滑动窗口当前无奈计算。客户端性能开销开销低,因为它们只须要减少计数器开销高,因为流式分位数计算服务端性能开销开销高,因为须要在服务端实时计算(而且bucket值指标基数高)开销低,能够看做是gauge指标上传,仅查问即可分位值误差随bucket精度变大而变大(线性插值法计算问题)误差在维度上受可配置值限度是否反对聚合反对不反对(配置sum avg等意义不大)是否提供全局分位值反对(依据promql匹配维度决定)不反对(因为数据在每个实例/pod/agent侧曾经算好,无奈聚合)histogram 线性插值法histogram_quantile为何须要先算rate因为每个bucket都是counter型的,如果不算rate那么分位值的后果曲线是一条直线原理是因为counter型累加,不算rate并不知道以后bucket的增长状况,换句话说不晓得这些bucket是多久积攒到当初这个值的什么是线性插值法之前浏览很多文章都提到histogram采纳线性插值法计算分位值会导致肯定的误差对这个线性插值法总是了解的不到位在查看完代码之后明确了 代码剖析代码地位:D:workgo_workpkgmodgithub.comprometheusprometheus@v0.0.0-20201209205804-66f47e116e00promqlquantile.gobucket数据结构其中bucket 代表当时定义好的bucketupperBound代表这个bucket的上限值count 代表这个小于等于这个upperBound的个数/次数workqueue_work_duration_seconds_bucket{name="crd_openapi_controller",le="10"} 65246 所以上述表达式含意为 workqueue_work_duration_seconds小于10秒的有65246 个type bucket struct { upperBound float64 count float64}type buckets []bucketfunc (b buckets) Len() int { return len(b) }func (b buckets) Swap(i, j int) { b[i], b[j] = b[j], b[i] }func (b buckets) Less(i, j int) bool { return b[i].upperBound < b[j].upperBound }外围计算函数外围函数如下func bucketQuantile(q float64, buckets buckets) float64 { if q < 0 { return math.Inf(-1) } if q > 1 { return math.Inf(+1) } sort.Sort(buckets) if !math.IsInf(buckets[len(buckets)-1].upperBound, +1) { return math.NaN() } buckets = coalesceBuckets(buckets) ensureMonotonic(buckets) if len(buckets) < 2 { return math.NaN() } observations := buckets[len(buckets)-1].count if observations == 0 { return math.NaN() } rank := q * observations b := sort.Search(len(buckets)-1, func(i int) bool { return buckets[i].count >= rank }) if b == len(buckets)-1 { return buckets[len(buckets)-2].upperBound } if b == 0 && buckets[0].upperBound <= 0 { return buckets[0].upperBound } var ( bucketStart float64 bucketEnd = buckets[b].upperBound count = buckets[b].count ) if b > 0 { bucketStart = buckets[b-1].upperBound count -= buckets[b-1].count rank -= buckets[b-1].count } sql:=fmt.Sprintf("%v+(%v-%v)*(%v/%v)", bucketStart, bucketEnd, bucketStart, rank, count, ) log.Println(sql) return bucketStart + (bucketEnd-bucketStart)*(rank/count)}咱们当初有这些数据,而后求75分位值a := []bucket{ {upperBound: 0.05, count: 199881}, {upperBound: 0.1, count: 212210}, {upperBound: 0.2, count: 215395}, {upperBound: 0.4, count: 319435}, {upperBound: 0.8, count: 419576}, {upperBound: 1.6, count: 469593}, {upperBound: math.Inf(1), count: 519593},}q75 := bucketQuantile(0.75, a)其计算逻辑为:依据记录总数和分位值求指标落在第几个bucket段b依据b失去起始bucket大小bucketStart,终止bucket大小bucketStart ,本bucket宽度 ,本bucket记录数依据本段记录数和分位值算出指标分位数在本bucket排行rank最终的计算形式为分位值=起始bucket大小+(本bucket宽度)*(指标分位数在本bucket排行/本bucket记录数)换老本例中: q75=0.4+(0.8-0.4)*(70259.75/100141) = 0.68064329295693082021/02/02 19:08:55 记录总数 = 5195932021/02/02 19:08:55 指标落在第几个bucket段= 42021/02/02 19:08:55 起始bucket大小= 0.42021/02/02 19:08:55 终止bucket大小= 0.82021/02/02 19:08:55 本bucket宽度= 0.42021/02/02 19:08:55 本bucket记录数= 1001412021/02/02 19:08:55 指标分位数在本bucket排行= 70259.752021/02/02 19:08:55 分位值=起始bucket大小+(本bucket宽度)*(指标分位数在本bucket排行/本bucket记录数)2021/02/02 19:08:55 0.4+(0.8-0.4)*(70259.75/100141) = 0.6806432929569308那线性插值法的含意体现在哪里呢就是这里 本bucket宽度*(指标分位数在本bucket排行/本bucket记录数)有个假设:样本数据这个指标bucket中依照均匀距离均匀分布举例 100141个样本在0.4-0.8 bucket中均匀分布如果实在值散布凑近0.4一些,则计算出的值偏大如果实在值散布凑近0.8一些,则计算出的值偏小这就是线性插值法的含意histogram 高基数问题具体能够看我之前写的文章prometheus高基数问题和其解决方案危害在哪里一个高基数的查问会把存储打挂一个50w基数查问1小时数据内存大略的耗费为1G,再叠加cpu等耗费为何会呈现label乘积太多 ,比方bucket有50种,再叠加4个10种的业务标签,所以总基数为 50*10*10*10*10=50wsummary 流式聚合一个qps为1万的http服务接口的分位值如何计算假如以1秒为窗口拿到1万个申请的响应工夫,排序算分位值即可然而1秒窗口期内,快的申请会多,慢的申请会少原理剖析:说来惭愧,没看太明确,然而能够确定就是hold一段时间的点计算的感兴趣的能够本人钻研下D:workgo_workpkgmodgithub.comprometheusclient_golang@v1.9.0prometheussummary.go

February 2, 2021 · 2 min · jiezi

关于监控:Prometheus-安装部署

一、Prometheus下载安装1、prometheus 启动命令 /home/service/prometheus/prometheus --config.file=/home/service/prometheus/prometheus.yml --storage.tsdb.path=/home/service/prometheus/prometheus-data --storage.tsdb.retention.time=7d2、prometheus.yml 配置文件 global: 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).alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093rule_files: # - "first_rules.yml" # - "second_rules.yml"scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['172.17.0.12:9090'] - job_name: 'node' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['172.17.0.12:9100']**3、在本机能够启动一个node exporter,用于下文测试,通过http://127.0.0.1:9100/metrics 验证node exporter是否启动胜利** ...

January 31, 2021 · 1 min · jiezi

关于监控:Volcano-监控设计解读一看就懂

摘要:Volcano 不便AI,大数据,基因,渲染等诸多行业通用计算框架染指,提供高性能任务调度引擎,高性能异构芯片治理,高性能工作运行治理等能力。Volcano 是一个 Kubernetes 云原生的批量计算平台,也是CNCF的首个批量计算我的项目。 Volcano 不便AI,大数据,基因,渲染等诸多行业通用计算框架染指,提供高性能任务调度引擎,高性能异构芯片治理,高性能工作运行治理等能力。 监控指标态设计为AI调度零碎开发监控的目标随着集群规模的扩张和调度规模的变大,调度效率和调度公平性的谋求就不会停下。Volcano 社区开展了长时间的开发,疾速的性能迭代,插件逐渐减少,这时候在适合的场景下应用适合的插件就变得比拟重要,这时候须要选用适合的指标来做性能和公平性评估,来评估以后运行状态是否能满足需要,是否须要对插件进行调整。在多租户的场景下,对不同租户资源应用的布局,计量和管控需要日益凸显,因而须要对多租户进行租户级资源监控和公平性查看。依据用户运行工夫和在各个插件中的调度工夫,判断出用户的应用场景,依据应用场景主动配置插件,实现智能调度。监控指标通过定义性能指标 ,定量检测调度零碎的性能,领导开发并且评测出针对不同环境的插件配置倡议和解决方案,并且给出评判规范。通过监测零碎以及租户资源应用状况,不便管理员进行协调治理对监控数据做样本剖析和特征分析,训练最佳调度插件模型,通过性能数据来修改误差更新模型,逐渐实现智能调度。监控根底指标设计 监控架构设计 目前在Volcano 中引入了三个监控组件,Kube State Metrics,Prometheus以及Grafana。 在 Kubernetes 体系中传统数值类时序数据个别是由Prometheus来治理的,状态类信息和配置类信息都是存在etcd里的,然而有时候须要配合起来实现监控指标,因而就须要将状态类数据和配置数据导入Prometheus,Kube State Metrics 实现了一个规范的 Prometheus Exporter 来从API Server 获取状态数据以及字段配置数据,帮助实现状态数据和时序数据的对立治理。 Grafana 中咱们初始化 Provision 了一个 Volcano Overview Dashboard,这个Dashboard蕴含了Volcano的全局监控信息,包含Volcano的公平性数据以及调度有效性数据。 在Volcano上部署监控套件在线部署make generate-yaml TAG=latest RELEASE_DIR=installer kubectl create -finstaller/volcano-monitoring-latest.yaml 离线部署须要的额定工作查看生成好的 installer/volcano-monitoring-latest.yaml 文件,下载yaml中的所有image,推送到离线环境中的镜像仓库,并且批改所有image字段指向离线仓库。 如何应用登录 Volcano 的监控面板 在Kubernetes集群中用管理员账号获取以后Volcano监控Namespace中的service信息,咱们能够看到grafana的NodePort是30004,在集群中任意Node节点上拜访30004端口即可看到Grafana的界面。 第一次登录须要输出默认用户名和明码admin/admin,后续须要从新设置新密码,设置实现新密码,抉择 Volcano Overview Dashboard。 Volcano Job 提早热力求 / Volcano Job 调度提早排名 通过Volcano Legency Heatmap 咱们能够看到以后Job延时产生的具体情况,在集群被打满的状况下,延时很容易疾速达到16秒以上,如果以后集群申请的资源没有满,那么可能是没有配置正当的插件导致的。 通过 Volcano Job Scheduling Legecny 咱们能够看到以后运行比拟长的Vocalno Job运行工夫长度,通过比对Scheduler日志,咱们能够逐渐找到相应的起因,并且调整插件来优化这个过程。 ...

January 28, 2021 · 1 min · jiezi

关于监控:grafana中结合自定义变量来添加dashboard-links完成链接跳转

需要阐明首先这是一个表格,数据源应用的是elasticsearch,这里统计的数据起源是nginx的申请日志,目标是统计出一段时间内接口的均匀申请工夫,最大申请工夫,最小申请工夫,而后依照url进行聚合,并统计出top10的数据,如下所示: 表格进去后,而后点击统计进去的top10的url进行跳转,跳转到一个对于对应url的具体申请趋势图,如下图所示: 需要是大略这么个需要,上面是具体的操作方法。 具体示例增加Elasticsearch数据源我的es索引格局是:nginx-aggregation-log-20210125这种格局,所以在配置Elasticsearch数据源时须要如下设置: 留神:index name: [nginx-aggregation-log-]YYYYMMDD 创立一个dashboard和panel 配置查问语句 而后给表的表头改一个名字,改成咱们想要的名称 配置一个变量 查问语句实践上来说轻易设置一个就行,因为咱们不是通过抉择url来进行动静出图,也能够写一个查问语句 {"find":"terms","field":"url","size":10,"query":"http_host:\"xx.xxxxom\" OR http_host:\"xxx.xxxxxx.com\""}设置这个变量就是前面要传递的,通过这个变量,动静画出一个申请图 增加具体申请地址趋势图这次增加的是一个曲线图,查问语句也简略很多,如下所示: 有时候咱们须要在图的下方显示具体的URL,那么就能够这样设置 到这里这个图就建好了,上面的操作就不须要它了,上面咱们再次配置咱们的那个表 给图表增加一个links通过Overrides中的Fields with name来抉择咱们的一个表头 阐明下,url就是表格中的第一列中的url的名称,而增加的链接实际上是方才增加的具体申请图中的dashboard所在的地址 当咱们输出$的时候会自动弹出一个可用的变量列表,如下所示: 设置好,点击保留,就能够了,哈哈哈,效果图如下: 留神: 如果点击链接关上的图是和源图在一个dashboard中时,只须要设置一个变量就能够了,如果不在一个dashboard中时,须要把两个dashboard都设置好变量,且变量名设置成一样的。 欢送各位朋友关注我的公众号,来一起学习提高哦

January 25, 2021 · 1 min · jiezi

关于监控:常见运维监控系统的技术选型

当今监控乃至整个运维行业正处在变更之际,面对诸多变动和不确定性,运维监控的布局应该首先思考保障技术投资的可持续性,防止锁定在某一具体的架构和计划上,而是立足核心技术要点与诉求,追随技术潮流,平滑演进,放弃技术先进性,在演进过程中分阶段继续输入业务价值。本文将介绍几种常见运维监控零碎的技术选型。 监控零碎的性能监控零碎是运维零碎或平台零碎中较为外围的组成部分,它承载了运维工作中数据闭环的局部。从性能角度,监控零碎分为数据采集性能、数据上报性能、数据存储性能、告警性能、大屏性能、报表性能等功能模块;从技术场景角度,监控零碎又能够分为机房监控、硬件监控、网络监控、操作系统监控、中间件监控、云平台监控、业务监控、拨测监控等垂直技术畛域;从业务场景角度,监控零碎还能够分为资源类监控、老本类监控、审计类监控、品质类监控、经营类监控、安全类监控等垂直业务畛域。 无论从哪个角度划分,监控零碎的外围职责是保障平台所有信息的及时采集、正确处理、精确告警和正当展现。 监控零碎的工作地位运维负责撑持业务模块的失常运行,这须要从最底层的云或硬件开始构建运维技术栈,按下图所示,一般来说运维技术栈的职能从下往上顺次包含环境(如 IDC 机房)、设施(如云主机、硬盘)、根底软件系统(如 linux)、部署和治理(如 docker、k8s)、中间件(如 mysql 数据库)、业务调度,最终到最上层的业务模块。不同公司、不同业务场景下,运维的技术栈的实现形式会有很大区别,但从性能上不会超出下图所示的范畴。 在运维技术栈中,监控零碎(如上图右侧所示)须要在垂直维度上负责所有档次、所有组件的工作状态收集和危险预警。监控零碎的工作地位贯通了运维技术栈的所有档次,这对监控零碎在技术上的全面性、可靠性和工程上的强度提出很高要求。 监控零碎的外围组件数据采集器数据采集器个别是反对插件机制的数据采集和数据上报工具。它能够从本人所运行的零碎上间接采集相干运维数据,或从其它零碎的 API 中取得数据,亦或是从零碎或第三方组件中监听监控数据。 数据存储仓库数据存储仓库通常是工夫序列数据库,它负责解决大量的监控数据写入和简单的监控数据查问。数据存储仓库个别需蕴含数据压缩、数据过期、聚合运算等必须性能。 用户操作和可视化界面用户操作界面是用户治理监控零碎的入口,它必须使对监控指标和告警的治理易用并可保护;数据可视化界面负责提供监控数据的展现,它必须反对必要的时序数据展现手法,并反对肯定水平上灵便的查问能力。 数据处理引擎数据处理引擎解决数据存储仓库中的工夫序列数据,个别要反对流式解决和批量解决。数据处理引擎一个最重要的性能是对监控告警的计算。 监控零碎的关键技术监控零碎在技术上涵盖面广、技术栈深,容易存在技术危险。在设计或评估一个监控零碎时,咱们要分外关注以下关键技术: 收集器收集器决定了监控数据的起源,收集器的好坏决定了监控数据的覆盖面、数据品质和及时性。一个好的监控零碎应该装备大量针对常见技术场景的收集器,并提供方便的自定义数据接口。规范场景的监控数据占所有监控数据的 70% 左右,大量的规范收集器能够大大降低监控零碎的持有老本;自定义监控数据占所有监控数据的 30% 左右,设计良好的自定义监控数据接口能够更好的调度、组织和收集自定义数据源,并为后续的二次开发工作夯实工程根底。 工夫序列存储技术工夫序列的治理、存储和解决是监控闭环中的外围环节,在设计或评估一个监控零碎时应着重考查工夫序列存储的技术计划。工夫序列技术的关键点在于可用性、可靠性、压缩比、旧数据清理、指标项治理、多维度聚合等多个方面。 查询语言和查问效率查询语言是监控数据的查问接口,好的查询语言能够极大开释监控数据的价值,而不好的查询语言会限度对监控数据的进一步加工和应用(有些监控零碎不反对通过语句形式查问数据,应该防止抉择这样的计划)。数据的查问效率会影响监控零碎的应用效率,尤其在告警计算、报表生成、数据统计等应用场景下,低下的查问效率会极大影响对数据应用形式的设想空间。 告警策略的配置形式对告警策略配置形式的考量,应该以灵活性和可维护性为指标。混合架构、微服服等新技术催生了更现代化的业务零碎技术栈,这对告警策略的灵活性提出更高要求,告警策略应该反对条件告警、组合条件告警、同比环比、回归、线性拟合等高级性能,最好能反对基于聚类算法的告警合并(基于聚类算法的告警合并是目前业界普遍认为最无效也是最可落地的告警合并办法);云原生、容器带来高动静的服务端环境,这样的环境须要可维护性更强的告警策略配置形式,业务环境高频甚至主动变动,不足可维护性的告警策略配置形式会导致监控零碎的配置无奈跟上业务环境的变动,岂但消耗大量人力,还容易导致漏配、错配。 API 和二次开编程接口基础设施可编程逐步将运维工作软件化,这股软化趋势一直向运维技术栈的上部蔓延。监控零碎作为运维零碎的中枢须要具备弱小的 API 和二次编程接口能力与 CMDB、虚拟化环境、部署零碎(CI、CD)、运维自动化零碎等其它运维子系统良好配合,协同工作;孤立的监控零碎会造成数据孤岛,成为运维工作流中的瓶颈点,影响运维零碎的整体规划与技术演进。 常见技术选型Zabbix应用原生 Zabbix 计划,通过 Zabbix agent 采集数据;通过 Zabbix server 接管、存储数据并计算告警;通过 Zabbix web UI 或 Grafana 展现数据;通过 shell 脚本收集自定义监控数据,如下图所示: 长处:计划成熟、初期持有成本低 毛病:超过 1000 台服务器时存在性能和管理效率瓶颈;自定义脚本保护老本高;可扩展性差。 Zabbix + 二次开发基于 Zabbix server 的数据存储和告警计算能力,应用局部 Zabbix agent 内置监控指标;自研数据上报器治理和收集自定义监控指标数据;通过 CMDB 或服务器对立治理告警配置和自定义收集并主动同步给 Zabbix server 和数据上报器;Zabbix server 产生告警后发送至告警核心,由告警核心对立治理告警并发送。如下图: ...

January 25, 2021 · 1 min · jiezi

关于监控:prometheus-promeql-实用举例

实用功能总结label 正则/正则非匹配举例:pod状态 kube_pod_status_phase{pod!~"filebeat.*",job="kube-state-metrics", namespace !~"druid",phase=~"Pending|Unknown"}agg 去掉/保留 label ,散布状况去掉举例: sum without(code) (rate(apiserver_request_total[2m] ) ) 保留举例: sum by(code) (rate(apiserver_request_total[2m] ) ) 举例:apiserver 申请qps和按动作散布 sum (rate(apiserver_request_total[2m] ) ) by(verb)举例:apiserver 申请qps和按动作,code散布 sum (rate(apiserver_request_total[2m] ) ) by(verb,code)label_replace 变动label举例:新增host标签内容为instance的ipaddr label_replace(up, "host", "$1", "instance", "(.*):.*")原始series ` up{instance="localhost:8080",job="cadvisor"} 1 革新后series ` up{host="localhost",instance="localhost:8080",job="cadvisor"} 1 topk bottomK 看top举例:查看容器cpu使用率top5 topk(5,sum(rate (container_cpu_usage_seconds_total[1m])) by(pod))同环比 相减举例:qps环比1小时 掉10 sum (rate(apiserver_request_total[2m] offset 1h) ) - sum (rate(apiserver_request_total[2m] ) ) > 10 absent nodata报警==1代表absent失效举例:absent(container_cpu_usage_seconds_total{pod=~"k8s-mon.*jddj2"})查问时间接增加value过滤举例:容器处于waiting状态 kube_pod_container_status_waiting==1举例: 过滤cpu核数大于8的节点 kube_node_status_capacity_cpu_cores>8举例:pod状态异样:sum by (namespace, pod,cluster,phase) (kube_pod_status_phase{pod!~"filebeat.*",job="kube-state-metrics", namespace !~"druid",phase=~"Pending|Unknown"}) > 0查问时间接做value计算举例: 依据idle算util百分比 100 * (1 - avg by(instance)(irate(node_cpu{mode='idle'}[5m])))组合条件 and举例: m3db read 大于并且 db_write 大于1000 avg by(cluster) (rate(database_read_success{cluster="hawkeye-inf",instance="10.21.72.147:9004"}[1m]) ) > 100 and avg by(cluster) (rate(service_writeTaggedBatchRaw_success{cluster="hawkeye-inf",instance="10.21.77.55:9004"}[1m]) ) >1000前后label统一or 同理分位值histogram_quantile举例查看apiserver 申请提早90分位 histogram_quantile(0.90, sum(rate(apiserver_request_duration_seconds_bucket{verb!~"CONNECT|WATCH"}[5m])) by (le))两组series关联举例:apiserver 申请成功率 sum(apiserver_request_total{code=~"2.*|3.*"})/ sum(apiserver_request_total)agg_over_time 给所有ts的value做agg举例查看一天的alert sort_desc(sum(sum_over_time(ALERTS{alertstate=`firing`}[24h])) by (alertname))举例查看一天的alert sort_desc(sum(sum_over_time(ALERTS{alertstate=`firing`}[24h])) by (alertname))

January 21, 2021 · 1 min · jiezi

关于npm:混合云全网流量采集与分发方案设计与实现Part-II

全网流量采集与散发计划少数大型企业目前都存在多数据中心、混合云的IT设施资源,从网络的角度看如下图所示,自有的数据中心通过专有网络互联,并划分业务区,并且有可能存在多个分支机构网络。为保障资源弹性,业务疾速上线等,也大量应用私有云资源,抉择多个云服务商。企业从运维排障、经营治理、业务性能等方面都须要对网络有全面清晰的画像。 本计划的指标是为企业混合云建设对立高效的网络流量采集及解决平台,面对各类资源池实现对立的流量采集形象层,反对IPv4、IPv6协定环境,并且能对流量实现过滤、去重、压缩、截短等解决性能,能为网络经营核心(NoC:Network Operation Center)、平安经营核心(SoC:Security Operation Center)、大数据分析平台等多方流量生产端提供数据供应。 实现全网流量采集及解决,能够从区域以及资源池来布局,以下别离以数据中心侧、私有云侧及整体管制治理侧来论述计划。 数据中心侧在数据中心侧,以通常所划分的网络分区为例,如互联网业务区、外联业务区、外围业务区等,对于整个平台的部署,可将数据中心按区域(Region)来定义,区域内可蕴含多个可用区(AZ:Available Zone)。 要获取区域内的网络流量,可蕴含可用区内的物理网络和资源池内的网络数据流量,如图典型区域所示。在物理网络波及的范畴,除可用区外部网络外,还包含各类链路,如专线、互联网(_ISP:__Internet Service Provider_)链路等。获取流量或流信息可通过镜像、分光、sFlow、NetFlow/IPFIX等形式。在混合云环境中,计划挑战性比拟大的是在资源池内所波及的范畴,网络边界次要由各类虚机交换机所形成,数量多、稳定大,同时新技术也波及多。 各类型号的DeepFlow® Trident流量采集器为全网流量采集计划提供根底捕捉能力。 资源池内网络流量采集对不同的资源池装备不同状态的采集器,提供最优的网络流量捕捉能力,包含VMware ESXi采集器、KVM采集器、KVM-DPDK采集器、HyperV采集器、容器OnVM采集器、容器OnHost采集器,防止配置池内虚构交换机,采集器以过程状态独立运行,缩小对现网的影响以及防止可能的烦扰生产配置危险。 对于裸金属设施资源池,获取其池内网络流量可通过Leaf交换机、接入交换机的端口镜像,汇总至TAP设施后交由专属服务器类型采集器实现对数据包解决操作,也能够抉择将采集器装置在每一台须要采集的裸金属设施零碎上。 物理网络流量采集在物理网络中,流量获取次要通过端口镜像、分光等形式取得,采集器次要对网络数据包进行过滤、去重等解决,散布的采集点次要有互联网业务区中的ISP线路、外联区域的专线线路、各区进口线路以及防火墙、负载平衡设施前后线路。 在对物理网络管理中,须要对物理网络替换矩阵(Fabric)的转发门路、端口统计、遥测数据(Telemetry)等信息收集展现,通常由物理设施厂商的监控计划来提供并解决。DeepFlow®采集器可对接替换矩阵(Fabric)中网络设备sFlow、NetFlow/IPFIX等规范数据输入。 DPDK环境下的反对在运营商CT(Communications Technology)网络中,曾经利用NFV技术计划,在其虚构网络实现中,虚构交换机,如OvS(Open vSwitch),通过应用数据立体开发套件(DPDK:Data Plane Development Kit)_晋升数据包解决性能。在CT环境中,虚构网元(VNF:Virtual Network Feature)间的通信流量,尤其是管制信令流量,同样面临网络虚拟化后的采集难题。 在企业环境中,如果存在采纳DPDK套件的资源池,计划中能够抉择KVM-DPDK采集器进行资源池内流量采集。 多区域反对少数思考对立流量采集平台的企业,IT资源都存在于多个数据中心,而且存在泛滥分支机构。如下图所示,各地数据中心区域、各类资源池,网络流量采集需要都由相应型号的采集器实现。 私有云侧私有云为租户提供VPC网络,Workload采集器以用户态的软件模式部署在虚拟机、容器、裸金属设施等Workload上,反对Linux、Windows等支流操作系统,实现VPC内各类资源的网络流量采集。在私有云侧,Underlay网络由云运营商保护提供,采集器以用户态过程形式装置在Workload操作系统上,实现网络流量获取。同时在虚拟机部署容器的环境中,容器采集器能够实现容器POD的网络流量获取。 因为部署装置在Workload操作系统上,采集器数量多,能够通过镜像进行预装。 管制治理侧后面两章节次要介绍了采集获取各类型资源池流量的能力,既然采集器数量大,策略维度多,稳定突出,对其的管理控制是计划能力评估的重点。面对多数据中心、多云异构的混合云基础设施,对立建设网络流量的治理调度平台,解决规模大及可管理性的问题,管制面的设计是外围点。控制器是管理控制采集器及策略下发的管制中枢,可分为主控制器、备控制器、从控制器,可依照部署要求进行抉择。 主控制器:整个DeepFlow®平台的管制中枢和提供对外交互、服务的接口。部署后的DeepFlow®平台中只有一台主控制器,主控制器所在的区域称之为主区域。备控制器:与主控制器的性能完全一致,当主控制器呈现宕机或不能提供服务的其余故障时,主动切换为主控制器。在没有备控制器的状况下,DeepFlow®控制器集群没有高可用能力。整个DeepFlow®中只有一台备控制器,且必须和主控制器在同一个区域中,并共享一个用于提供内部服务的虚IP地址。从控制器:负责管制所在区域(Region)或可用区(AZ:Available Zone)中的采集器及数据节点,将主控制器的策略和云平台资源信息同步至所有的采集器和数据节点。除主、备控制器所属的区域,每个区域中至多部署一台从控制器,同一个区域的多台从控制器之间能够实现负载平衡和高可用。 在多点的部署环境中,首先指定主区域(Region),主控制器存在于主区域中,当启动主控制器高可用性能,主区域内应部署多台控制器,通过心跳保障控制器间的状态同步,及时启动主、备控制器选举。选举产生主控制器后,为整体流量治理平台提供管制入口。除主区域外的其余区域控制器为从控制器,不参加主控制器选举。 在区域中能够划分多个可用区(AZ:Available Zone),通常以可用区为单元,由繁多控制器独立管制可用区内的各类型采集器,对本地采集器进行采集策略、散发策略、预处理策略下发。多区域间可通过专线网络进行管制通信,次要包含治理、策略等通信。 通常在有分支机构的环境下,数量绝对数据中心较多,次要是申请服务的流量,其区域内没有服务端,须要流量数据次要是构建网络整体情况以及业务端到端网络性能剖析。不须要独立部署控制器,能够按理论状况,将采集器划分在左近区域的控制器治理下。私有云环境中,控制器部署在虚拟机中,治理范畴内的采集器。 控制器齐全管制采集器状态,各类采集器具备雷同状态机机制,如下图:各类型的采集器可能处于自检、运行、进行、异样、爱护等几种状中,其中爱护状态,是确保采集器工作时,平台能对其应用CPU、内存资源应用下限的限定。当配置采集器资源限度在1vCPU、1G内存时,运行过程中,如果呈现压力过大,采集器状态将由“运行”切换至“爱护”状态,对所采集、解决的数据包进行抛弃,以确保不对生产环境产生影响,直至从新调整资源配置或解决压力降落,切回至“运行”状态。 另外,控制器通过对接虚拟化资源池控制器、配置管理数据库(CMDB:Configuration Management Data Base)、私有云凋谢API等,实现多粒度下发采集、散发策略,在云环境、容器环境中,更灵便、更贴近业务利用。 繁多控制器可反对2000个采集器工作,这通常是一个可用区波及的采集器规模。主、备控制器与从控制器协同工作,控制器规模最大反对50台,并在主区域内实现选举机制。计划整体可满足10万台采集器规模,具备大型企业公有IT、私有云、容器等对网络流量采集要求。 基于分布式的监控流量解决采集器不再是简略地获取网络流量管道,是具备对本地采集的网络流量进行解决的计算单元,泛滥采集器以及控制器构建成一个与云网规模统一的分布式流量解决零碎。 全网网络整体情况、应用服务间拜访、负载平衡、安全策略利用状况等须要对现网捕捉到的流量进行解决后存储供剖析展现,集中后处理海量流量须要大量扩大计算资源,在此计划中,采集器具备专利算法的前置计算能力,散布在资源池中按需对流量进行解决,无效缩小散发数据对监控网络和后端剖析工具的压力。 通过各类型的采集器实现流量采集解决形象层,次要对数据包解决能力进行形象,包含过滤、去重、数据包截短、压缩、特色标记等性能。 过滤过滤能力是高效进行流量获取、以及精准实现网络流量数据价值的根底,对所有数据包无辨别的解决、存储可不是一个好的可执行的计划。有过滤后,那条件维度就是下一个重要因素,对采集策略、散发策略、解决策略仅仅基于网络五元组设置过滤条件是远远不够的,在池化、多租户、容器环境中,仅有这些能够说是过期的。更丰盛的过滤条件,如业务、主机、服务、POD等维度都是须要退出的。 去重、截短、流日志、压缩、标记去重能力是保障获取流量数据后的准确性,采集器存在于网络流量的两端,有可能散布在不同资源池,不同区域,同时捕捉后,进行统计、辨别源、目标端等,为剖析、可视化的准确性提供撑持。 截短能力是对获取数据包后,针对性应答数据生产端需要的能力,同时,也是压缩能力的根底之一。可提供数据包包头,包头后指定偏移长度的截短能力。 流日志能力是对流量数据包获取网络元数据的能力,是对全网整体绘图、回溯查问的根底。反对80种类型元数据获取,除了根底的源、目标MAC、IP地址、端口外,按需要可获取更多TCP以及性能的日志信息。 压缩能力是保障获取流量数据后,无效利用传输带宽、存储资源。如果后端生产端须要数据包包头或流日志数据,可取得的压缩比100:1,如果仅须要遥测统计数据,压缩比达到10000:1,这也保障在整体计划中,对于一些分支机构,仅须要获取流日志信息,不须要专属网络线路,能够通过Internet VPN搭建计划。 特色标记能力是对数据包散发过程中,散发终点在封装的隧道包头保留字段中,标记特征值,卸载封装时能够辨认。供后端剖析工具、运维平台针对非凡数据包辨认,可用于网络诊断、采集点定位等场景。 包散发包散发性能是解决对残缺的数据包剖析、平安保障的需要,外围须要保障数据包的原始性,包含数据包内容、程序等,同时能够针对繁多数据包进行多目的地的散发。 包散发性能是通过三层隧道实现(ERSPAN、VxLAN),控制器对立下发散发策略,由波及的采集器端间接进行数据包封装,并发往目标端,反对多目标端发送。 在混合云数据包散发的计划中,须要思考散发的网络立体,如果散发流量较大,能够思考预留独立的网络监控立体。如果仅针对大量外围业务,能够复用已有的物理网络。 在散发的目标端,须要思考对封装隧道的卸载计划。通常如果目标端是NoC、SoC、大数据平台等大型平台,能够由物理交换机的VxLAN卸载性能进行隧道解封装。同时如果针对一些传统的剖析工具,没有隧道卸载能力,能够应用专属服务器采集器,运行隧道卸载模式,部署在剖析工具前端,解封装后,将数据包送至剖析工具。当然,如果剖析工具具备VxLAN卸载能力,能够间接接管隧道数据包。 整体散发计划利用如下图所示。在传统物理网络环境中,NPB设施及计划很好地实现了数据包散发的需要,但在混合云环境中,资源池数量多,品种不同,在混合云环境中实现监控流量按需散发能力,并将散发操作以分布式架构散布在各个采集点实现,防止单点性能瓶颈及适配逻辑网络跨多资源的场景。 数据服务对于非原始数据包的数据生产需要,平台提供凋谢的数据订阅形式。解决后的包头,网络元数据、遥测统计数据通过网络立体汇总至高性能时序数据库中,可通过API,音讯队列为其余数据生产平台调用。 在每个区域、可用区都能够配置高性能时序数据库,通常在分支机构环境下,不须要部署时序数据库,其数据通过压缩后写入纳管区域内的数据库。 主控制器间接响应对网络数据的API调用,由主控制器查问本地时序数据库,或收集区域内数据库API返回的后果并回复申请端。数据订阅可通过ZeroMQ等音讯队列提供,由数据需要平台向数据库发动音讯队列申请后,就可执行订阅服务。数据订阅音讯队列示例,Python: 部署整体计划次要波及采集器、控制器、高性能时序数据库三局部,在实现布局整体计划后,可分区域、分资源池按阶段投入建设,最终为企业混合云IT基础设施环境构建对立的流量监控治理平台。 因为传统物理网络已具备残缺的监控计划,通常抉择以KVM、容器资源池进行第一步部署施行,解决虚构网络环境流量“黑盒”不可见的问题,满足对虚构网络流量合规审计的要求;采集流量对接已存在的监控剖析工具,闭合公有云、容器环境中的运维、业务剖析工具链。 第二步纳入更多资源池,与新建扩容的资源池同步部署,接入物理网络中交换机sFlow数据,接入专线等分光流量数据,实现对整体数据中心的流量采集能力,存在对立的流量监控立体;对接网络核心、平安核心、智能运维等平台,提供数据包、流数据服务,满足各平台对现网流量数据的展现、剖析需要。 第三步能够对存在私有云上所运行的Workload或实例流量进行采集,实现对混合云IT环境整体监控流量治理,具备整体网络画像、流量散发、反对对多平台流量数据散发服务能力。 对于曾经运行的混合云环境,能够在不影响生产环境运行的状况下部署施行,网络布局上将DeepFlow®平台所波及的治理、监控散发立体复用在已有的网络立体中,通常能够复用曾经存在的网络管理立体。 对于整体规划的计划,倡议对整体混合云布局独立的网络监控立体,对于混合云的监管流量对立、独立地进行治理。另外,采集器对计算能力的要求,能够依据解决流量、资源状况进行整体规划,对繁多采集器最低可配置1vCPU 128M的资源应用。 ...

January 19, 2021 · 1 min · jiezi

关于监控:道旅使用ARMS做业务监控数据清洗

作者:折松,阿里云解决方案架构师 深圳市道旅游览科技股份有限公司(简称:道旅)是一家总部位于中国的寰球酒店资源批发商。自2012年成立以来,道旅凭借其寰球优质的直签产品和丰盛的第三方产品,以及顶尖的技术实力,博得了包含OTA、差旅治理公司、航空公司、旅行社等超过23,000家客户的信赖和反对。在资源端,道旅不仅有超过30,000+具备竞争力的直签酒店资源,并且领有来自于 600+ 寰球供应商的 70 万家酒店,资源笼罩了寰球超过200个国家或地区。 道旅从未停下脚步,始终专一于为同业提供牢靠的服务和有竞争力的资源,并减速在直签资源的布局,让同业搭档的游览生意更好做!道旅一路走过,播种喜人: • 2018年单日交易额冲破1000万,取得深创投,国隆资本联结投资。• 2019年单日交易额冲破1800万,荣膺2019深圳500强企业。• 2020年取得广东省旅行社百强第二名。 新的需要:道旅须要构建一个全面的指标监控零碎,既包含零碎的业务指标:如各类业务类型的申请数变动,不同供应商信息的变动,客户申请的明细大盘,各酒店申请量的排名变动,不同城市的订单转换率剖析报表等;也包含零碎的运行指标:如服务器申请响应工夫, 带宽应用状况;在选型上次要思考点有: 1 . 指标监控零碎的挑战次要有申请量大,集群和监控类别多。2 .指标监控零碎须要实时性,配置简略,能够让业务部门去做定义报表;3 .指标监控零碎构建简略,尽可能减少治理的组件数,可用性要求高,性能要求高的特点。 应用ARMS的自定义监控反对的监控工作类型和创立流程,通过配置接入数据源、荡涤日志和创立数据集三个关键步骤,疾速自定义监控工作。借用ARMS来实现流式计算服务的工作,整个计划配置简略,读写性能好,不须要保护存储,能疾速生成监控数据。 通过道旅的监控接口零碎Dida获取的ARMS产生的监控数据并提供给Grafana,能够不便地生成各种报表。 上云价值实时业务大盘: 通过ARMS提供的可视化数据荡涤工作,创立进去的业务大盘实时性好,能够高深莫测地晓得业务的变动,领导公司的经营与决策。 运维搭建简略:应用ARMS不须要搭建流式计算零碎,也不须要提供低廉的存储,通过简略的配置就能够生成指标监控数据集,十分不便。 更优化的老本:应用ARMS 的形式构建业务指标零碎,在实时性满足的状况下,对于道旅来说比其余形式的大数据计划更具备竞争力。 举荐产品:利用实时监控服务ARMS,云原生一体化可观测性平台,提供全栈式的性能监控和端到端的全链路追踪诊断能力。 产品链接:https://www.aliyun.com/product/arms?spm=5176.19720258.J_8058803260.377.44882c4a9dSgzs 客户证言“凭借 ARMS,IT 人员可能在数分钟内搭建和启动基于大数据平台的业务实时监控零碎,在充分发挥数据监控时效性的同时晋升IT 人员效率!”——道旅CTO James 原文链接本文为阿里云原创内容,未经容许不得转载。

December 8, 2020 · 1 min · jiezi

关于监控:基于MDC的日志链路监控

gateway链路监控现状:目前查找一个交易的详情,须要通过portainer进入申请所在的容器查找流水号对应的日志。因为申请很多,同一申请的日志可能不在一起,并且同一申请中有的日志无奈增加流水号。目标:通过流水号对网关日志进行查问,可失去同一申请的所有日志。原理图:办法:将gateway的同一申请的日志增加流水号: 申请进入时日志增加流水号响应回来时日志增加流水号,因为申请和响应不是同一个线程解决发送响应时删除日志流水号异步操作传递流水号通过ELK对网关日志进行收集,以gateway-{date}归集一个index,做为根底的服务日志。Filebeat:换行的日志当作一条发送到kafkaLogstash:解析orderNo当作es的一个字段 查问:配置后端服务的日志收集地址,在查问交易日志时可通过api查到关联的上游日志以api-invoke-his做为交易流水库,依据流水号,网关类型和日期到gateway-{date}(昨今今天)查问具体gateway日志,依据apiName查到关联的上游日志index,综合失去整条链路的日志 毛病: 代码侵入性比拟强,须要改变到处中央被动配置的中央较多,须要配置交易的日志收集index,即交易的链路。须要提前晓得交易的链路。比照skywalking,引入agent即可打印链路的信息,然而无奈打印日志。如果想监控mysql、es,须要本人开发agent系统日志监控:背景:微服务中系统日志散落在各个机器中,无奈集中查看,目前通过elk可收集各个系统的日志在kibana查看。然而日志构造比拟涣散,出了问题排查艰难,须要当时找到机器。此外如果日志量大,难以查看报错日志的上下文。因而须要疾速找到一次申请链上的所有日志。因而须要一种疾速晓得哪里报错以及找到报错上下文日志的计划。 计划简述:将同一申请/解决逻辑的日志增加雷同流水号,不便零碎异样时查到关联日志。其中所有服务的异样日志放入同一个es的index,不便间接展现谬误日志。如果该日常蕴含流水号,可去相干服务查问具体日志。如果晓得申请通过的服务,能够查问链路的相干日志。谬误日志也放入kafka的topic中,便于监控零碎对接告警。 目标: 疾速找到报错的日志及流水号,便于查看系统启动时是否胜利通过流水号找到对立申请的日志。(须要手动关联同一流水号的多个服务,无奈做到api级别的动静关联,如果查找所有index比拟消耗性能)原理图:流程: Filebeat监听服务日志,定义logtopic放入kafka的openapi_{logtopic}中Logstash监听openapi_{logtopic}的topic,将数据格式化后输入至三个方向:全量输入至{logtopic}_{date},即在es中按logtopic和日期为index进行保留级别为error的日志一方面输入至openapi_error_{date},即以error和日期为index进行保留,另一方面输入至topic为openapi-error的kafka中,供监控告警应用。这些输入是并行的。Monitor以error_{date}为根底数据源进行查看,如果异样日志蕴含流水号,则可跳转至{logtopic}-{date}进行查看服务的日志。如果查看相干链路日志,须要联结index进行查问。须要解决的问题: 流水号在服务外部传递流水号在服务间传递流水号在异步线程传递服务在某个办法中传递服务日志增加流水号的形式: request filter:web申请到来时,如果此时线程中曾经设置过流水号,不必再设置。如果没有设置且header中蕴含orderNo,则将其作为以后线程的order,否则新生成orderNo并设置。确保filter是申请第一个进入的,防止一些log记录不到流水号。Feign intercepter:服务通过feign调用其余服务时,将以后线程的orderNo放入header中,保障上游服务能够取得orderNo。如果有应用hystrix,须要在hystrix线程池中传递mdc异步线程池:异步执行时,无奈传递流水号,因而须要应用特定的线程池,能够传递流水号独自执行的办法:redis,mq的监听,执行定时工作,由特定事件执行,而非web申请触发,通过aop在办法执行前设置MDC,实现后革除革新的中央: 异步执行应用特定线程池独自执行的办法增加注解Filebeat减少换行的配置,只传输*All的日志Logstash减少orderNo的解析,log_level为error的传入es及kafka中问题:如果不是logger.info或logger.error的日志,如果出现异常如NullPointerException,尽管是同一个线程解决,但流水号无奈继承。须要有GlobalExceptionAspect捕捉全局异样 Async-threadpool: 提供一个能够间接应用的线程池,@Async间接应用。使用方便,不必什么配置提供获取线程池的静态方法,能够通过办法获取,通过@Bean注入,便于设置线程池参数。场景:有多个参数不同的线程池需要提供线程池装璜器,自定义的线程池加上装璜器即可增加mdcMethod-aspect:有些代码的执行并不禁web申请触发,而是由定时工作,mq的监听触发,执行某个办法。因而须要对办法进行AOP拦挡,执行前增加MDC,执行完后删除。此外留神产生异样时也须要拦挡并删除MDC。异样如果不必logger.error/info记录,则无奈打印MDC,主动抛出的异样(如除数为0)尽管在一个线程解决但mdc为空。因而AOP须要拦挡异样并用logger.error进行记录。此外,@PostConstruct执行的办法无奈增加MDC。 Feign-interceptor:如果以后线程蕴含MDC,则在header中设置,否则不做解决。因为有可能应用到hystrix进行限流熔断,须要对hystrix进行配置 Request-interceptor:如果以后线程蕴含MDC,不做解决;如果不蕴含,查看header是否含有orderNo,如果蕴含,将orderNo作为流水号设为MDC,否则生成新orderNo作为MDC。 留神的几个点: Filebeat同步的是**All.log日志,防止error呈现两次MDC put后再put,会革除Request filter的order; filter在interceptor前,因而须要用filter且优先级最高,保障申请到来第一个进入Gateway无奈应用skywalking,因为是nio,申请和响应是不同线程解决,响应无奈与申请的mdc保持一致第三方jar包的类名最好加上服务名称,防止反复

October 29, 2020 · 1 min · jiezi

关于监控:被产品经理怼了线上出Bug为啥你不知道

前言前几天跟读者聊天,他说被产品经理给怼了。起因是线上出 Bug 了,最初是客户反馈才晓得的。 我就问他:你们是不是没做监控? 读者:咱们是刚成立的守业团队,目前最重要的就是堆性能,很多基础设施都没工夫做。 正所谓有多大的碗吃多少的饭,不要自觉谋求规模大,很牛的那种计划,适合的就能够。监控亦是如此,小计划只有够用,能解决问题,也是十分不错的抉择。 上面给大家介绍一些罕用的异样监控形式: 最小老本化如果是刚成立的守业团队,能够用最小的实现老本来对系统的异样进行实时监控。所谓最小的实现老本,就是能够不必依赖任何三方的框架就能够实现。 能够采纳手动埋点的形式将异样进行告警,这种形式最好是在全局异样解决的中央进行告警,能力对立治理。 如代码所示: @ExceptionHandler(value = Exception.class)@ResponseBodypublic ResponseData<Object> defaultErrorHandler(HttpServletRequest req, Exception e) { // 记录异样 // 钉钉或者短信告警} 当咱们的我的项目中有了全局异样解决,当底层报错的时候,异样都会进入到 ExceptionHandler 进行解决,在 ExceptionHandler 中咱们能够通过 HttpServletRequest 来获取响应的申请信息和异样信息,而后进行告警。 异样告警信息异样告警信息肯定要具体,当线上出现异常后,第一工夫要去修复这个问题。如果没有具体的信息基本就无奈复现这个问题,就不好去定位和解决了。 告警信息须要有上面的内容: 告警服务:mobile-gateway负责人:yinjihuan申请地址:http://xxx.com/xxx/xxx?id=xxx申请体:{ "name": "xxx" }申请头:key=value异样码:500异样类型:RuntimeException异样堆栈:java.lang.RuntimeException: com.xxx.exception.ApplicationException: 获取XXX信息失败!最重要的就是申请参数了,有了参数能力复现谬误。须要留神的是通过 HttpServletRequest 获取申请体的时候会报错,因为流只能读取一次。 等到了全局异样解决类的时候曾经被读取过了,所以咱们须要非凡解决一下,写个过滤器将申请体的值缓存起来,能够 org.springframework.web.util.ContentCachingRequestWrapper 对 HttpServletRequest 进行装璜,而后通过 ContentCachingRequestWrapper 获取申请体。 最小老本化+兼顾性能手动埋点的形式对异样进行实时告警,而后间接发送短信等告警信息,这个过程是同步的,或多或少会加大响应的工夫,不过申请进入到异样解决这里的话就证实这个申请曾经失败了,影响不大。 尽管影响不大,但还是能够略微优化一下。最常见的优化形式就是将同步转成异步操作,比方丢到独自的线程池中进行告警,丢到内存队列中,独自用一个线程去获取进行告警。 本地异步可能呈现失落的状况,对于这类监控的信息失落几条问题也不大,如果不想失落,能够应用内部的音讯队列来存储告警信息,有独自的消费者进行生产,告警操作。 对立日志监控最小化老本的形式,只须要略微写几十行代码就能够搞定。不好的点在于每个我的项目中都要有这样一份代码,告警的逻辑也是耦合在了代码中。。 什么 EFK,ELK 置信大家都听过,将日志对立进行收集,集中管理。每个零碎中在出错的时候须要往本地日志中写入异样信息即可,不须要独自对异样进行告警,告警的动作能够由独自的告警零碎来做,告警零碎依据收集过去的日志进行判断,是否须要告警,告警频次等。 对立日志监控须要搭建日志平台,老本相对来说高一点。当然也能够用开源的计划,也有商业的计划。 商业的能够用云服务,应用简略,疾速接入,反对各种维度的告警规定,就是有点费钱。 如果只是想对异样进行监控,我举荐一款开源的谬误追踪零碎,Sentry 是一个开源的实时谬误追踪零碎,能够帮忙开发者实时监控并修复异样问题,当然 Sentry 也有商业版。 APM 监控apm(Application Performance Management) 除了对服务的调用链,性能进行详情的监控,同时对异样信息也有较好的监控。 ...

September 23, 2020 · 1 min · jiezi

关于监控:打破监控壁垒棉花厂3D可视化建设让生产加工更加智能化

前言当初的棉花加工行业还停留在传统的反应式保护模式当中,当棉花加下厂的设施忽然呈现故障时,控制程序须要更换。这种状况下,首先须要客户向设施生产厂家申请派出技术人员进行保护,而后生产厂家能力依据状况再派人到现场进行解决。因为棉花加工设施散布在中国各地乃至进口到世界各地,从客户反馈问题到厂家派人达到现场的工夫周期就会很长,少则一天,个别偏僻的中央可能会须要几天,不同水平地影响到企业生产流动的持续进行。传统的反应式保护存在以下毛病:售后服务响应速度慢;保护老本高;生产效率低下;停车率高;治理老本高;无奈应答合格工程师有余的状况。 近程监控零碎次要是通过散布于棉花加工生产线各种设施的传感器、开关信号、视频监控设施、 PLC 控制器等安装,通过智能联网设施集成到互联网和局域网下面,实现对生产、经营状况的随时把握,建设网络范畴内的监控数据和网上常识资源库,依据现场采集的设施运行数据进行近程诊断和在线培修。 HT for Web 不止自主研发了弱小的基于 HTML5 的 2D、3D 渲染引擎,为可视化提供了丰盛的展现成果。介于 2D 组态和 3D 组态上,Hightopo(以下简称 HT )的 HT for Web 产品上的有着丰盛的组态化可供选择,本文将使用 HT 搭载出一个基于 HTML5 WebGL 2/3D 交融的棉花加工工厂零碎可视化零碎。 界面简介及成果预览预览链接:http://www.hightopo.com/demo/Plucker/ 系统分析1、棉花种植模式多样 棉花是我国最重要的经济作物之一,也是生活必需品,在国防、医药、工业等畛域均有着无足轻重的作用。 但目前我国总耕地面积正逐年缩小,且粮棉争地趋势日益显著,全国棉花生产正出现逐年缩小的趋势。 为了保障棉花供应,满足人们日益增长的须要,进步棉花单产,在棉花总种植面积不变、甚至略有缩小的劣势下,实现棉花总产大幅增长,应作为须要思考的重要问题。 传统的棉花种植技术落后,人力老本消耗大, 操作流程繁琐,已不再实用于棉花产业的疾速倒退。 因而,在棉花生产治理中利用智慧农业,能够提供新的技术力量以及迷信的种植办法,同时,基于其低成本、高效率、节俭人力等多个长处,智慧农业曾经成为棉花产业、乃至于世界农业产业倒退的大方向。 因而,智慧农业与棉花产业的有机联合能够为棉花产量的大幅度提高,进而实现棉花产业的大幅振兴提供重要的实践撑持。   2、棉花加工智能化治理 在智慧农业的撑持下和有机的联合下,保障了棉花的产量,其加工的形式也在更新换代,其中随着工厂智能化改革,信息化建设的一直推动,规模大、生产线简单的企业对各种信息系统、自动化零碎的部署与利用,使得生产企业车间治理变得越来越重要,对车间各类设施的安全性、可用性和运维治理等要求方面也越来越高。而传统的监控零碎、设施已不能满足企业对工厂“集中监控,对立治理”的需要,无奈实现工厂、设施、生产、运行等信息状态全过程的高清展现、细节查看等操作。  3、数据可视化解决方案 介于在数据可视化 2D 组态和 3D 组态上,Hightopo(以下简称 HT)的 HT for Web 产品上的有着丰盛的组态化可供选择,可通过轻量化建模实现场景的搭建,继而通过数据绑定,呈现出场景流水线以及设施运行的状态,对加工厂起到监管作用,不便用户智能化治理。 实现价值一、数据可视化棉花加工 3D 工厂场景监控零碎不仅能实现生产监控全过程一体化、精细化、可视化、数字化的治理,集成企业现有的设施零碎,及时发现问题、解决问题,让生产线全过程通明简单化,在生产过程中可控可治理,通过模型与对接的数据,反馈出运行状态,并且能够通过面板来管制抓棉机的运行,晋升用户的体验度和治理。 二、面板管制通过对抓棉机模型状态的数据绑定,能够实现创立出管制表单面板,对机器进行简略的运行管制,通过数据之间的交互,还能够体现出设施的运行状态和场景流水线的走向,预防突发问题的呈现,起到正当无效的监查和管制的作用。 总结现阶段,随着物联网、大数据等新兴技术大幅崛起,人工智能、大数据、深度学习等新兴概念已逐渐浸透至生存的各个领域。 农业作为关系民生的传统行业,正处于重大扭转的节点。 在将来,智慧农业是棉花行业乃至整个农业行业倒退的必然趋势。 所以,大力发展智慧农业,是棉花行业走向新生的必要因素,其对于轻简化植棉有着至 关重要的作用。 现阶段咱们能够通过收集各方面的棉花数据, 同时与棉花畛域相干专业知识、数据资料相结合,并辅以神经网络、大数据技术进行剖析, 建设棉花大数据库及相干数学模型,从而进步智慧农业决策能力,无效解决棉花生产管理所存在的相干问题;但目前智慧农业在棉花生产治理中仍存在肯定的局限性。 2019 咱们也更新了数百个工业互联网 2D/3D 可视化案例集,在这里你能发现许多离奇的实例,也能发掘出不一样的工业互联网:https://mp.weixin.qq.com/s/ZbhB6LO2kBRPrRIfHlKGQA ...

August 5, 2020 · 1 min · jiezi

关于监控:打破监控壁垒棉花厂3D可视化建设让生产加工更加智能化

前言当初的棉花加工行业还停留在传统的反应式保护模式当中,当棉花加下厂的设施忽然呈现故障时,控制程序须要更换。这种状况下,首先须要客户向设施生产厂家申请派出技术人员进行保护,而后生产厂家能力依据状况再派人到现场进行解决。因为棉花加工设施散布在中国各地乃至进口到世界各地,从客户反馈问题到厂家派人达到现场的工夫周期就会很长,少则一天,个别偏僻的中央可能会须要几天,不同水平地影响到企业生产流动的持续进行。传统的反应式保护存在以下毛病:售后服务响应速度慢;保护老本高;生产效率低下;停车率高;治理老本高;无奈应答合格工程师有余的状况。 近程监控零碎次要是通过散布于棉花加工生产线各种设施的传感器、开关信号、视频监控设施、 PLC 控制器等安装,通过智能联网设施集成到互联网和局域网下面,实现对生产、经营状况的随时把握,建设网络范畴内的监控数据和网上常识资源库,依据现场采集的设施运行数据进行近程诊断和在线培修。 HT for Web 不止自主研发了弱小的基于 HTML5 的 2D、3D 渲染引擎,为可视化提供了丰盛的展现成果。介于 2D 组态和 3D 组态上,Hightopo(以下简称 HT )的 HT for Web 产品上的有着丰盛的组态化可供选择,本文将使用 HT 搭载出一个基于 HTML5 WebGL 2/3D 交融的棉花加工工厂零碎可视化零碎。 界面简介及成果预览预览链接:http://www.hightopo.com/demo/Plucker/ 系统分析1、棉花种植模式多样 棉花是我国最重要的经济作物之一,也是生活必需品,在国防、医药、工业等畛域均有着无足轻重的作用。 但目前我国总耕地面积正逐年缩小,且粮棉争地趋势日益显著,全国棉花生产正出现逐年缩小的趋势。 为了保障棉花供应,满足人们日益增长的须要,进步棉花单产,在棉花总种植面积不变、甚至略有缩小的劣势下,实现棉花总产大幅增长,应作为须要思考的重要问题。 传统的棉花种植技术落后,人力老本消耗大, 操作流程繁琐,已不再实用于棉花产业的疾速倒退。 因而,在棉花生产治理中利用智慧农业,能够提供新的技术力量以及迷信的种植办法,同时,基于其低成本、高效率、节俭人力等多个长处,智慧农业曾经成为棉花产业、乃至于世界农业产业倒退的大方向。 因而,智慧农业与棉花产业的有机联合能够为棉花产量的大幅度提高,进而实现棉花产业的大幅振兴提供重要的实践撑持。   2、棉花加工智能化治理 在智慧农业的撑持下和有机的联合下,保障了棉花的产量,其加工的形式也在更新换代,其中随着工厂智能化改革,信息化建设的一直推动,规模大、生产线简单的企业对各种信息系统、自动化零碎的部署与利用,使得生产企业车间治理变得越来越重要,对车间各类设施的安全性、可用性和运维治理等要求方面也越来越高。而传统的监控零碎、设施已不能满足企业对工厂“集中监控,对立治理”的需要,无奈实现工厂、设施、生产、运行等信息状态全过程的高清展现、细节查看等操作。  3、数据可视化解决方案 介于在数据可视化 2D 组态和 3D 组态上,Hightopo(以下简称 HT)的 HT for Web 产品上的有着丰盛的组态化可供选择,可通过轻量化建模实现场景的搭建,继而通过数据绑定,呈现出场景流水线以及设施运行的状态,对加工厂起到监管作用,不便用户智能化治理。 实现价值一、数据可视化棉花加工 3D 工厂场景监控零碎不仅能实现生产监控全过程一体化、精细化、可视化、数字化的治理,集成企业现有的设施零碎,及时发现问题、解决问题,让生产线全过程通明简单化,在生产过程中可控可治理,通过模型与对接的数据,反馈出运行状态,并且能够通过面板来管制抓棉机的运行,晋升用户的体验度和治理。 二、面板管制通过对抓棉机模型状态的数据绑定,能够实现创立出管制表单面板,对机器进行简略的运行管制,通过数据之间的交互,还能够体现出设施的运行状态和场景流水线的走向,预防突发问题的呈现,起到正当无效的监查和管制的作用。 总结现阶段,随着物联网、大数据等新兴技术大幅崛起,人工智能、大数据、深度学习等新兴概念已逐渐浸透至生存的各个领域。 农业作为关系民生的传统行业,正处于重大扭转的节点。 在将来,智慧农业是棉花行业乃至整个农业行业倒退的必然趋势。 所以,大力发展智慧农业,是棉花行业走向新生的必要因素,其对于轻简化植棉有着至 关重要的作用。 现阶段咱们能够通过收集各方面的棉花数据, 同时与棉花畛域相干专业知识、数据资料相结合,并辅以神经网络、大数据技术进行剖析, 建设棉花大数据库及相干数学模型,从而进步智慧农业决策能力,无效解决棉花生产管理所存在的相干问题;但目前智慧农业在棉花生产治理中仍存在肯定的局限性。 2019 咱们也更新了数百个工业互联网 2D/3D 可视化案例集,在这里你能发现许多离奇的实例,也能发掘出不一样的工业互联网:https://mp.weixin.qq.com/s/ZbhB6LO2kBRPrRIfHlKGQA ...

August 5, 2020 · 1 min · jiezi

关于监控:技术分享-企业版监控工具-MEM-初探

作者:姚远专一于 Oracle、MySQL 数据库多年,Oracle 10G 和 12C OCM,MySQL 5.6 ,5.7,8.0 OCP。当初鼎甲科技任参谋,为共事和客户进步数据库培训和技术支持服务。本文起源:原创投稿*爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。MySQL 企业版里的 MySQL Enterprise Monitor 工具可用于监控 MySQL 实例和主机性能。现试验如下: 一、装置1.1 下载到 https://edelivery.oracle.com/ 网站下软件: 1.2 装置服务端unzip mysql_monitor.zip ./mysqlmonitor-8.0.20.1237-linux-x86_64-installer.bin scutech@scutech:~/install$ lltotal 2819608drwxrwxr-x 2 scutech scutech 4096 Jun 1 23:45 ./drwxr-xr-x 30 scutech scutech 4096 Jun 1 23:43 ../-rw-r-xr-- 1 scutech scutech 975 Apr 23 05:50 README_en.txt*-rw-r-xr-- 1 scutech scutech 975 Apr 23 05:51 READ_ME_ja.txt*-rw-r--r-- 1 scutech scutech 6370627 Apr 22 08:14 monitor.a4.pdf-rw-r--r-- 1 scutech scutech 6377434 Apr 22 08:13 monitor.pdf-rw-r--r-- 1 scutech scutech 5277767 Apr 22 08:12 mysql-monitor-html.tar.gz-rw-r--r-- 1 scutech scutech 5302202 Apr 22 08:12 mysql-monitor-html.zip-rw-r--r-- 1 scutech scutech 1297382933 Jun 1 23:44 mysql_monitor.zip-rw-r--r-- 1 scutech scutech 270694162 Jun 1 23:44 mysql_monitor_agent.zip-rwxrwxr-x 1 scutech scutech 647902090 Apr 22 12:26 mysqlmonitor-8.0.20.1237-linux-x86_64-installer.bin*-rwxrwxr-x 1 scutech scutech 647923832 Apr 22 12:35 mysqlmonitor-8.0.20.1237-linux-x86_64-update-installer.bin* ./mysqlmonitor-8.0.20.1237-linux-x86_64-installer.bin运行下面的命令后呈现以下画面, ...

July 23, 2020 · 2 min · jiezi

Inflation-引起的-MetaSpace-Full-GC-问题排查|蚂蚁集团实例分析

一、背景本文将用一个蚂蚁团体线上理论案例,分享咱们是如何排查因为 inflation 引起的 MetaSpace FGC 问题。 蚂蚁团体的智能监控平台深度利用了 Spark 的能力进行多维度数据聚合,Spark 因为其高效、易用、分布式的能力在大数据处理中非常受欢迎。 对于智能监控的计算能力能够参考《蚂蚁金服在 Service Mesh 监控落地经验总结》 。 二、案例背景在某次线上问题中呈现不间断性的工作彪高与积压,数据产出提早,十分不合乎预期。查看 SparkUI 的 Event Timeline 发现下边的景象: 大家应该都晓得 Spark job 工作节点分为 driver 和 executor,driver 更多的是工作治理和散发,executor 负责工作的执行。在整个 Spark job 生命周期开始时这两种角色被新建进去,存活到 Spark job 生命周期完结。而上图中的状况个别为 executor 因为各种异常情况失去心跳而被被动替换。查看对应 executor 的日志发现有2分钟没有打印,狐疑为 FGC  卡死了。最终在另一个现场找到了 gc 日志: 2020-06-29T13:59:44.454+0800: 55336.665: [Full GC (Metadata GC Threshold) 2020-06-29T13:59:44.454+0800: 55336.665: [CMS[YG occupancy: 2295820 K (5242880 K)]2020-06-29T13:59:45.105+0800: 55337.316: [weak refs processing, 0.0004879 secs]2020-06-29T13:59:45.105+0800: 55337.316: [class unloading, 0.1113617 secs]2020-06-29T13:59:45.217+0800: 55337.428: [scrub symbol table, 0.0316596 secs]2020-06-29T13:59:45.248+0800: 55337.459: [scrub string table, 0.0018447 secs]: 5326206K->1129836K(8388608K), 85.6151442 secs] 7622026K->3425656K(13631488K), [Metaspace: 370361K->105307K(1314816K)], 85.8536592 secs] [Times: user=88.94 sys=0.07, real=85.85 secs]察看到因为 Metadata 的起因,导致 FGC,整个利用解冻80秒。家喻户晓 Metadata 次要存储一些类等相干的元信息,其应该是绝对恒定的,那么到底是什么起因导致了 MetaSpace 的变动,让咱们一探到底。 ...

July 15, 2020 · 4 min · jiezi

openfalconalarm-代码分析

总结:alarm消费由judge产生的redis报警事件,根据优先级高低是否做合并,发往不同的报警通道 高优先级报警比如p0: judge产生报警事件-->写入redis event:p0队列 -->alarm消费-->获取发送对象并处理调用回调函数(如果有)-->根据策略不同生成不同通道的报警(im,sms,mail,phone)等-->写入redis各个通道的发送队列 /im /sms /mail /phone -->发送报警的worker取出报警发送 低优先级报警比如p4: judge产生报警事件-->写入redis event:p4队列 -->alarm消费-->获取发送对象并处理调用回调函数(如果有)-->根据策略不同生成不同通道的合并(im,sms,mail,phone)事件写入合并队列(来自于配置文件中的 /queue/user/im)等-->由不通通道的合并函数处理,合并报警生成dashboard链接调用dashboard的api写入falcon_portal.alert_link表中供用户日后查看原始信息-->写入redis各个通道的发送队列 /im /sms /mail /phone -->发送报警的worker取出报警发送 下面具体看下代码 1.main函数中的核心就是这几个goroutine了 //消费报警事件 go cron.ReadHighEvent() go cron.ReadLowEvent() //合并低优先报警 go cron.CombineSms() go cron.CombineMail() go cron.CombineIM() //发送真实报警 go cron.ConsumeIM() go cron.ConsumeSms() go cron.ConsumeMail() go cron.ConsumePhone() go cron.CleanExpiredEvent()2.ReadHighEvent 和 ReadLowEvent的区别就是consume时分优先级 func ReadHighEvent() { queues := g.Config().Redis.HighQueues if len(queues) == 0 { return } for { /*brpop 多个队列的1条返回event 1.传入的是包含多个高优先级的队列的列表比如[p0,p1,p2] 那么总是先pop完event:p0的队列,然后才是p1 ,p2(这里我进行过实测) 2.单纯的popevent速度是很快的,但是每次循环里都有下面的consume,如果 consume速度慢的话会直接影响整体的pop速度,我观察过再没加goroutine之前 pop速度大概5条/s ,如果报警过多会有堆积现象,之前看到会有4个小时左右的延迟 */ event, err := popEvent(queues) if err != nil { time.Sleep(time.Second) continue } //这里的consume其实和popevent已经没关系了,所以异步执行,但是可能会产生过多的goroutine go consume(event, true) }}3.消费报警事件函数 consume ...

July 7, 2020 · 3 min · jiezi

promethues系列之追踪k8s容器指标的打tag的流程

k8s中容器资源的监控在promethues中如何配置采集容器指标采用promethues的kubernetes_sd_configs中 node级别的role- job_name: kubernetes-nodes-cadvisor honor_timestamps: false scrape_interval: 30s scrape_timeout: 10s metrics_path: /metrics scheme: https kubernetes_sd_configs: - role: node bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt insecure_skip_verify: true relabel_configs: - separator: ; regex: __meta_kubernetes_node_label_(.+) replacement: $1 action: labelmap - separator: ; regex: (.*) target_label: __metrics_path__ replacement: /metrics/cadvisor action: replacecadvisor架构图 cadvisor中 POD 在查看cadvisor代码时发现有一种container_name=="POD"的容器,查了下是 k8s中的pause pod下面追踪下打tag的过程:以pod cpu使用率为例kubelet最终tag对应cadvisor指标为 container_cpu_usage_seconds_total,可以看到最终查询出来的有如下tag那我们会好奇标识app或service的tag:pod,pod_name,container,container_name是如何打上去的呢 访问集成在kubelet中的cadvisor的tagcurl localhost:4194/metrics 可以发现除了cpu是container_cpu_usage_seconds_total指标特有的tag之外,还有id,name,namespace,pod_name,container_name,image这几个tag上述tag作为cadvisor通用tag会附加在每一个metric上面其实在裸的cadvisor中只有id,image,name三个tag原始cadvisor 打tagnamespace,pod_name,container_name等属性是k8s才有的,cadvisor肯定无法感知pod信息,说明是k8s注入的 kubelet内置的cadvisor中使用了自定义的PrometheusLabelsFunc以k8s 1.15版本为例代码在:E:go_pathsrcgithub.comkuberneteskubernetespkgkubeletserverserver.go func containerPrometheusLabelsFunc(s stats.Provider) metrics.ContainerLabelsFunc { // containerPrometheusLabels maps cAdvisor labels to prometheus labels. return func(c *cadvisorapi.ContainerInfo) map[string]string { // Prometheus requires that all metrics in the same family have the same labels, // so we arrange to supply blank strings for missing labels var name, image, podName, namespace, containerName string if len(c.Aliases) > 0 { name = c.Aliases[0] } image = c.Spec.Image if v, ok := c.Spec.Labels[kubelettypes.KubernetesPodNameLabel]; ok { podName = v } if v, ok := c.Spec.Labels[kubelettypes.KubernetesPodNamespaceLabel]; ok { namespace = v } if v, ok := c.Spec.Labels[kubelettypes.KubernetesContainerNameLabel]; ok { containerName = v } // Associate pod cgroup with pod so we have an accurate accounting of sandbox if podName == "" && namespace == "" { if pod, found := s.GetPodByCgroupfs(c.Name); found { podName = pod.Name namespace = pod.Namespace } } set := map[string]string{ metrics.LabelID: c.Name, metrics.LabelName: name, metrics.LabelImage: image, "pod_name": podName, "pod": podName, "namespace": namespace, "container_name": containerName, "container": containerName, } return set }}k8s 1.15 1.16版本对于pod和pod_name的变化经过观察发现1.15的pod pod_name都有,1.16只有pod这是因为 在k8s 1.16版本为了统一cadvisor和kube-stats指标tag做了变更[这个pr] (https://github.com/kubernetes... ...

July 6, 2020 · 2 min · jiezi

监控聚合器系列之-openfalcon新聚合器polymetric

聚合在监控中的作用简单来说:需要将分散的大量监控数据按照一定的维度(idc/service)及一定的算法(avg/sum/max/min/quantile分位)得到一个结果值比如: 想知道服务a下面的100台机器的平均又比如: 想知道查询接口b的99分位延迟值open-falcon原版聚合器aggregator 介绍:aggregator聚合器就是从falcon_portal.cluster表中取出用户在页面上配置的表达式,然后解析后,通过api拿到对应机器组的所有机器,通过api查询graph数据算出一个值重新打回transfer作为一个新的点。具体介绍可以看我的文章: open-falcon 聚合器aggregator代码解析aggregator 问题:endpoint多的聚合断点问题 造成断点的原因有两个: 原来的接口在机器量超过1k时就效率就会很慢 2w+endpoint需要8s,看了代码是用orm进行了多次查询而且附带了很多别的信息,这里我只需要group_id对应endpoint_list所以我写了一个新的接口用一条raw_sql进行查询 HostnamesByID数据查询 依赖graph/lastpoint这个api 查询最近一个点的数据,如果endpoint多的时候batch_query会超时,返回结果成功率也比较低聚合器单点问题这个是由于其代码架构导致的,如果单点聚合器挂了会导致数据断点 配置稍显复杂 基于以上问题我写了个新组件polymetricpolymetric代码 polymetric 介绍:功能点说明集群(sum,avg,max,min,tp50,tp90,tp99)指标及其(_delta,_rate)曲线上述集群指标的同环比(grafana图中默认为avg和sum两条) 实时topk和bottomk情况 动态获取过去一段段时间内分布在过高或过低区间次数(倒序)top20endpoint曲线 动态获取过去一段时间内集群指标正态分布落在正常区间比率由低到top10时刻的集群指标分布图架构说明 聚合策略按照 group_name + metric_name保存在db中,hbs从db中刷入redis集群中 transfer新增定时从redis集群更新poly策略到本地map,目的是将push过来的endpoint直接按照poly策略push到polymetric transfer同步redis中的poly策略transfer 根据配置文件中的poly实例生成一致性哈希环,根据聚合策略哈希将要聚合的数据push到对应的polymetric实例上面transfer rpc对于poly的处理(agent rpc中对于polymetric的处理)这里还要注意一点:需要将counter型的数据转化为gauge型所以需要在map中hold点到这里polymetric实例就能源源不断的收到应该交给它聚合的数据,并将数据推入链表polymetric rpc接收transfer数据polymetric启动worker处理数据 ,链表中popall数据,排序后得到slice然后就可以轻松得出: max/min/sum/avg 和各个分位值同时max min还需要知道是哪个endpoint提供的所以将数据推送到kafka,写入es由kibana展示同时将数据经由pushgateway打入promethues做topk/同环比展示push 到promethues异常分析: 将数据推送到异常分析组件做正态分布展示 数据处理主函数func GeneralPolyMethods(Name string, Q *nlist.SafeListLimited) { Len := Q.Len() item := Q.PopBackBy(Len) count := len(item) if count == 0 { return } log.Infof("[GeneralPolyMethods]RunGroupPoly_called:Name:%s,len:%d", Name, count) var dataList []float64 var numpList []SingleEnd var sum, avg, max, min, tp50, tp90, tp99 float64 counterType := GAUGEType // 为了给出max、min等极值对应的endpoint singMap := make(map[float64]string) for _, i := range item { iF := i.(*cmodel.PolyRequest) //if counterType == "" { // counterType = iF.Type //} va := iF.Value.(float64) endP := iF.EndPoint t := SingleEnd{ Endpoint: endP, Value: va, } numpList = append(numpList, t) if singMap[va] == "" { singMap[va] = endP } sum += va dataList = append(dataList, va) } realCount := len(dataList) if realCount == 0 { return } var pushSetp int64 pushSetp = PolyTimeStep if realCount == 1 { sum = dataList[0] avg = dataList[0] max = dataList[0] min = dataList[0] tp50 = dataList[0] tp90 = dataList[0] tp99 = dataList[0] } else { sort.Float64s(dataList) max = dataList[realCount-1] min = dataList[0] avg = sum / float64(realCount) tp50 = dataList[int(float64(realCount)*0.5)] tp90 = dataList[int(float64(realCount)*0.95)] tp99 = dataList[int(float64(realCount)*0.99)] } // 本地map 做循环技术用 localDataMap := make(map[string]float64) promeDataMap := make(map[string]float64) localDataMap["sum"] = sum localDataMap["avg"] = avg localDataMap["max"] = max localDataMap["min"] = min localDataMap["tp50"] = tp50 localDataMap["tp90"] = tp90 localDataMap["tp99"] = tp99 names := strings.Split(Name, SEP) polyType := names[0] polyName := names[1] metric := names[2] endp := polyType + "_poly_" + polyName log.Infof("poly_res:endp sum, avg, max, min, tp50, tp90, tp99", endp, sum, avg, max, min, tp50, tp90, tp99) endNew := strings.Replace(endp, ".", "_", -1) tagPre := "method=" //log.Infof("sum,avg,max,min,tp50,", sum, avg, max, min) sender.Push(endNew, metric, tagPre+"sum", sum, counterType, int64(pushSetp)) sender.Push(endNew, metric, tagPre+"avg", avg, counterType, int64(pushSetp)) sender.Push(endNew, metric, tagPre+"max", max, counterType, int64(pushSetp)) sender.Push(endNew, metric, tagPre+"min", min, counterType, int64(pushSetp)) sender.Push(endNew, metric, tagPre+"tp50", tp50, counterType, int64(pushSetp)) sender.Push(endNew, metric, tagPre+"tp90", tp90, counterType, int64(pushSetp)) sender.Push(endNew, metric, tagPre+"tp99", tp99, counterType, int64(pushSetp)) /* 根据内存中的值计算 rate 和delta */ for k, v := range localDataMap { promeDataMap[k] = v rate := 0.0 delta := 0.0 uniqueResultKey := endNew + metric + tagPre + k if lastPoint, loaded := PolyHistoryDataMap.Load(uniqueResultKey); loaded { log.Debugf("[localDataMap_lastPoint] key,this_value,last_value,%+v,%+v,%+v", k, v, lastPoint) lastP := lastPoint.(float64) delta = v - lastP if lastP == 0.0 { rate = 0.0 } else { //rate = delta / lastP * 100.0 rate = delta / lastP } } // 本次计算完毕,更新cache中的值 PolyHistoryDataMap.Store(uniqueResultKey, v) log.Debugf("[localDataMap] key,this_value,rate delta ,%+v,%+v,%+v,%+v", k, v, rate, delta) sender.Push(endNew, metric+"_rate", tagPre+k, rate, counterType, int64(pushSetp)) sender.Push(endNew, metric+"_delta", tagPre+k, delta, counterType, int64(pushSetp)) promeDataMap[k+"_rate"] = rate promeDataMap[k+"_delta"] = delta } // push to prome if g.Config().Prome.Enabled { PushToProme(metric, polyName, promeDataMap) } // push到kafka if kafka.KafkaAsyncProducer != nil { maxEnd := singMap[max] minEnd := singMap[min] tp50End := singMap[tp50] tp90End := singMap[tp90] tp99End := singMap[tp99] AsyncPushKafka(polyType, polyName, maxEnd, metric, "max", max) AsyncPushKafka(polyType, polyName, minEnd, metric, "min", min) AsyncPushKafka(polyType, polyName, tp50End, metric, "tp50", tp50) AsyncPushKafka(polyType, polyName, tp90End, metric, "tp90", tp90) AsyncPushKafka(polyType, polyName, tp99End, metric, "tp99", tp99) } RpcCallNumpApi(metric, polyName, numpList) ////outlier check //outlierStr := outlierCheck(dataList, singMap) //outPoint := outlier.GrpOutlier{ // GrpName: polyName, // PolyType: polyType, // Counter: metric, // Timestamp: time.Now().Unix(), // Value: outlierStr, //} //saveOutlier2DB(&outPoint)}

July 4, 2020 · 3 min · jiezi