搭建 APM-Pinpoint 支持php

Step 1.背景

随着公司业务发展,我们迫切需要一个APM工具帮我们监控各个服务的状态以及性能,而通过调研多个开源APM工具后,最终我们选择了pintpoint。


Step 2.简介

Pinpoint是一个开源的 APM (Application Performance Management/应用性能管理)工具,用于基于java的大规模分布式系统。在使用上力图简单高效,通过在启动时安装agent,不需要修改哪怕一行代码,最小化性能损失(3%).

 

Step 3.Pinpoint 的优点

  1. pinpoint是基于java开发的,利于项目后期对源代码的修改
  2. pinpoint有非常直观的UI,符合项目的当前需求


Step 4.准备工作

说明:为了构建Pinpoint,必须满足以下要求:

1.下载maven   http://maven.apache.org/download.cgi

2.下载jkd 1.8   https://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html

3.下载jdk 1.7   https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u80-oth-JPR

4.下载jdk 1.6  https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR

5.下载jdk 1.9 https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase9-3934878.html

#安装maven

$ tar -xvf apache-maven-3.6.0-bin.tar.gz

$ mv apache-maven-3.6.0 /usr/local/maven

# 安装jdk1.9

$ tar -xvf jdk-9.0.4.tar.gz

$ ln -s /usr/local/src/jdk-9.0.4 /usr/local/jdk1.9

#安装jdk1.8

$ tar -xvf jdk-8u131-linux-x64.tar.gz 

$ mv jdk1.8.0_131 /usr/local/jdk1.8

#安装jdk1.7

$ tar -xvf  jdk-7u80-linux-x64.tar.gz

$ mv jdk1.7.0_80 /usr/local/jdk1.7


#安装jdk1.6

$ chmod +x jdk-6u45-linux-x64.bin?AuthParam=1546418770_7fec21fb5bcf8b920eec485f4293a447

$ ./jdk-6u45-linux-x64.bin?AuthParam=1546418770_7fec21fb5bcf8b920eec485f4293a447

$ ln -s  /usr/local/src/jdk1.6.0_45 /usr/local/jdk1.6


#设置jdk环境变量

$ vim /etc/profile

export JAVA_HOME=/usr/local/jdk1.8
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin


export JAVA_6_HOME=/usr/local/jdk1.6
export JAVA_7_HOME=/usr/local/jdk1.7
export JAVA_8_HOME=/usr/local/jdk1.8
export JAVA_9_HOME=/usr/local/jdk1.9



#将其jdk环境变量生效

$ source /etc/profile

# 检查jdk 是否安装成功


$ java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

 

Step 5.手动方式安装Pinpoint

$ git clone https://github.com/naver/pinpoint.git

$ ./mvnw clean install -Dmaven.test.skip=true


Step 6.安装Hbase

#下载 & 安装hbase

$ http://ftp.cuhk.edu.hk/pub/packages/apache.org/hbase/1.4.9/hbase-1.4.9-bin.tar.gz

$ tar -xvf hbase-1.4.9-bin.tar.gz

$ ln -s hbase-1.4.9 hbase

$ cp -r /usr/local/hbase-1.4.9 /usr/local/pinpoint/quickstart/hbase

#启动hbase
$ /usr/local/pinpoint/quickstart/bin/start-hbase.sh

#初始化hbase
$ /usr/local/pinpoint/quickstart/bin/init-hbase.sh

$ jps

12299 Jps
3420 MavenWrapperMain
5246 HMaster


Step 7.启动Collector

 

 

Step 5.docker方式安装Pinpoint

#安装docker

$ yum update -y

$ yum install docker epel-release python-pip -y

$ pip install --upgrade pip

$ pip install docker-compose


#启动docker

$ systemctl enable docker

$ systemctl start docker

#下载Pinpoint

$ git clone https://github.com/naver/pinpoint-docker.git


#start Pinpoint 

$ cd pinpoint-docker 

$ docker-compose pull && docker-compose up -d

#stop pinpoint

$ docker-compose stop

#如有报错,修改为绝对路径

$ vim /usr/local/pinpoint-docker/docker-compose.yml

************

 volumes:
      - /home/pinpoint/hbase
      - /home/pinpoint/zookeeper

************


至此Pinpoint-web 已安装完成!

Pinpoint-Flink 端口:8081
说明:http://192.168.82.130:8081/#/overview

bbf1148ad871f24e755a47e67be4d5a7bff.jpg


Pinpoint-web 端口:8079
说明:访问 http://192.168.82.130:8079/#/main
5ef7e77bf17dedc4f546e573e8e06f0722c.jpg


Step 6. 安装 Pinpoint-agent 依赖

$ yum install automake libtool flex bison pkgconfig gcc-c++ openssl-devel -y


#下载 & 安装 boost
$ wget https://jaist.dl.sourceforge.net/project/boost/boost/1.63.0/boost_1_63_0.tar.gz

$ tar -zxvf boost_1_63_0.tar.gz && cd boost_1_63_0

$ ./bootstrap.sh

$ ./b2 install --prefix=/usr/local/boost


#安装boost 报错

************
./boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: No such file or directory

***********

#解决

$ yum  install python-devel.x86_64



#下载 & 安装 thrift

$ wget http://apache.fayea.com/thrift/0.11.0/thrift-0.11.0.tar.gz

$ tar zxvf thrift-0.11.0.tar.gz

$ cd  thrift-0.11.0

$ ./configure CXXFLAGS="-DFORCE_BOOST_SMART_PTR" --with-cpp --with-php=no --with-python=no --with-ruby=no --with-nodejs=no --with-qt4=no --with-java=no --with-boost=/usr/local/boost

$ make && make install

 

Step 7.安装 Pinpoint-agent

#下载pinpoint-agent

$ git clone https://github.com/naver/pinpoint-c-agent.git


#构建
$ cd pinpoint-c-agent/pinpoint_php

$ /usr/local/php/bin/phpize

$ ./Build.sh

#构建报错
configure: error: Cannot find php-config. Please use --with-php-config=PATH

#解决
说明:需要把php-config 路径加入Build.sh  configure 后面

$ vim Build.sh

找到configure  加入:
--with-php-config=/usr/local/php/bin/php-config

#安装
$ make install
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/


#可能会碰到未安装 python 的问题,安装下可以解决问题

$ yum  install python-devel.x86_64

至此pinpoint-agent 已经安装成功!


Step 8.pinpoint-agent 代理配置

 1.在php-fpm 配置文件目录添加pinpoint_agent.conf 配置文件,pinpoint_agent.conf  可以参考/usr/local/pinpoint-c-agent/quickstart/config/pinpoint_agent.conf.example
 2.配置php.ini 亦可以参考/usr/local/pinpoint-c-agent/quickstart/config/pphp.ini.example 

 

 

vim /usr/local/php/etc/pinpoint_agent.conf

[common]
AgentID=php_test
ApplicationName=PHPApplication

CollectorSpanIp=157.231.42.167
CollectorSpanPort=9996
CollectorStatIp=157.231.42.167
CollectorStatPort=9996
CollectorTcpIp=157.231.42.167
CollectorTcpPort=9994

TraceLimit = -1
SkipTraceTime = -1
PPLogLevel = DEBUG
LogFileRootPath = /var/log/
AgentType="PHP"

PluginExclude = ExcludePlugin
PluginInclude = PhpRequestPlugin;QuickStartPlugin  ; PhpInternalFunctionsPlugin ;ExcludePlugin ;PDOPlugin;CurlPlugin;


[PHP]
PluginEntryFile=plugins_create.php
PluginRootDir=/home/wwwroot/default/php/plugins/
$ vim /usr/local/php/etc/php.ini

#加入:
[pinpoint]
extension= pinpoint.so
pinpoint_agent.trace_exception=true
pinpoint_agent.config_full_name=/usr/local/php/etc/pinpoint_agent.conf



#重启php

$ /etc/ini.t/php-fpm restart


Step 9.刷新pinpoint web 页面

说明:现在可以看到PHPApplication

6b95d4e3c6cadd1a2a01ffb294ae8957e4a.jpg

 

安装Pinpoint 插件

Step 1.下载安装Fink

#下载
$ wget https://archive.apache.org/dist/flink/flink-1.7.1/flink-1.7.1-bin-scala_2.11.tgz   

$ tar -xvf  flink-1.7.1-bin-scala_2.11.tgz

$ mv flink-1.7.1 /usr/local/

$ ln -s flink-1.7.1 flink



 

转载于:https://my.oschina.net/AnnaWu/blog/2992815

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值