배트맨 토토- Prometheus를위한 오픈 소스 우체국 수출국

게시 된2022-07-22by 배트맨 토토
관련 오픈 소스

배트맨 토토 팀은 기꺼이 발표합니다배트맨 토토-오픈 소스 (Apache 2.0) 쿼리 성능 통계에 중점을 둔 Prometheus의 Postgres Expler.

동기 부여 :

배트맨 토토에서는 서비스 중단의 근본 원인을 감지하고 사용자에게 가능한 수정 목록을 제공하는 제품을 사용합니다..

처음에, 우리는 기존 오픈 소스 Prometheus 수출 업체가 수집 한 메트릭을 사용하여Postgres_Exporter(Github의 1.7K 별). 불행히도, 우리는 그것이 수집하는 메트릭이 다음과 같은 가장 일반적인 성능 문제를 식별하는 데 쓸모가 없다는 것을 깨달았습니다.

  • CPU 집약적 인 쿼리가 다른 쿼리에 영향을 미칩니다
  • 서버에 도달했습니다max_connection대부분의 연결이 갇혀 있기 때문에 제한트랜잭션의 유휴State
  • I/O 집약적 인 쿼리는 다른 쿼리에 영향을 미칩니다
  • 독점 잠금을 유지하여 쿼리가 다른 쿼리를 차단합니다

제안 된 변경 사항postgres_exporter너무 커서 다른 수출국을 건설하기로 결정했습니다.

특징 :

포괄적 인 쿼리 메트릭

에이전트가 통계를 집계합니다pg_stat_statementsandpg_stat_activity완성 된 쿼리뿐만 아니라 여전히 실행중인 쿼리를 고려하려면

잠금 모니터링

활성 자물쇠 수를 수집하기에는 충분하지 않습니다.pg_locks. DBA가 실제로 알고 싶은 것은 다른 쿼리를 차단하는 쿼리입니다. 수집 된 메트릭은 그것에 대한 답을 제공 할 수 있습니다.

쿼리 정규화 및 난독 화

Postgres가하는 쿼리 정규화 외에도 에이전트는 모든 쿼리를 난독 화하여 민감하지 않도록합니다. 데이터는 메트릭 레이블에 들어갑니다.

링크