开源APM工具pinpoint安装与使用
CentOS7 安装pinpoint(开源APM工具pinpoint安装与使用)
Pinpoint是用Java编写的大型分布式系统的APM(应用程序性能管理)工具。 受Dapper的启发,Pinpoint提供了一种解决方案,通过在分布式应用程序中跟踪事务来帮助分析系统的整体结构以及它们中的组件之间的相互关系。
Pinpoint-Collector:收集各种性能数据
Pinpoint-Agent:和自己运行的应用关联起来的探针
Pinpoint-Web:将收集到的数据显示成WEB网页形式
HBase Storage:收集到的数据存到HBase中
- https://github.com/naver/pinpoint/releases/ # 直接下载当前最新的war
快速安装参考(http://naver.github.io/pinpoint/quickstart.html)
安裝JDK
yum -y install java-1.* # 包含jdk1.6,1.7,1.8,笔者用到的1.9是下载的rpm包,手动安装的,安装完成配置JAVA_HOME,如下: jdk9:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase9-3934878.html 编辑/etc/profile,最后添加 # java8,笔者默认使用java8作为默认jdk export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export JAVA_8_HOME=/usr/lib/jvm/java-1.8.0-openjdk export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar # java 6 export JAVA_6_HOME=/usr/lib/jvm/java-1.6.0-openjdk.x86_64 # java 7 export JAVA_7_HOME=/usr/lib/jvm/java-1.7.0-openjdk # java 9 export JAVA_9_HOME=/usr/java/jdk-9.0.4 # 上面都需要设置,不然本地build的时候报错
- 下载最新代码:
git clone https://github.com/naver/pinpoint.git ./mvnw install -Dmaven.test.skip=true # 自己build会非常慢,而且会有些报错,建议下载war
安装并启动HBase
# 修改如下: VERSION=2.0.0 HBASE_VERSION=hbase-$VERSION HBASE_FILE=$HBASE_VERSION-bin.tar.gz HBASE_DL_URL=http://mirror.bit.edu.cn/apache/hbase/$VERSION/$HBASE_FILE HBASE_ARCHIVE_DL_URL=http://mirror.bit.edu.cn/apache/hbase/$VERSION/$HBASE_FILE # Download & Start - Run quickstart/bin/start-hbase.sh # 注意,需要修改hbase的下载地址 Initialize Tables - Run quickstart/bin/init-hbase.sh
启动pinpoint服务
Collector - Run quickstart/bin/start-collector.sh TestApp - Run quickstart/bin/start-testapp.sh Web UI - Run quickstart/bin/start-web.sh
启动脚本完成后,Tomcat日志的最后10行将被拖尾到控制台:
- Collector
- TestApp
- Web UI
检查运行状态
一旦HBase和3个守护进程运行,可以访问以下地址来测试自己的Pinpoint实例。
- Web UI - http://localhost:28080
- TestApp - http://localhost:28081
可以使用TestApp UI将跟踪数据提供给Pinpoint,并使用Pinpoint Web UI检查它们。 TestApp将自己注册为TESTAPP下的测试代理
服务停止
Web UI - Run quickstart/bin/stop-web.sh TestApp - Run quickstart/bin/stop-testapp.sh Collector - Run quickstart/bin/stop-collector.sh HBase - Run quickstart/bin/stop-hbase.sh # 注意执行quickstart目录下名称时,要移动到pinpoint家目录,笔者目录:/opt/pinpoint,笔者克隆pinpoint代码是在opt进行的
按步骤安装
为了构建Pinpoint,必须满足以下要求:
- 2、安装Java环境
- 3、安装Pinpoint Collector
- 4、安装Pinpoint Web
- 5、安装Pinpoint Agent
支持的模块
JDK 6+ Tomcat 6/7/8, Jetty 8/9, JBoss EAP 6, Resin 4, Websphere 6/7/8, Vertx 3.3/3.4/3.5 Spring, Spring Boot (Embedded Tomcat, Jetty) Apache HTTP Client 3.x/4.x, JDK HttpConnector, GoogleHttpClient, OkHttpClient, NingAsyncHttpClient Thrift Client, Thrift Service, DUBBO PROVIDER, DUBBO CONSUMER ActiveMQ, RabbitMQ MySQL, Oracle, MSSQL, CUBRID,POSTGRESQL, MARIA Arcus, Memcached, Redis, CASSANDRA iBATIS, MyBatis DBCP, DBCP2, HIKARICP gson, Jackson, Json Lib log4j, Logback
- 参考链接:http://naver.github.io/pinpoint/quickstart.html
- https://blog.csdn.net/neven7/article/details/51043307
agent配置(tomcat)
# 把打包生成pinpoint-agent-1.8.0-SNAPSHOT.zip,拷贝到对应的agent服务器上,解压到/opt/pinpoint-agent # 修改tomcat的启动参数,编辑catalina.sh,添加如下: AGENT_PATH=/opt/pinpoint-agent AGENT_VERSION=1.8.0 AGENT_ID="agent2018052401" # 自定义 APPLICATION_NAME="message-channel-1-7081" # 自定义 CATALINA_OPTS="$CATALINA_OPTS -javaagent:$AGENT_PATH/pinpoint-bootstrap-$AGENT_VERSION-SNAPSHOT.jar" CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=$AGENT_ID" CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=$APPLICATION_NAME"
- web查看监控的agent状态
安装注意事项
- 1、更改hbase下载地址
- 2、更改profiler-optional/pom.xml,去掉模块profiler-optional-jdk6,不然本地build过不去
- 3、web界面显示不了添加的应用,在对应的agent的服务器解析服务器的hosts,添加 127.0.0.1 $hostname
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python Fire试用体验
之前用Python写过一些CLI的小工具,在CLI命令行传参处理上,一般都是用argparse,最近看到Google开源的Python Fire(2017-3-2就开源了), 把argparse包装了,可以自动将代码转变成 CLI,开发者无需做任何额外工作。减少没有技术含量的代码量,减少低级Bug产生可能,节省了宝贵的吃鸡时间。这么有意义的库,那么肯定要推荐下给小伙伴们。 Python Fire优点 省心。开发者不必定义参数,设置帮助信息,或者编写定义代码运行方式的 main 函数。相反,开发者只需从 main 模块调用“Fire”函数,其余工作全部交由 Python Fire 来完成。 有爱。Fire自带检查功能,将 Python 对象(无论是类、对象、字典、函数甚至整个模块)转变成一个 Tab 命令补全和文档齐备的命令行界面,并且这
- 下一篇
SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required
获取数据库连接失败! java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:526) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:513) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:505) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:479) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:489) at com.mysql.cj.jd...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7安装Docker,走上虚拟化容器引擎之路