Chapter 4. Add/Remove Collection target
수집 대상 클러스터 추가
아래와 같은 주소에 ZooKeeper ensemble이 신규로 구동되었다고 가정합니다.
new.arcuscloud.jam2in.com:2181
10.0.0.1:2181 10.0.0.2:2181 10.0.0.3:2181새로 구동된 클러스터를 Arcus Hubble V3의 수집 대상으로 추가하려면, Arcus Exporter, ZooKeeper Exporter를 새로 구동하고 필요 시 각 장비에 Node Exporter를 구동해야 합니다. 그리고 VictoriaMetrics(Short Term), Orbiter를 재구동해주어야 합니다.
Arcus Exporter 구동 (Memcached 서버 메트릭 수집)
설정 파일(/INSTALL_DIR/arcus_exporter/conf/new.json) 작성
/INSTALL_DIR/arcus_exporter/conf/new.json) 작성listen: 기존에 사용 중인 port와 중복되지 않도록 설정합니다.ensemble: ZK 도메인 또는 서버 목록을 입력합니다.log.filename: 설정파일과 동일한 이름으로 설정하는 것을 권장합니다.기타 설정은 arcus_exporter config 참고 바랍니다.
{
"listen": "127.0.0.1:13119",
"ensemble": ["new.arcuscloud.jam2in.com:2181"],
// "ensemble": [ "10.0.0.1:2181", "10.0.0.2:2181", "10.0.0.3:2181" ],
"log": {
"filename": "/INSTALL_DIR/arcus_exporter/log/new.log"
}
}구동
/INSTALL_DIR/arcus_exporter/start.sh newZooKeeper Exporter 구동 (ZooKeeper 서버 메트릭 수집)
만약 ZooKeeper Exporter를 구동 중인 상태에서 ZK DNS 변경이 발생했다면 자동 반영되지 않으므로 재구동이 필요합니다.
설정 파일(/INSTALL_DIR/zookeeper_exporter/conf/new.env) 작성
/INSTALL_DIR/zookeeper_exporter/conf/new.env) 작성LISTEN_PORT: 기존에 사용 중인 port와 중복되지 않도록 설정합니다.ZK_DOMAINorZK_SERVERS: domain 주소를 입력하거나, 각 서버 주소를 입력합니다.
LISTEN_PORT=9149
ZK_DOMAIN="new.arcuscloud.jam2in.com:2181"
#ZK_SERVERS=("10.0.0.1:2181" "10.0.0.2:2181" "10.0.0.3:2181")구동
/INSTALL_DIR/zookeeper-exporter/start.sh newNode Exporter 구동 (호스트 장비 메트릭 수집)
수집 대상 장비에 Node Exporter 구동
각 캐시 장비마다 node_exporter 설치 후 구동합니다.
NODE_EXPORTER_TARGET: node exporter를 띄울 host를 설정합니다.
cd /INSTALL_DIR/node_exporter
export NODE_EXPORTER_TARGET="10.0.0.1"
scp ./node_exporter.tar.gz $NODE_EXPORTER_TARGET:/INSTALL_DIR/node_exporter.tar.gz
ssh $NODE_EXPORTER_TARGET < ./untar.sh
ssh $NODE_EXPORTER_TARGET /INSTALL_DIR/start.shsystemd service로 Node Exporter 구동
node_exporter.service파일과node_exporter.socket파일을/etc/systemd/system하위에 복사합니다.User와 INSTALL_DIR 값을 적절히 변경합니다.
systemctl명령을 통해node_exporter.socket을 실행합니다.
sudo systemctl daemon-reload
sudo systemctl enable node_exporter.socket
sudo systemctl start node_exporter.socketVictoriaMetrics(Short Term) 설정 변경 및 reload
설정 변경
Arcus Exporter 설정 파일(
/INSTALL_DIR/victoriametrics/conf/exporter/arcus_exporter.yml)에 새로 구동한 arcus_exporter 주소를 추가합니다.
- targets:
- localhost:13111
- localhost:13112
...
- localhost:13119 # addZooKeeper Exporter 설정 파일(
/INSTALL_DIR/victoriametrics/conf/exporter/zookeeper_exporter.yml)에 새로 구동한 ZooKeeper Exporter 주소를 추가합니다.
- targets:
- localhost:9141
labels:
ensemble: example-1
- targets:
- localhost:9142
labels:
ensemble: example-2
...
- targets: # add
- localhost:9149
labels:
ensemble: newNode Exporter 설정 파일(
/INSTALL_DIR/victoriametrics/conf/exporter/node_exporter.yml)에 새로 구동한 Node Exporter 주소를 추가합니다.
- targets:
- localhost:9100
...
- 10.0.0.1:9100 # add
- 10.0.0.2:9100 # add
- 10.0.0.3:9100 # add
labels:
group: host설정 파일 reload
아래와 같이 VictoriaMetrics(Short Term)이 구동된 주소로 HTTP 요청을 보내 프로세스를 리로드합니다.
curl -X POST http://localhost:8428/-/reloadOrbiter 설정 변경 및 reload
설정 변경
Orbiter 설정 파일(
/INSTALL_DIR/orbiter/config.json)에 새로 구동한 ZooKeeper ensemble의 이름과 주소를 추가합니다.
{
"listen": "0.0.0.0:8084",
"ensembleByName": {
"example-1": [ "example-1.arcuscloud.jam2in.com:2181" ],
"example-2": [ "example-2.arcuscloud.jam2in.com:2181" ],
...
"new": [ "new.arcuscloud.jam2in.com:2181" ] // add
// "new": [ "10.0.0.1:2181", "10.0.0.2:2181", "10.0.0.3:2181" ]
},
...
}설정 파일 reload
아래와 같이 HTTP 요청을 보내 Orbiter 프로세스를 리로드합니다.
curl -X POST http://localhost:8084/reload/config수집 대상 클러스터 제거
아래와 같은 주소에 구동되어 있던 ZooKeeper ensemble을 제거하기 위해 수집 대상에서 먼저 제거한다고 가정합니다.
new.arcuscloud.jam2in.com:2181
10.0.0.1:2181 10.0.0.2:2181 10.0.0.3:2181클러스터를 Arcus Hubble V3의 수집 대상에서 제거하려면, VictoriaMetrics(Short Term), Orbiter를 재구동하고 Arcus Exporter, Node Exporter, ZooKeeper Exporter를 종료해야 합니다.
Orbiter 설정 변경 및 reload
설정 변경
Orbiter 설정 파일(
/INSTALL_DIR/orbiter/config.json)에서 수집이 필요 없어진 ZooKeeper ensemble의 이름과 주소를 제거합니다.
{
"listen": "0.0.0.0:8084",
"ensembleByName": {
"example-1": [ "example-1.arcus.com:2181" ],
"example-2": [ "example-2.arcus.com:2181" ],
...
// "new": [ "new.arcuscloud.jam2in.com:2181" ] remove
},
...
}설정 파일 reload
아래와 같이 HTTP 요청을 보내 Orbiter 프로세스를 리로드합니다.
curl -X POST http://localhost:8084/reload/configVictoriaMetrics(Short Term) 설정 변경 및 reload
설정 변경
Arcus Exporter 설정 파일(
/INSTALL_DIR/victoriametrics/conf/exporter/arcus_exporter.yml)에서 제거 대상인 ZooKeeper ensemble 캐시 서버들의 지표를 수집 중인 Arcus Exporter 주소를 제거합니다.
- targets:
- localhost:13111
- localhost:13112
...
# localhost:13119 removeZooKeeper Exporter 설정 파일(
/INSTALL_DIR/victoriametrics/conf/exporter/zookeeper_exporter.yml)에서 제거 대상인 ZooKeeper ensemble의 지표를 수집 중인 ZooKeeper Exporter 주소를 제거합니다.
- targets:
- localhost:9141
labels:
ensemble: example-1
- targets:
- localhost:9142
labels:
ensemble: example-2
...
# - targets: remove
# - localhost:9149
# labels:
# ensemble: newnode_exporter (
/INSTALL_DIR/victoriametrics/conf/exporter/node_exporter.yml)에서 제거 대상인 ZooKeeper ensemble 장비의 지표를 수집 중인 Node Exporter 주소를 제거합니다.
- targets:
- localhost:9100
...
- # 10.0.0.1:9100 remove
- # 10.0.0.2:9100 remove
- # 10.0.0.3:9100 remove
labels:
group: host설정 파일 reload
아래와 같이 VictoriaMetrics(Short Term)이 구동된 주소로 HTTP 요청을 보내 프로세스를 리로드합니다.
curl -X POST http://localhost:8428/-/reloadArcus Exporter, ZooKeeper Exporter 프로세스 종료
ps -ef와grep명령어를 사용해 제거될 ZooKeeper ensemble의 주소를 담은 exporter 프로세스들의 PID를 찾고 종료시킵니다.
ps -ef | grep hubble | grep newkill <pid>
캐시 장비 Node Exporter 프로세스 종료
각 ZooKeeper, Arcus 캐시 서버가 구동되었던 장비에 있던 Node Exporter 프로세스의 PID를 찾고 종료시킵니다.
ssh <cache host> "ps -ef | grep node_exporter"ssh <cache host> "kill <pid>"
systemd service로 등록된 Node Exporter 종료
sudo systemctl stop node_exporter.socket
sudo systemctl disable node_exporter.socket
sudo rm /etc/systemd/system/node_exporter.*
sudo systemctl daemon-reloadService code 단위 수집 대상 추가/제거
Arcus Exporter는 기본적으로 하나의 ZooKeeper ensemble에 등록된 모든 클러스터 정보를 수집합니다.
일부 클러스터에 대한 메트릭만 수집하려면
serviceCodes설정에 수집하려는 클러스터의 service code 목록을 지정합니다.그 외 구성 요소의 설정은 상단의 수집 대상 추가/제거 항목을 참고하여 진행합니다.
ZooKeeper Exporter
Node Exporter
Orbiter
VictoriaMetrics(Short Term)
Last updated