Zabbix3.4 PostgreSQL과 Elasticsearch 6.3의 데이터 연계

여기 을 참고로, Zabbix 내의 PostgreSQL 데이터를 Logstash 경유로 Elasticsearch에 저장해, Kibana에서의 가시화까지 실시한 순서를 정리합니다.

덧붙여 이 기사는, Zabbix/PostgreSQL, Elasticsearch를 인스톨 끝난 환경에서의 실시 순서입니다.
전제가 되는 환경의 구축 정보는, 기사의 마지막에 필요 순서에 정리해 놓고 있습니다.

실행 환경은 다음과 같습니다.

· CentOS 7.5
· Zabbix 3.4
· PostgreSQL 9.2.23
· Elasticsearch 6.3.2
· Kibana 6.3.2
· Logstash 6.3.2

Logstash 설치



다양한 데이터 소스의 데이터 수집 엔진인 Logstash 설치
여기을 참고하여 PGP 키 가져오기 및 Elasticsearch yum 저장소 등록
# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
# vi /etc/yum.repos.d/logstash.repo
[logstash-6.x]
name=Elastic repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Logstash 설치 및 서비스 시작
# yum -y install logstash
# systemctl start logstash.service
# systemctl enable logstash.service

Logstash Plugin과 같은 JDBC 연결 환경 준비



Logstash JDBC 연결용 Plugin logstash-input-jdbc Input Plugin 설치
# /usr/share/logstash/bin/logstash-plugin install logstash-input-jdbc

PostgreSQL 용 JDBC 드라이버를 Elasticsearch 서버 (액세스 측)에 설치
# yum -y install postgresql-jdbc
# find / -name postgre*.jar

PostgreSQL에서 수집하는 데이터 내용



Zabbix 내의 PostgreSQL DB에는 2종류의 시계열 데이터, trends(1년분 데이터)와 history(1주간분 데이터)가 있다. 이번에는 trends 테이블과 item 테이블(데이터 정보)을 참조한다. 예에서는 logstash.conf라는 이름으로 작성한다.
# vi /usr/share/logstash/bin/logstash.conf
input {
  jdbc {
    jdbc_driver_library => "/usr/share/java/postgresql-jdbc.jar" (jarファイル格納先)
    jdbc_driver_class => "org.postgresql.Driver"
    jdbc_connection_string => "jdbc:postgresql://Zabbix Server IP:5432/zabbix"
    jdbc_user => "zabbix"  (zabbixユーザ)
    jdbc_password => "zabbix"
    statement => "select itemid, items.name, items.hostid, to_timestamp(trends.clock), trends.num, trends.value_min, trends.value_avg, trends.value_max from trends JOIN items using (itemid)"
  }
}

output {
  elasticsearch {
    hosts => "localhost:9200"
    index => "trends"
  }
}

Elasticsearch로 데이터 캡처


# /usr/share/logstash/bin/logstash -f /usr/share/logstash/bin/logstash.conf --path.settings /etc/logstash

Kibana에서 색인 확인



Management > Create Index Pattern을 클릭하고 index pattern에 trends를 입력하여 trends 인덱스를 확인합니다.



[Discover]에서 레코드 참조


관련 기사
Zabbix3.4 PostgreSQL 버전을 CentOS7에 설치
Zabbix3.4 모니터링 대상 설정
CentOS7에 Elasticsearch6.3 설치
PostgreSQL9.x 외부 호스트에서 연결 설정

좋은 웹페이지 즐겨찾기