자바 의 pinpoint 1.8.5 설치 및 사용 안내

pinpoint 1.8.5 설치 및 사용 안내
간단 한 소개
pinpoint 는 github 에서 시 작 된 APM 모니터링 도구 로 자바 로 작 성 된 것 으로 대규모 분포 식 시스템 모니터링 에 사 용 됩 니 다.성능 에 미 치 는 영향 이 가장 적 고(약 3%의 자원 이 용 률 만 증가)에이전트 를 설치 하 는 것 은 침입 식 이 없다.
각 APM 도 구 는 거의 구 글 이라는 전형 적 인 Dapper 논문 에 근거 하여 왔 으 니 반드시 읽 어야 한다.여 기 는 그의 원문 주소:https://research.google.com/pubs/pub36356.html,이 친구 의 번역 에 감 사 드 립 니 다:http://bigbully.github.io/Dapper-translation/
pinpoint 는 일부 기능 을 제공 합 니 다:
서비스 맵:구성 요소 가 어떻게 연결 되 는 지 시각 화 를 통 해 모든 분포 식 시스템 의 관련 관 계 를 알 수 있 습 니 다.노드 를 누 르 면 현재 상태 와 트 랜 잭 션 계수 와 같은 구성 요소 에 대한 자세 한 정 보 를 표시 할 수 있 습 니 다.
실시 간 활성 스 레 드 수
요청/응답 산포도
호출 창고
CPU 사용률,메모리/쓰레기 수집,TPS 및 JVM 파라미터 등 프로그램 에 대한 자세 한 정 보 를 확인 합 니 다.

전체 pinpoint 구 조 는 pinpoint-collector,pinpoint-agent,pinpoint-webUI 로 나 뉜 다.
pinpoint-agent:단일 응용 정 보 를 수집 하고 수 집 된 응용 정 보 를 pinpoint-collector 에 보 냅 니 다.
pinpoint-collector:pinpoint-agent 가 보 낸 정 보 를 처리 하고 정 보 를 수집 한 후 HBase 에 저장 합 니 다.
pinpoint-webUI:HBase 의 데 이 터 를 찾 아 보 여 줍 니 다.
그래서 나 는 여기에 두 대의 기 계 를 준비 해 야 한다.
10.200.201.xxx:pinpoint-collector,pinpoint-webUI,HBase 설치 에 사용
10.200.201.yyy:pinpoint-agent 를 설치 하고 응용 정 보 를 수집 하 는 데 사용 합 니 다.
환경 설치
jdk 설치
제 가 여기 사용 하 는 것 은 rpm 가방 을 직접 설치 한 것 입 니 다.rpm -ivh jdk-8u171-linux-x64.rpm설치 후 JAVA 설정HOME:
환경 변 수 를 vim 으로 설정 합 니 다:

vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_45
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
그리고 프로필 파일 을 불 러 옵 니 다:source /etc/profileHBase 설치
여기에 대조 그림 이 하나 있다.

위 에서 HBase 를 볼 수 있 습 니 다.1,2,x 버 전 을 설치 해 야 합 니 다.
다운로드 주소:
http://archive.apache.org/dist/hbase/
제 가 다운로드 한 것 은 1,2,12 버 전 입 니 다.
Hbse 를 지정 한 디 렉 터 리 에 저장

cd /app/install
tar -zxvf hbase-1.2.12-bin.tar.gz
설정 정보 수정
hbase-env.sh 수정

vim /app/install/hbase-1.2.12/conf/hbase-env.sh

#  JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_45
hbase-site.xml 수정

vim /app/install/hbase-1.2.12/conf/hbase-site.xml

<configuration>
  <property>
   <name>hbase.rootdir</name>
   <value>file:///app/data/hbase</value>
  </property>
  <property>
   <name>hbase.zookeeper.property.dataDir</name>
   <value>/app/data/zookeeper</value>
  </property>
  <property>
   <name>hbase.zookeeper.property.clientPort</name>
   <value>2181</value>
   <description>Property from ZooKeeper'sconfig zoo.cfg. The port at which the clients will connect.
   </description>
  </property>
  <!-- false     ,true       -->
  <property>
   <name>hbase.cluster.distributed</name>
   <value>false</value>
  </property>
</configuration>

HBase 시작

cd /app/install/hbase-1.2.12/bin
./start-hbase.sh

#   Hbase      ,          "HMaster"   
[root@localhost bin]# jps
12075 Jps
11784 HMaster
pinpoint 라 이브 러 리 초기 화
스 크 립 트 다운로드:https://github.com/naver/pinpoint/blob/master/hbase/scripts/hbase-create.hbase

#   hbase bin   
cd /app/install/hbase-1.2.12/bin
#    
./bin/hbase shell /app/install/pinpoint/hbase/scripts/hbase-create.hbase

#       ,  Hbase
./hbase shell

#       Hbase   ,         
2019-10-12 16:18:28,074 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.2.12, r91d5ec4c4dcd10ceec984c6e663ea82acf353995, Sat Apr 6 15:27:28 CDT 2019

#   "status 'detailed'"           ,    
hbase(main):002:0> status 'detailed'
웹 에 로그 인하 여 HBase 의 데이터 가 초기 화 되 었 는 지 확인 할 수도 있 습 니 다.
http://10.200.201.xxx:16010/master-status

pinpoint-collector 설치
tomcat 용 기 를 만 들 고 포트 번 호 는 8081 입 니 다.

# pinpoint-collector war   Tomcat webapps   
cp pinpoint-collector-1.8.5.war ../apache-tomcat-8081/webapps/
# war      
mv pinpoint-web-1.8.5.war pp-collector.war
#  tomcat
./bin/startup.sh
#     ,      
tail -f ../logs/catalina.out
#  hbase                
cd /app/install/apache-tomcat-8081
vim webapps/pp-collector/WEB-INF/classes/hbase.properties
#  hbase ip hbase       
hbase.client.host=10.200.201.xxx
hbase.client.port=2181

pinpoint-web 설치
tomcat 용기 의 압축 을 풀 고 포트 번 호 는 8080 입 니 다.

# pinpoint-web  tomcat webapps   
cp pinpoint-web-1.8.5.war ../apache-tomcat-8080/webapps/
#    war  
mv pinpoint-web-1.8.5.war pp-web.war
#  tomcat
./bin/startup.sh
#     ,      
tail -f ../logs/catalina.out
#  hbase                
cd /app/install/apache-tomcat-8080
vim webapps/pp-web/WEB-INF/classes/hbase.properties
#  hbase ip hbase       
hbase.client.host=10.200.201.xxx
hbase.client.port=2181

그리고 브 라 우 저 에서 http://10.200.201.xxx:8080/pp-web/

pinpoint-agent 수집 모니터링 데이터 배치
pinpoint-agent 패키지 전송
먼저 pinpoint-agent-1.8.5.tar.gz 을 서버 10.200201.yyy 의/app/intall/pinpoint-agent/에 전송 합 니 다.
그리고 tar-zxvf pinpoint-agent-1.8.5.tar.gz 를 실행 합 니 다.
pp-agent 수집 기 설정

cd /app/install/pinpoint-agent
vim pinpoint.config
#     IP,        pp-col IP   ,  pp-col   ,      9994,9995,9996    。         ,       ,  pp-col     ("pp-collector/webapps/ROOT/WEB-INF/classes/pinpoint-collector.properties") ,      
profiler.collector.ip=10.200.201.xxx
      tomcat
#         tomcat    "catalina.sh",                Tomcat,    
vi catalina.sh
#     pp-agent jar   
#     agent ID,  ID    ,   pp +         ,         ID      
#            ,         ,            
CATALINA_OPTS="$CATALINA_OPTS -javaagent:$AGENT_PATH/pinpoint-bootstrap-$VERSION.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=$AGENT_ID"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=$APPLICATION_NAME"
#     。        ,        Tomcat    
cd /data/pp-test/bin/
./startup.sh
#       ,  Tomcat  
tail -f ../logs/catalina.out
springboot 패키지 배치
jar 패키지 배치 라면 시작 명령 에 시작 파 라 메 터 를 직접 추가 합 니 다.

nohup java -javaagent:/app/install/pinpoint-agent/pinpoint-bootstrap-1.8.5.jar -Dpinpoint.agentId=$AGENT_ID -Dpinpoint.applicationName=$APPLICATION_NAME
기능 설정
모니터링 설정
위의 방법 에 따라 설치 한 후에 모니터링 설정 을 하거나 사용자 설정 을 할 때 오류 가 발생 할 수 있 습 니 다.

그래서 my sql 을 설정 해 야 합 니 다:
먼저 sql 스 크 립 트 두 개 를 뛰 어야 합 니 다:
https://github.com/naver/pinpoint/blob/master/web/src/main/resources/sql/CreateTableStatement-mysql.sql
https://github.com/naver/pinpoint/blob/master/web/src/main/resources/sql/SpringBatchJobRepositorySchema-mysql.sql
그리고 pinpoint-web 의 war 가 있 는 tomcat 용기 에 들 어가 설정 파일 을 수정 합 니 다:WEB-INF/classes/jdbc.properties
my sql 계 정 비밀 번 호 를 설정 합 니 다.

jdbc.url=jdbc:mysql://localhost:13306/pinpoint?characterEncoding=UTF-8
jdbc.username=admin
jdbc.password=admin
우 리 는 응용 프로그램 에서 서로 다른 응용 프로그램 에 서로 다른 알림 규칙 을 설정 할 수 있 습 니 다.구체 적 인 알림 규칙 은 다음 과 같 습 니 다.

SLOW COUNT:프로그램 에 보 내 는 느 린 속도 요청 수가 설정 한 한도 값 을 초과 할 때 터치 합 니 다.
SLOW RATE
   프로그램 에 보 내 는 느 린 속도 요청 의 백분율(%)이 설정 한 한도 값 을 초과 할 때 터치 합 니 다.
ERROR COUNT
   프로그램 에 보 내 는 실패 요청 수가 설정 한 한도 값 을 초과 할 때 발생 합 니 다.
ERROR RATE
   프로그램 에 보 내 는 실패 요청 의 백분율(%)이 설정 한 한도 값 을 초과 할 때 촉발 합 니 다.
TOTAL COUNT
   프로그램 에 보 내 는 모든 요청 수가 설정 한 한도 값 을 초과 할 때 촉발 합 니 다.
SLOW COUNT TO CALLEE
   프로그램 이 보 낸 느 린 속도 요청 수가 설정 한 한도 값 을 초과 할 때 촉발 합 니 다.UI 를 설정 하 는"주석..."상자 에 도 메 인 이나 주소(IP,포트)를 지정 해 야 합 니 다.   
     예 를 들 어)www.naver.com,127.0.0.1:8080
SLOW RATE TO CALLEE
   프로그램 이 보 낸 느 린 속도 요청 의 백분율(%)이 설정 한 한도 값 을 초과 할 때 촉발 합 니 다.UI 를 설정 하 는"주석..."상자 에 도 메 인 이나 주소(IP,포트)를 지정 해 야 합 니 다.
   ex) www.naver.com , 127.0.0.1:8080
ERROR COUNT TO CALLEE
   프로그램 이 보 낸 실패 요청 수가 설정 한 한도 값 을 초과 할 때 촉발 합 니 다.UI 를 설정 하 는"주석..."상자 에 도 메 인 이나 주소(IP,포트)를 지정 해 야 합 니 다.
   ex) www.naver.com , 127.0.0.1:8080
ERROR RATE TO CALLEE
   프로그램 이 보 낸 실패 요청 의 백분율(%)이 설정 한 한도 값 을 초과 할 때 촉발 합 니 다.UI 를 설정 하 는"주석..."상자 에 도 메 인 이나 주소(IP,포트)를 지정 해 야 합 니 다.
   ex) www.naver.com , 127.0.0.1:8080
TOTAL COUNT TO CALLEE
   프로그램 이 보 낸 모든 요청 수가 설정 한 한도 값 을 초과 할 때 촉발 합 니 다.UI 를 설정 하 는"주석..."상자 에 도 메 인 이나 주소(IP,포트)를 지정 해 야 합 니 다.
   ex) www.naver.com , 127.0.0.1:8080
HEAP USAGE RATE
   프로그램의 더미 사용률(%)이 설정 한 한도 값 을 초과 할 때 촉발 합 니 다.
JVM CPU USAGE RATE
   프로그램의 CPU 사용률(%)이 설정 한 한도 값 을 초과 할 때 실 행 됩 니 다.
SYSTEM CPU USAGE RATE
   프로그램의 CPU 사용률(%)이 설 정 된 한도 값 을 초과 하면 경 보 를 보 냅 니 다.
DATASOURCE CONNECTION USAGE RATE
   응용 프로그램의 데이터 원본 연결 사용률(%)이 설정 한 한도 값 을 초과 할 때 촉발 합 니 다.
  
FILE DESCRIPTOR COUNT
   열 린 파일 설명자 의 수량 이 설정 한 한도 값 을 초과 할 때 경 보 를 보 냅 니 다.
그리고 webapps/pp-web/WEB-INF/classes/batch.properties 에 메 일 서버 정 보 를 설정 해 야 합 니 다.

pinpoint.url= #pinpoint-web server url
alarm.mail.server.url= #smtp server address
alarm.mail.server.port= #smtp server port
alarm.mail.server.username= #username for smtp server authentication
alarm.mail.server.password= #password for smtp server authentication
alarm.mail.sender.address= #sender's email address

#  
pinpoint.url=http://pinpoint.com
alarm.mail.server.url=stmp.server.com
alarm.mail.server.port=583
alarm.mail.server.username=pinpoint
alarm.mail.server.password=pinpoint
[email protected]
총결산
위 에서 말 한 것 은 소 편 이 소개 한 pinpoint 1.8.5 설치 및 사용 안내 입 니 다.도움 이 되 셨 으 면 좋 겠 습 니 다!

좋은 웹페이지 즐겨찾기