일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Spring
- kotlin querydsl
- IntelliJ
- kotlin
- MySQL
- CKA 기출문제
- Linux
- AI
- kotlin spring
- kotlin coroutine
- aws
- Elasticsearch
- 기록으로 실력을 쌓자
- minikube
- AWS EKS
- APM
- CloudWatch
- 정보처리기사 실기
- 정보처리기사 실기 기출문제
- Kubernetes
- CKA
- 코틀린 코루틴의 정석
- 정보처리기사실기 기출문제
- Java
- 오블완
- mysql 튜닝
- 공부
- 티스토리챌린지
- PETERICA
- Pinpoint
- Today
- Total
피터의 개발이야기
[APM] PinPoint 설치 - 1편 - JAVA, hbase 설치 본문
나의 첫 APM은 Splunk
전자결제팀 소속으로 근무할 때에 splunk를 사용하였다.
특정 거래의 transaction_id를 검색하며, client, Auth, Engin에서 수행된 로그를 한 눈에 볼 수 있었다.
데시보드에는 현재의 트래픽과 FDS 장애 대응이 자세히 실시간으로 시각화 되었다.
Splunk는 로그를 수집하고 사용자가 원하는 결과를 추출하는 대용량 로그 수집/분석 시스템이었다.
하지만 치명적인 단점은 가격이 비싸다는 것이다.
Pinpoint의 가장 큰 장점은 무료이며,
특별히 서비스코드 작업 없이 환경설정만으로 바로 적용이 가능하다는 점이다.
최소한의 aws amazone linux만 있다면
무료로 APM을 가질 수 있는 것이다.
Pinpoint 설치
설치에는 마스터와 에이젼트, Web UI로 나뉘어진다.
- hbase 1.2.7 (openjdk 8)
- pinpoint 1.8.4 : agent, collector, web
아키텍쳐
github.com/pinpoint-apm/pinpoint/blob/master/doc/overview.md
Agent에서 데이터를 Collector로 수집하고 Hbase에 적제한다. Web은 적제된 데이터를 보여준다.
데이터의 흐름은 다음과 같다.
Agent (spring boot와 같이 올라감)
Collector (tomcat에 설치)
hbase (데이터 저장)
Web (데이터 조회
linux 설치
개인적인 공부차원에서 VMware를 통해 CentoOS7을 설치하여 운영하고 있다.
aws amazone linux2도 CentOS 계열이기 때문에 yum으로 동일하게 설치할 수 있다.
openjdk 8 설치
sudo yum install -y java-1.8.0-openjdk-devel.x86_64
설치된 경로 : /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64
wget 설치
hbase 설치
hbase 다운로드
wget http://archive.apache.org/dist/hbase/1.2.7/hbase-1.2.7-bin.tar.gz -P /home/pinpoint/
hbase 압축해제 및 링크 설정
hbase-env.sh 설정
# vi hbase/conf/hbase-env.sh
# java 8에서 사용되지 않는 Perm 옵션 제거
hbase-site.xml 설정 : 데이터 저장 위치
# vi hbase/conf/hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/pinpoint/hbase-data/data</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/pinpoint/hbase-data/zookeeper</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
<description>
Controls whether HBase will check for stream capabilities (hflush/hsync).
Disable this if you intend to run on LocalFileSystem, denoted by a rootdir
with the 'file://' scheme, but be mindful of the NOTE below.
WARNING: Setting this to false blinds you to potential data loss and
inconsistent system state in the event of process and/or node failures. If
HBase is complaining of an inability to use hsync or hflush it's most
likely not a false positive.
</description>
</property>
</configuration>
# 디렉토리 생성(hbase.rootdir 은 자동생성되므로 zookeeper 폴더만 생성)
> mkdir -p /home/pinpoint/hbase-data/zookeeper
hbase 구동
# hbase 시작
> hbase/bin/start-hbase.sh
# hbase 중지
> hbase/bin/stop-hbase.sh
-- hbase 구동 에러 발생 -> 포트를 열어야 한다.
방화벽 열기
# 2181 : 클라이언트가 ZooKeeper 연결에 사용하는 포트 열기
# firewall-cmd --permanent --zone=public --add-port=2181/tcp
# 16010 : HBase 마스터 웹 포트 열기
# firewall-cmd --permanent --zone=public --add-port=16010/tcp
# HBase 마스터 웹 페이지
참조
yamoe.tistory.com/542?category=92411
albamapp.atlassian.net/wiki/spaces/blog/pages/1022459942/APM
'DevOps > Pinpoint' 카테고리의 다른 글
[Spring] Pinpoint 활용한 bootJar 실행 Shellscript 정리 (0) | 2021.01.08 |
---|---|
[APM] PinPoint 설치 - 4편 - Agent (0) | 2020.12.16 |
[APM] PinPoint 설치 - 3편 - Web, Collector (0) | 2020.12.15 |
[APM] PinPoint 설치 - 2편 - hbase 스키마 생성 (0) | 2020.12.14 |
[APM] PinPoint APM (0) | 2020.12.11 |