ClickHouse 통합을 Agent 7.84 이전 버전에서 업그레이드하기
이 가이드에서는 Agent 7.84부터 ClickHouse용 Database Monitoring이 노드별로 쿼리를 표시하는 기능을 사용하기 위해 필요한 추가 권한과 설정 단계를 다뤄요.
출처: 문서
본문
개요 (Overview)
Agent 버전 7.84부터 ClickHouse용 Database Monitoring은 각 쿼리를 실행한 클러스터의 노드를 보여줘요. 쿼리 메트릭, 쿼리 샘플, 완료된 쿼리, 쿼리 오류는 이를 서비스한 노드로 태그되므로 다음을 할 수 있어요:
- 같은 쿼리의 성능을 노드 간에 비교하기
- 느리거나 실패한 쿼리의 원인이 되는 노드 찾기
- 클러스터 내 노드 간의 고르지 못한 부하 발견하기
노드를 식별하기 위해 에이전트는 각 인스턴스가 속한 클러스터와 ClickHouse Cloud에서 실행되는지 아니면 자체 호스팅(self-hosted)인지도 보고해요. 이 정보는 다음 태그로 추가돼요:
| 태그 | 설명 |
|---|---|
clickhouse_node |
쿼리를 실행한 노드. |
clickhouse_cluster |
인스턴스가 속한 ClickHouse 클러스터. |
hosting_type |
clickhouse-cloud 또는 self-hosted. |
에이전트는 이 정보를 이전 설정 지침이 접근 권한을 부여하지 않았던 ClickHouse 시스템 테이블에서 읽어요. Agent 7.84 이전 버전으로 통합을 설정했다면 에이전트를 업그레이드하기 전에 아래 추가 권한을 부여하세요. 에이전트는 시작할 때만 새로운 권한을 인식하므로, 업그레이드 후에 권한을 부여했다면 에이전트를 재시작하세요.
추가 권한 부여하기
관리자로 ClickHouse에 연결해서 다음 문장을 실행하세요. 모니터링 사용자 이름이 datadog가 아니라면 사용자 이름으로 바꾸세요.
GRANT SELECT ON system.macros TO datadog;
GRANT SELECT ON system.clusters TO datadog;
GRANT SELECT ON system.settings TO datadog;
GRANT SELECT ON system.table_engines TO datadog;
GRANT SELECT ON system.one TO datadog;
GRANT REMOTE ON *.* TO datadog;
에이전트 재시작하기
에이전트는 시작할 때 클러스터를 한 번 조회하고, 재시작할 때까지 그 결과를 유지해요. 업그레이드 전에 권한을 적용했다면 업그레이드가 에이전트를 재시작하므로 추가 조치가 필요 없어요. 업그레이드 후에 권한을 적용했다면 에이전트를 재시작하세요.
업그레이드 검증하기
에이전트가 재시작된 후 Database Monitoring에서 ClickHouse 인스턴스를 열고 다음을 확인하세요:
- 쿼리 데이터가
clickhouse_node로 태그되어 있는지. hosting_type태그가 ClickHouse Cloud 서비스의 경우clickhouse-cloud, 그 외 배포의 경우self-hosted인지.
clickhouse_node 태그가 없으면:
- Agent 상태 명령을 실행해서 ClickHouse 체크에서 권한 오류를 검토하세요.
- 위 권한이 에이전트가 연결하는 사용자에게 모든 노드에 적용되어 있는지 확인하세요.
- 클러스터가
{cluster}매크로 또는 에이전트가 연결하는 노드를 포함하는<remote_servers>항목을 정의하는지 확인하세요. 둘 다 구성되지 않았다면 에이전트가 클러스터를 식별할 수 없고clickhouse_cluster태그가 보고되지 않아요.
hosting_type 태그가 unknown이면 에이전트가 system.settings 또는 system.table_engines를 읽지 못한 거예요. 두 테이블에 대한 GRANT SELECT 문장이 적용되었는지 확인한 다음 에이전트를 재시작하세요.