반응형

 

  • [Zabbix 5.0] 자빅스 5.0 TimescaleDB의 shared_buffers 설정 값 방법

TimesacleDB의 shared_buffers 설정 값 방법 입니다. 우선 계산을 하기 전 각 history와 trends에 대한 평균 값을 구해야 합니다. 우선 아래 쿼리로 각각의 조각 단위(chunk_time_interval에 적용된 값, 기본값 1일로 설정 됐을 경우 1일마다 조각화 됨)의 용량부터 구해야 합니다.

 

총 아래 7개의 값을 구해야 합니다. 쿼리를 날린 후 조각화된 모든 용량을 더해서 구하는것이 아니라, 하나 당 한개의 조각화된 용량만 구하면 됩니다. (history에 7개의 조각화된 데이터 있을때, 1개의 조각화된 데이터 용량만 필요)

echo "SELECT chunk_table,total_bytes FROM chunk_relation_size('history');" | sudo -u postgres psql zabbix
echo "SELECT chunk_table,total_bytes FROM chunk_relation_size('history_uint');" | sudo -u postgres psql zabbix
echo "SELECT chunk_table,total_bytes FROM chunk_relation_size('history_log');" | sudo -u postgres psql zabbix
echo "SELECT chunk_table,total_bytes FROM chunk_relation_size('history_text');" | sudo -u postgres psql zabbix
echo "SELECT chunk_table,total_bytes FROM chunk_relation_size('history_str');" | sudo -u postgres psql zabbix
echo "SELECT chunk_table,total_bytes FROM chunk_relation_size('trends');" | sudo -u postgres psql zabbix
echo "SELECT chunk_table,total_bytes FROM chunk_relation_size('trends_uint');" | sudo -u postgres psql zabbix

 

예를들어 아래와 같이 확인 되었다고 가정하겠습니다.

history 15mb
history_uint 15mb
history_log 15mb
history_text 20mb
history_str 20mb
trends 10mb
trends_uint 10mb

 

각각의 모든 용량을 더하고 15 x 3 + 20 x 2 + 10 x 2 = 105mb 에서 이 외의 데이터가 약 30%를 사용한다는 가정하에 어느정도의 공간을 남겨 두어야 하는데, 계산은 105 / 0.7 = 150MB가 됩니다. 만약 40%를 사용한다면 105 / 0.6이 되어 175가 됩니다.

(history,trends의 모든 용량을 더한 값) / (이외의 데이터가 사용할 임계치) = (설정 값)

 

반응형
반응형

 

  • 자빅스 5.0 TimescaleDB 설치/설정 방법

아래 코드를 복사+붙여넣기하여 timescaledb repo를 추가 해줍니다.

cat > /etc/yum.repos.d/timescale_timescaledb.repo <<EOL
[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/7/\$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
EOL

 

yum install -y timescaledb-postgresql-12
timescaledb-tune --pg-config=/usr/pgsql-12/bin/pg_config

# 저의 경우 아직 튜닝의 필요가 없기에 모두 y를 눌러서 설정 했습니다.

# 버전 또는 설치 방법에 따라 서비스명이 다를 수 있습니다.
systemctl restart postgresql-12

 

이후 아래와 같이 진행 되는데, 설치 매뉴얼들에서는 gzip을 풀지 않고 zcat으로 진행 하지만 저의 테스트 환경은 zcat으로 진행하게 되면 아래 두 라인의 쿼리가 재대로 실행되지 않는 현상이 발생하여 gzip을 풀고 진행 하였습니다.

아래는 https://nirsa.tistory.com/252 을 보고 설치했을 경우의 경로들이고, 다른 방법을 몰라서 timescaledb.sql.gz 의 위치를 모를 경우 find / -name timescaledb.sql.gz 명령어를 통해 확인 하시면 됩니다. 

timescaledb.sql 파일에는 파일을 쪼갤 인터벌을 수정할 수 있습니다. history는 기본적으로 1일로 되어 있습니다. 

** 만약 기존에 사용중인 자빅스 서버였을 경우 zabbix-server 및 httpd등의 프론트엔드 서비스를 모두 종료 후 진행 해주셔야 합니다.

echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
cp /usr/share/doc/zabbix-server-pgsql*/timescaledb.sql.gz ~
gzip -d ~/timescaledb.sql.gz
cat ~/timescaledb.sql | sudo -u zabbix psql zabbix

# 버전 또는 설치 방법에 따라 서비스명이 다를 수 있습니다.
systemctl restart postgresql-12

 

이후 echo "SELECT chunk_table,total_bytes FROM chunk_relation_size('history_uint');" | sudo -u postgres psql zabbix 명령어를 통해 history_uint에 재대로 저장되고있는지 확인할 수 있습니다.

 

반응형
반응형

 

  • 자빅스 에이전트 5.0 에러 (Assuming that agent dropped connection because of access permissions)

zabbix_agentd.conf 파일의 Server= 부분을 잘못 적었거나 자빅스 서버 로컬 에이전트일 경우에는 실제 사용중인 IP가 아니라 127.0.0.1과 같이 루프백 주소를 입력하면 에러를 해결할 수 있습니다.

예를들어 자빅스 서버의 IP가 192.168.0.100일 경우 Server=192.168.0.100을 적지 말고, Server=127.0.0.1을 작성하면 됩니다.

 

이유는 자빅스 웹페이지에서 Zabbix server 호스트를 확인해보면 아래 이미지와 같이 루프백 주소로 작성 되어있기 때문 입니다. 위에서 예를 든것과 같이 자빅스 서버의 IP가 192.168.0.100이고, zabbix_agentd.conf 파일에 Server=192.168.0.100으로 작성하고 싶다면 자빅스 웹페이지에서 아래의 127.0.0.1을 192.168.0.100으로 바꿔주어야 정상적인 모니터링이 가능 합니다.

 

반응형
반응형

 

  • 자빅스 5.0 에러 (psql: FATAL: Ident authentication failed for user "zabbix")

해당 에러의 경우 pg_hba.conf 파일의 설정을 놓쳐서 발생하게 됩니다. 아래 이미지와 같이 peer와 ident를 md5로 변경 시켜준 후 postgresql 서비스를 재시작하면 에러가 해결 됩니다.

 

반응형

+ Recent posts