Metricbeat (Elastic Stack)로 PostgreSQL 지표 수집

소개



Metricbeat (Elastic Stack)을 사용하여 PostgreSQL 메트릭을 수집하고 Kibana 대시 보드에서 확인합니다.

환경



다음 환경에서 시도하고 있습니다.
  • CentOS 7.5
  • Elasticsearch 7.8
  • Kibana 7.8
  • Metricbeat 7.8

  • Elasticsearch와 Kibana는 다음 게시물에서 구축한 환경을 활용합니다.
  • Java 애플리케이션을 Elastic APM으로 측정해보기

  • Metricbeat 설치



    Metricbeat의 설치는 아래의 공식 문서를 참고로 실시합니다.
  • htps //w w. 에 s c. 코/구이데/엔/베아 ts/메 토리 c베아 t/쿤렌 t/메 토리 c베아 t-인 s타치온. HTML

  • 먼저 RPM을 다운로드하여 설치합니다.
    # curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.8.1-x86_64.rpm
    # rpm -vi metricbeat-7.8.1-x86_64.rpm
    

    PostgreSQL에서 메트릭을 수집하는 모듈을 활성화합니다. 기본적으로 이 외에도 시스템 메트릭이 수집됩니다.
    # metricbeat modules enable postgresql
    Enabled postgresql
    

    PostgreSQL 모듈을 등록한 후 설정을 검토합니다.
    이번에는 다음과 같이 설정했습니다.
    # vi /etc/metricbeat/modules.d/postgresql.yml 
    
    
    - module: postgresql
      metricsets:
        - database
        - bgwriter
        - activity
        - statement
      period: 10s
      hosts: ["postgres://localhost:5432?sslmode=disable"]
      username: postgres
      password: postgres
    

    statement 메트릭을 이용하기 위해서는, pg_stat_statements 확장을 PostgreSQL에 인스톨 해 둘 필요가 있습니다.
    다음 명령으로 설치하고 postgresql.conf에서 모듈을 로드하도록 설정합니다.
    # CREATE EXTENSION pg_stat_statements;
    
    #postgresql.conf
    shared_preload_libraries = 'pg_stat_statements' 
    

    그런 다음 Elasticsearch 및 Kibana 엔드포인트를 설정합니다.
    Kibana 엔드포인트를 설정하면 샘플 Kibana 대시보드를 사용할 수 있습니다.
    Elasticsearch에 대한 인덱스 템플릿 등록은 자동으로 수행됩니다.
    # vi /etc/metricbeat/metricbeat.yml 
    
    setup.kibana:
      host: "localhost:5601"
    output.elasticsearch:
      hosts: ["localhost:9200"]
    

    Metricbeat에는 샘플 Kibana 대시보드가 ​​패키지되어 있으며 다음 명령으로 작성할 수 있습니다.
    metricbeat setup --dashboards
    

    마지막으로 Metricbeat를 자동 시작으로 설정하고 시작합니다.
    # systemctl enable metricbeat
    # systemctl start metricbeat
    

    Metricbeat 로그는 아래에 출력됩니다.
    /var/log/metricbeat/metricbeat
    

    Kibana 대시보드에서 지표 확인



    자동으로 대시보드가 ​​등록되어 있으며 [Metricbeat PostgreSQL] Database Overview를 선택하면 다음 화면이 표시됩니다.



    표시되는 그래프가 됩니다.
  • Rows Fetched/Returned
  • Database Transactrions
  • Query Latency
  • Top Queries
  • Fileblock IO
  • Rows Inserted/Deleted/Updated
  • Conflict/Deadlock Rates
  • Local block cache stats
  • Shared block cache stats

  • 또한 시스템 메트릭은 다음 대시보드로 표시할 수 있습니다.

    좋은 웹페이지 즐겨찾기