New Inspector
Last updated
Was this helpful?
Last updated
Was this helpful?
|
There has been changes in inspector in v3.0.0. The newly renewed inspector will be referred to as 'New Inspector' below, while the previous version will be referred to as 'Legacy Inspector' ().
Although users won't see significant changes on front-end, but the whole architecture has been rebuilt from the scratch. The data storage has been changed from HBase to Pinot. And the APIs have been improved so that it is more easily extenable and their responses more clear to understand.
Kafka enables real-time streaming of inspector data from Pinpoint collector to Pinot.
Refer to to download Kafka and start the Kafka environment.
If you have already , please skip this step.
Create 2 topics with the names below:
inspector-stat-agent-00
inspector-stat-app
Create 2 tables with the snames below:
inspectorStatApp: This table stores application inspector data.
Related options and settings are already enabled by default, so there is no need to modify any settings from what is provided in our github repository.
When upgrading from Pinpoint version below 3.0 to version 3.0.0 or above, some of the options may be missing in the configuration properties files you have been using. Please refer to the related configurations in the following section to check if any changes are needed in your settings.
The following configurations are already set by default in Pinpoint version 3.0.
When upgrading from Pinpoint version below 3.0 to version 3.0.0 or above and when you wish to continue using customized configuration files you have been using, please check if below mentioned configurations are well set in your files.
application.yml
file in collector-starter
module:
application.yml
file in web-starter
module:
batch-root.properties
file in batch
module:
Yes, but Legacy Inspector will be deprecated in v3.0.1 so we recommended you to use the New Inspector.
To use Legacy Inspector with v3.0.0, you need to add the following settings to the Pinpoint components:
Modify application.yml
file in collector-starter
module OR add java vm option when running Pinpoint Collector.
application.yml
java vm option
Modify batch-root.properties
file in batch
module OR add java vm option when running Pinpoint Batch.
batch-root.properties
java vm option
New Inspector saves and retrieves the data faster than the Legacy Inspector thanks to Pinot. As Pinot project gets mature over time, there can be further improvements on performance or additional features can be introduced to Pinpoint Inpsector as well.
You can improve performance by distributing the data across multiple tables. Follow the steps below to create multiple Kafka topics and Pinot tables. Then, add settings to Pinpoint components to read and write data from multiple Pinot tables.
Create More Kafka Topics
Create N Kafka topics. (From 00 to N-1)
The format of the topics is as follows:
inspector-stat-agent-00
inspector-stat-agent-01
...
inspector-stat-agent-99
Create More Pinot Tables
Create N Pinot tables. (From 00 to N-1)
The format of the table names and schema names is as follows:
inspectorStatAgent00
inspectorStatAgent01
...
inspectorStatAgent99
Modify application.yml
file in collector-starter
module OR add java vm option when running Pinpoint Collector
application.yml
java vm option
Modify application.yml
file in web-starter
module OR add java vm option when running Pinpoint Web
application.yml
java vm option
Modify batch-root.properties
file in batch
module OR add java vm option when running Pinpoint Batch
batch-root.properties
java vm option
New Inspector에서 사용자가 보는 화면은 크게 달라진 건은 없습니다. 그러나 내부적으로 많은 변화가 있었습니다. 데이터를 저장하는 저장소가 HBase에서 Pinot로 변경이 되었습니다. api를 쉽게 확장할 수 있고, response를 명확한 형식으로 개편했습니다. 즉 inspector 기능을 추가하고 확장하기 쉽게 개선되었습니다.
실시간으로 collector에서 데이터를 전달받아 Pinot에 저장하기 위해서 Kafka를 설치해야 합니다.
2.1.A Kafka 설치
2.1.B topic 생성
아래 2개 Kafka topic을 생성합니다.
inspector-stat-agent-00
inspector-stat-app
2.1.A Pinot 설치
2.1.B Pinot table 생성
아래 2개 테이블을 생성합니다.
inspectorStatApp: 이 테이블은 application inspector data를 저장합니다.
관련 옵션 및 설정은 기본적으로 활성화되어 있으므로 추가로 설정할 필요가 없습니다.
Pinpoint 3.0 미만버전에서 3.0.0 이상버전으로 업그레이드 시 일부 옵션이 누락되는경우 아래 관련 옵션 설명을 참고해주세요.
아래 설정들은 Pinpoint 3.0 버전에서 기본적으로 설정되어있습니다.
Pinpoint 버전을 3.0으로 업그레이드하는경우 일부 설정이 누락되는 경우 참고하기 위해서 설정을 명시해놓습니다.
collector-starter
모둘의 application.yml
파일:
web-starter
모듈의 application.yml
파일:
batch
모듈의 batch-root.properties
파일:
가능합니다. 그러나 3.0.1 버전 이상 부터는 Legacy Inspector를 삭제할 예정이므로 Pinpoint 버전이 올라갈수록 기능을 사용할수 없으므로 New Inspector를 사용하는것을 권장합니다. 기능을 사용하려면 Pinpoint 컴포넌트들에 아래 설정을 추가해야합니다.
collector-starter 프로젝트의 application.yml 파일이나 java vm option에 아래 설정을 추가해주세요.
application.yml
java vm option
batch 프로젝트에서 batch-root.properties 파일이나 java vm option에 아래 설정을 추가해주세요.
batch-root.properties
java vm option
다양한 데이터를 빠르게 저장하고 확인하고 위해서 Pinot로 데이터를 저장하도록 개선되었고 아직 부족한 기능이 많지만 Pinot의 발전에 맞춰서 기능을 보완하도록 하겠습니다.
여러 개의 체이블에 데이터를 나누어 저장해서 성능 향상을 얻을 수 있습니다. 아래를 단계를 따라 전체 N 개의 Kafka topic과 Pinot table을 생성하고, Pinpoint 컴포넌트들에 설정을 추가해서 data를 수집/조회합니다.
Kafka topic 생성
N개 Kafka topic을 생성합니다. (00에서 N-1까지)
topic의 형식은 다음과 같습니다.
inspector-stat-agent-00
inspector-stat-agent-01
...
inspector-stat-agent-99
Pinot table 생성
N개 Pinot table을 생성합니다. (00에서 N-1까지)
table name과 schema name의 형식은 다음과 같습니다.
insepctorStatAgent00
insepctorStatAgent01
...
insepctorStatAgent99
collector-starter
모듈의 application.yml
파일이나 java vm option에 아래 설정을 추가해 주세요.
application.yml
java vm option
web-starter
모듈의 application.yml
파일이나 java vm option에 아래 설정을 추가해 주세요.
application.yml
java vm option
batch
모듈의 batch-root.properties
파일이나 java vm option에 아래 설정을 추가해 주세요.
batch-root.properties
java vm option
Install Pinot according to .
If you have already , please skip this step.
inspectorStatAgent00: This table stores agent inspector data. The is provided in our github repository.
Refer to the for table schema and configuration settings.
creating multiple Pinot tables is provided in our github repository.
inspector가 Pinpoint v3.0.0에서 새로워졌습니다. 이하 새로워진 inspector를 'New Inspector'이라고 부르고 과거의 inspector는 'Legacy Inspector'라고 칭합니다 ().
를 보고 Kafka를 다운 받아 실행합니다.
Pinot 사이트에서 를 참고하여 Pinot를 설치합니다.
inspectorStatAgent00: 이 테이블은 agent inspector data를 저장합니다. 로 생성이 가능합니다.
table schema와 configuration은 를 참고해주세요.
로 다수의 테이블 생성이 가능합니다.