pinpoint

pinpoint清除过期的hbase数据

孤街浪徒 提交于 2020-03-10 19:49:58
个人博客请访问 http://www.x0100.top 版本:   pinpoint:1.7.1   hbase:1.2.6 命令行命令:   $HBASE_HOME/bin/hbase shell newrestruct.hbase 备注:保留一天半的数据(秒) TTL => 129600 cat newrestruct.hbase disable 'AgentInfo' disable 'AgentStatV2' disable 'AgentLifeCycle' disable 'AgentEvent' disable 'ApplicationIndex' disable 'StringMetaData' disable 'ApiMetaData' disable 'SqlMetaData_Ver2' disable 'ApplicationTraceIndex' disable 'TraceV2' disable 'ApplicationMapStatisticsCaller_Ver2' disable 'ApplicationMapStatisticsCallee_Ver2' disable 'ApplicationMapStatisticsSelf_Ver2' disable 'HostApplicationMap_Ver2' drop 'AgentInfo' drop

Pinpoint 分布式请求跟踪系统的搭建

痴心易碎 提交于 2020-03-05 15:02:51
Pinpoint 是用 Java 编写的大规模分布式系统性能管理工具, 可以跟踪请求, 硬件信息收集, 请求时间统计等等 项目主页: https://github.com/naver/pinp... 前提 有分布式部署的项目可供测试 至少一台服务器 Java、Hbase、Zookeeper、Tomcat 环境 说明 个人不喜欢 hbase 自带的 zk ,如无癖好, 可随意 本文不讲解基础环境的搭建, 如不会,请自行搜索或者参考博客的其他文章 为避免部分端口不通等可疑问题, 建议关闭防火墙 下载 wget https://github.com/naver/pinpoint/releases/download/1.6.2/pinpoint-agent-1.6.2.tar.gz wget https://github.com/naver/pinpoint/releases/download/1.6.2/pinpoint-collector-1.6.2.war wget https://github.com/naver/pinpoint/releases/download/1.6.2/pinpoint-web-1.6.2.war wget https://raw.githubusercontent.com/naver/pinpoint/master/hbase/scripts/hbase

Centos7安装pinpoint1.8监控

試著忘記壹切 提交于 2020-02-28 22:05:32
Centos7安装pinpoint监控 1.简介 pinpoint是用JAVA编写开源在GitHub上的一款APM监控工具,用于大规模分布式系统 对系统的影响小(只增加%3的资源利用率) agent端探针是无侵入式的,只需要在被检测的项目上打下探针,就可以监控整套Java程序了 通过在分布式应用程序中跟踪事务来帮助分析系统的整体结构以及它们中的组件之间的相互关系 原理图: Pinpoint-Collector:收集各种性能数据,并且发送数据存储到HBASE中 Pinpoint-Agent:和应用一起启动和应用共享JVM,发送数据给 Pinpoint-Web:从HBASE中读取数据,展示给用户。 HBase Storage:收集到的数据存到HBase中 架构中各组件的角色: pinpoint web UI显示的内容来自于后端的pinpoint web服务, pinpoint web服务会去hbase中取数, collector会把来自于agent的数据采集上来,由collector存入hbase(本案例采用hbase集群模式,不是单机HBASE)。 Demo展示时,可以把pp collector服务和pp web服务部署在同一个主机上,方便collector接收agent发来的数据后发给web服务,web服务再对hbase读/写;agent服务部署在应用端

静态代码扫描原理

╄→гoц情女王★ 提交于 2020-02-28 10:36:13
静态代码扫描存在的价值 研发过程,发现BUG越晚,修复的成本越大 缺陷引入的大部分是在编码阶段,但发现的更多是在单元测试、集成测试、功能测试阶段 统计证明,在整个软件开发生命周期中,30% 至 70% 的代码逻辑设计和编码缺陷是可以通过静态代码分析来发现和修复的 以上三点证明了,静态代码扫描在整个安全开发的流程中起着十分关键的作用,且实施这件事情的时间点需要尽量前移,因为扫描的节点左移能够大幅度的降低开发以及修复的成本,能够帮助开发人减轻开发和修复的负担,许多公司在推行静态代码扫描工具的时候会遇到 大幅度的阻力 ,这方面阻力主要来自于开发人员,由于工具能力的有限性,会产生大量的误报,这就导致了开发人员很可能在做BUG确认的工作时花费了大量的无用时间。因此选择一款合适的静态代码分析工具变得尤为重要,合适的工具能够真正达到降低开发成本的效果。 静态代码分析理论基础和主要技术 静态代码分析原理分为两种:分析源代码编译后的中间文件(如Java的字节码);分析源文件。主要分析技术如下: 缺陷模式匹配 事先从代码分析经验中收集足够多的共性缺陷模式,将待分析代码与已有的共性缺陷模式进行匹配,从而完成软件安全分析。优点:简单方便;缺点:需要内置足够多的缺陷模式,容易产生误报。 类型推断/类型推断 类型推断技术是指通过对代码中运算对象类型进行推理,从而保证代码中每条语句都针对正确的类型执行。

一款国产静态程序检查工具与Converity的对比测试

馋奶兔 提交于 2020-02-28 00:42:25
源伞科技Pinpoint,作为BAT都在使用的一款静态代码分析工具,到底有什么领先于其他厂商的能力? 1. 扩展和部署功能对比 源伞科技Pinpoint现有的检查器可以通过简单的json配置文件扩展业务逻辑。比如敏感数据泄露到日志检查器,企业或许有很多自己的日志打印函数,我们可以通过人工配置指定,即可提高检测质量。 如果不想人工配置,Pinpoint有未公开发布的库函数学习工具,可以通过线下分析企业代码库自动学习和生成上述配置文件。 Pinpoint对分布式多机扫描部署支持比 Coverity 好,并发扫描和结果合并x性能也比 Coverity 更强,能更好支持BAT级别的数千代码库扫描( 已在BT部署验证 )。 2. 分析能力对比 本节补充一些人工构造的例子介绍Pinpoint在分析能力上比Coverity强的部分。本节所有代码示例,Coverity均有误报或漏报。 Pinpoint更懂数据流 精确深度的指针分析,深入分析内存中的程序行为 高深度高精度函数调用链分析,查找跨越多层函数的深度问题 示例代码如下: (链接: https://www.sourcebrella.com/online-showcase/?id=5b483da03a21cd078346028f),此示例代码基于空指针(Null Pointer Dereference)问题检测。 准备代码:

两款静态代码检测工具的对比

僤鯓⒐⒋嵵緔 提交于 2020-02-27 21:20:09
测试背景 使用工具: 源伞科技Pinpoint Sonarqube 测试项目: 开源国产CMS软件iBase4J(6000行代码) 测试结果汇总 数据统计: SonarQube结果: 代码错误 安全隐患 风格质量 总量 有效/总量 2/6 4/4 0/93 6/103 源伞科技Pinpoint结果: 代码错误 安全隐患 风格质量 总量 有效/总量 2/2 19/19 6/7 27/28 我们将所有bug归为以下3类: 分类 Sonarqube对应分类 Pinpoint对应分类 代码错误 bug类 代码崩溃、数值处理不当类 安全隐患 Vulnerability类 代码安全类 风格质量 Code Smell类 代码风格、性能问题类 有效报告 :我们定义有效报告为真实影响程序执行并值得进一步检查修复的问题报告。 测试细节: 1.数量: 从数量看,Pinpoint结果确实明显少于SonarQube。但是有效报告明显少于Pinpoint. 2.安全隐患: 从质量看,首先Pinpoint可以找到很多SonarQube无法发现的Vulnerability,也就是安全隐患(19比4),其中SonarQube找到的4个有效报告Pinpoint也能找到,Pinpoint找到15个SonarQube没有找到的问题。 SonarQube的3个报告属于同一类别,是在exception

on-line

限于喜欢 提交于 2020-02-26 23:03:18
-XX:+UseCompressedOops -XX:+TieredCompilation -server -Xms2048m -Xmx2048m -XX:MaxPermSize=384m -Xmn768m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:+UseCMSInitiatingOccupancyOnly -XX:+ScavengeBeforeFullGC -XX:+UseCMSCompactAtFullCollection -XX:+CMSParallelRemarkEnabled -XX:CMSFullGCsBeforeCompaction=9 -XX:CMSInitiatingOccupancyFraction=60 -XX:+CMSClassUnloadingEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:-ReduceInitialCardMarks -XX:+CMSPermGenSweepingEnabled -XX:CMSInitiatingPermOccupancyFraction=70 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:

自动化代码审计工具源伞科技Pinpoint

给你一囗甜甜゛ 提交于 2020-02-26 17:05:59
自动化代码审计工具源伞科技Pinpoint介绍 源伞科技Pinpoint 源伞科技2016年由香港科大团队创立,立足于国际水平的学术研究积累, 秉承工匠精神,致力用最先进的自动程序分析技术保障软件质量,为企业提供以人工智能为基础的工业级程序缺陷自动挖掘技术,工具和解决方案。核心产品Pinpoint可无缝接入到软件开发人员和测试人员的现有工作流程中,全面自动分析和管理程序源码中数百种常见的高危程序缺陷,并清晰的展示缺陷触发的原因。由于具备人工智能软件逻辑推理能力,Pinpoint的检测准确度和缺陷发现能力均居于世界领先水平。仅面市半年,源伞产品便迅速被市场认可,目前已应用于大型互联网企业,电子消费制造商,金融业,智能设备企业,和权威软件测试机构。源伞立足于中国,以一流的产品和解决方案服务于中国软件开发商并逐步辐射全球企业,最终为推动软件质量和安全保障行业的技术升级而不懈努力。 支持语言 C++/C Java Android Javascript Php Python Golang Sql 检测能力评析 源伞Pinpoint在C++/C和Java/Android上的分析能力十分强大,使用了第五代的静态分析定理证明技术,该技术在ICSE上发表论文,并且获得了国内外专家的高度好评。 其查找的Bug主要以三类为主,分别是质量和安全以及风格 其中缺陷的细分类别有 质量 API误用

pinpoint实现告警推送至钉钉和微信群

社会主义新天地 提交于 2020-02-26 16:16:19
前言 在前面的文章中,我们学习了如何通过java实现将消息发送到钉钉、和将消息发送到微信群聊。 基于上述基础,我们今天来接入pinpoint的告警,发送到钉钉群。 实操前准备 开始之前,推荐阅读一下,官方的告警说明文档。 阅读官方文档后,我们实际的来操作一遍。 按照官方说明,首先需要创建对应的用户组和用户,但是我们这里打开有异常: 通过后台,pinpoint-web的日志可以发现,这是由于没有配置mysql表的原因。 步骤1-配置mysql表 首先,我们创建一个名为pinpoint的数据库。 然后,导入官方的脚本,配置好需要的表。 导入的所有表显示如下: 导入15张数据表后,我们需要修改pinpoint-web的jdbc.properties配置文件。 配置好正确的数据库和账号密码后,重启pinpoint-web。 步骤2-界面配置用户组和用户 首先配置一个用户组,然后在这个组下面新建一个用户。 用户这里输入id、用户名、手机号、邮箱等信息添加即可。 步骤3-添加应用的告警规则 配置完用户后,接着我们配置对应应用的告警规则 这里我针对testboot这个服务,配置了一个慢 请求告警,当慢请求大于5个时,就会触发。 这里的type选项指定告警的方式,可以是短信、邮件,或者两者。 然后包含具体的告警指标,这里我单纯选择的是Slow count,慢请求个数。 具体每个指标的含义

APM入门与实战

╄→尐↘猪︶ㄣ 提交于 2020-02-26 04:59:26
篇幅一:APM基础篇 1、什么是APM? APM,全称:Application Performance Management ,目前市面的系统基本都是参考Google的Dapper(大规模分布式系统的跟踪系统)来做的,翻译传送门 《google的Dapper 中文翻译》 思考下:不遵守该理论的是伪APM,耍流氓吗? APM的核心思想是什么? 在应用服务各节点相互调用的时候,从中记录并传递一个应用级别的标记,这个标记可以用来关联各个服务节点之间的关系。比如两个应用服务节点之间使用 HTTP 作为传输协议的话,那么这些标记就会被加入到 HTTP 头中。可见如何传递这些标记是与应用服务节点之间使用的通讯协议有关的,常用的协议就相对容易加入这些内容,一些按需定制的可能就相对困难些,这一点也直接决定了实现分布式追踪系统的难度。 2、为什么要用APM? 有业务痛点,才要寻求解决方案,个人认为,APM需要优先解决测试环境下两个场景问题,基于测试先行的原则考虑: 优先关注宏观数据,并不是说测试人员无须关注微观层面的问题, 在测试角度来看,先解决性能测试环境的数据采样、收集问题,再去评估生产环境 ,而线上的链路监控需要研发跟运维去配合,【研发角度场景】相对于测试人员来说是弱关注了。</br> 3、市面上有哪些APM工具? Pinpoint Pinpoint is an open source APM