사용법
이 블로그를 참조하자.
https://dewble.tistory.com/entry/how-to-use-scouter-xlog
[Scouter]Scouter XLog 활용 방법 + XLog 패턴
Purpose XLog: 응답시간 분포도(XLog) 및 트랜잭션 프로파일링 기능 제공 스카우터에서 XLog를 활용 하는 방법과 XLog 패턴을 설명한다. XLog Active Service가 종료되면 XLog차트에 하나의 점으로 표시된다. XL
dewble.tistory.com
scouter server 구성하기
server config를 configMap으로 빼자.
apiVersion: v1
kind: ConfigMap
metadata:
name: scouter-server-config
namespace: default
data:
scouter.conf: |-
server_id=TEST-PRD
#Activating Http Server
net_http_server_enabled=true
net_http_api_swagger_enabled=true
#Activating Scouter API
net_http_api_enabled=true
#Retaining date for automatic deletion. delete profile data first.
mgr_purge_profile_keep_days=2
#Retaining date for automatic deletion
mgr_purge_xlog_keep_days=5
#Retaining date for automatic deletion
mgr_purge_counter_keep_days=15
scouter server deployment, service를 만들고, 6100포트는 nodeport로 별도 노출시킨다.
kind: Deployment
apiVersion: apps/v1
metadata:
name: scouter
namespace: default
labels:
app: scouter
app.kubernetes.io/part-of: apm
spec:
replicas: 1
selector:
matchLabels:
app: scouter
template:
metadata:
labels:
app: scouter
spec:
containers:
- name: scouter
image: 'docker.io/scouterapm/scouter-server:2.17.1'
ports:
- name: tcp1
containerPort: 6180
protocol: TCP
- name: tcp2
containerPort: 6100
protocol: TCP
- name: udp
containerPort: 6100
protocol: UDP
env:
- name: JAVA_OPTS
value: '-Xms1024m -Xmx1024m -Duser.timezone=Asia/Seoul'
volumeMounts:
- name: scouter-conf
mountPath: /home/scouter-server/conf/scouter.conf
subPath: scouter.conf
readOnly: true
volumes:
- name: scouter-conf
configMap:
name: scouter-server-config
---
kind: Service
apiVersion: v1
metadata:
name: scouter-nodeport
namespace: default
labels:
app: scouter
app.kubernetes.io/part-of: apm
spec:
ports:
- name: tcp
protocol: TCP
port: 6100
targetPort: 6100
nodePort: 30014
type: NodePort
selector:
app: scouter
---
kind: Service
apiVersion: v1
metadata:
name: scouter
namespace: default
labels:
app: scouter
app.kubernetes.io/part-of: apm
spec:
ports:
- name: tcp1
protocol: TCP
port: 6180
targetPort: 6180
- name: tcp2
protocol: TCP
port: 6100
targetPort: 6100
- name: udp
protocol: UDP
port: 6100
targetPort: 6100
type: ClusterIP
selector:
app: scouter
agent 배포
https://github.com/scouter-project/scouter
GitHub - scouter-project/scouter: Scouter is an open source APM (Application Performance Management) tool.
Scouter is an open source APM (Application Performance Management) tool. - scouter-project/scouter
github.com
공식 깃 참조하여 agent 받는다.
각 파드별 모니터링을 위해 application image 빌드시 scouter agent를 복사하고,
deployment에서 command로 javaagent 설정을 해주는 방법이 적합하다.
빌드타임에 obj_name을 결정하면 replica가 증가시점에 obj_name dup이 발생하여 다음 캡처와 같은 에러를 보여주며, 최초 하나의 pod만 정상적으로 조회되기 때문이다.

-javaagent:/scouter/agent.java/scouter-agent-java-2.20.0.jar
-Dscouter.config=/scouter/agent.java/conf/scouter.conf
-Dobj_name=$(SCOUTER_POD_NAME)
-Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true
Client
https://github.com/scouter-project/scouter/releases
Releases · scouter-project/scouter
Scouter is an open source APM (Application Performance Management) tool. - scouter-project/scouter
github.com
운영체제에 적합한 client를 받아 압축해제 후 실행파일을 실행한다.
노출시킨 포트로 admin // admin으로 로그인한다.

로그인이 성공하면 이런 화면을 볼 수 있다.

'CloudNative > Observability & Analysis' 카테고리의 다른 글
| pinpoint agentid 환경변수 처리 (0) | 2025.01.14 |
|---|---|
| vector logging (2) | 2025.01.07 |
| pinpoint plugin config (2) | 2024.11.24 |
| otel (0) | 2024.11.22 |
| kubecost (2) | 2024.11.11 |