事务监控—一站式建立jmeter+telegraf+influxdb+Grafana看板
一、前语。
当时所测验事务需求为集成在事务系统WMS的jar包,jar包测验首要会集在本地拉取开发编写的代码做单元测验,由于jar包没有独自的运用,每逢大促压测或日常压测,架构师或开发搭档问道:这个jar包的JVM目标怎么?jar包的火焰图是什么样的?对此,只能无可奈何。依据以上布景,对jar监控做了一些调研和实战。
。
二、调研进程。
1.forcebot渠道。
forcebot渠道是泰山上一款支撑Groovy脚本编写的压测渠道,经过将jar包上传,编写脚本,便可看到当时压测的呼应时刻、TP99等监控信息。forcebot渠道也支撑抓取火焰图信息,抓取到的火焰图效果如下,可是此信息为。Groovy脚本进程火焰图信息。,而并非Groovy脚本调用jar的火焰图信息。。
2.jconsole/jvisualvm+Grafana监控。
jconsole。
jconsole是JDK主动的、依据jmx协议的、对JVM进行可视化监督和办理的东西。jconsole支撑联接。本地进程。和。长途进程。,假如需求联接长途进程,那么长途进程有必要敞开jmx协议。
jvisualvm。
jvisualvm也是JVM自带的一个类似于jconsole的可视化监控东西,jvisualvm也支撑。本地进程。和。长途进程。。
长途监控的其他监控信息能够在易维渠道检查到Grafana监控状况,可是关于相同目标比方。CPU。运用率信息的记载,jvisualvm和Grafana对目标的描绘效果有误差,开始剖析是。两个监控看板关于目标数据的搜集及计算有误差。
经过以上监控信息咱们能够清晰的看到当时jar包的JVM、CPU以及相应办法的耗时状况。可是现有易维渠道供给的Grafana看板目标数据有限,无法具体看到TP99、TPS等数据,且经过visuals拿到的数据和Grafana拿到的数据关于相同目标来说数据值有差异,建立一套一致的看板势在必行。经调研易维渠道没有用influxdb来存储数据,用的是ES,易维grafana中展现的数据是在ES中出的,ES中就没有JVM相关的监控信息,遂探求了怎么自建功用测验东西进行监控看板的建立。
三、功用测验渠道建立。
1.jme。te。r。
常用的压力测验软件有:Lo。ad。Runner、ApacheJMeter、NeoLoad、WebLOAD、Loadster、Load impact、CloudTest、Loadstorm、阿里云PTS等等,jmeter是一款运用。Java。开发的,开源免费的测验东西, 首要用来做功用测验和功用测验(压力测验/负载测验),且简略易用,本文便运用了jmeter压测东西。
。
jmeter能够对http恳求做压测,可是做jar包的压测,需求对jmeter做二次开发进行定制化编写,关于以上jemter的二次开发之前已有文章宣布对此不做过多赘述,详见 jmeter二次开发发送java恳求。
。
咱们能够经过运用插件等方法设置线程数、循环次数等信息定制化监控咱们咱们压测的需求监控的目标数据。
2.telegraf。
1.1.Telegraf是什么。
Telegraf是一个Go言语编写的署理程序,可搜集系统和服务的计算数据,并写入到InfluDB数据库。内存占用小,经过插件系统可轻松增加支撑其他服务的扩展。是一个轻量级数据搜集系统。
。
Telegraf metric是用于在处理期间对数据建模的内部表明。这些目标彻底依据InfluxDB的数据模型,包括四个首要组件:
•衡量称号(Measurement)。
•。标签。(tags)。
•字段(Field)。
•时刻戳(。ti。me)。
1.2.为什么要用Telegraf。
•能够搜集多种组件的运转信息,不需求自己手动写守时脚本,降低了数据获取的难度。
◦CPU。
◦内存。
◦不需求自己手动写守时脚本,降低了数据获取的难度。
•装备简略。
•与InfluxDB完美结合,依照。时刻序列。搜集数据。
•轻量级,占用内存小。
3.influxdb。
3.1.InfluxDB简介。
是一个由InfluxData开发的开源时序型数据库。它由Go言语写成,着力于高功用地查询与存储时序数据。InfluxDB被广泛运用于存储系统的监控数据,IoT。职业的实时数据等场景。
Influxdb有如下三大特性。
•依据时刻序列。
•可衡量性。
•依据事情。
相应的,咱们也能够运用。prometheus。数据库搜集数据,Prometheus也是由go言语开发的,是一套开源的监控&报警&时刻序列数据库的组合。
3.2.InfluxDB运用。
InfluxDB数据模型包括Measurement(表)、Tags(维度列)组件、Field(数值列)以及point。
InfluxDB数据保存战略操作。
创立数据库保存战略。
•:保存战略的称号。
•:为哪个数据库创立保存战略。
•:该保存战略对应的数据过期时刻。
•REPLICATION:副本因子:几个副本。
•SHARD DURATION:分片组的默许时长。
•[DEFAULT]:是否为默许战略。
CREATE RETENTION POLICY "influx_retention" ON "telegraf" DURATION 30d REPLICATION 1 DEFAULT;
检查数据库保存战略。
SHOW RETENTION POLICIES ON telegraf;
运用telegraf+InfluxDB建立的数据资源办理看板。
4.Grafana。
4.1.Grafana是什么?
Grafana是开源的、炫酷的可视化监控、剖析东西,它首要包括以下特色:
•多种展现方法。
•支撑多数据源:
◦Graphite:时刻序列 图形系统。
◦InfluxDB。
◦Opentsdb:依据HBase。
◦Prometheus:开源 服务监控系统和时序数据库。
◦ElasticSearch,elk:
•多种告诉提示。
◦Em。ai。l、SMS、。
•混合展现。
◦同一个图表中,混合运用不同的数据源。
4.2.为什么要用Grafana?
Grafana干流数据库:ElasticSearch、InfluxDB、MySQL、Opentsdb、Postgresql。涵盖了大部分数据库,并且有很炫酷的图表库,开源、能够进行二次开发、汉化、能够做前端开发。
建立的Grafana看板如下。
。
四、特别提示。
1.jmeter与telegraf的联接需求运用Jolokia东西,此东西的作用为作为JMX的HTTP。桥接器。,使得Telegraf能够经过HTTP协议轻松地拜访JMX办理的Java运用程序的数据。关于Jolokia的官网及简介链接如下:
jolokia具体文档: jolokia官网。
2. 目标的搜集及监控数据对齐能够参阅M。DC。监控 监控目标简介。
3. 火焰图数据的搜集能够运用arthas东西,装置进程可参阅神灯文章 JVM虚拟机之字节码文件详解。
五、总结与展望。
千里之行,始于足下,本次从0到1建立监控功用目标看板的进程中得到了深入的表现。从开始的想象、规划,到一步步施行、调试,再到终究的出现与优化,每一步都凝聚了建立者的汗水与才智。在这个进程中,不只成功建立了一个功用完善的监控功用目标看板,更重要的是,学会了怎么在压测进程中,依据目标状况提出合理的优化主张,为开发团队供给了有力的数据支撑,协助他们更好地优化代码,提高系统功用。这一效果不只是对自我技能才能的必定,更是对团队协作精力的最好诠释。
一起,这次阅历也让我深入感触到了自我技能生长的巨大腾跃。在解决问题的进程中,我不断应战自我,学习新知识,把握新技能,逐步形成了自己的技能系统和办法论。这些名贵的经历和收成,将成为我未来职业生涯中不可或缺的财富。
最终,特别感谢在建立看板进程中给予我忘我协助和支撑的同学们!
审阅修改 黄宇。
内容来源:https://sh.tanphatexpress.com.vn/app-1/kq vietlott,https://chatbotjud-hml.saude.mg.gov.br/app-1/naruto-xvideos
本文地址:http://w.21nx.com/new/36633661-4c199994.html
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。