[카테고리:] 기술
-
Fixing Slow Zabbix DB: Practical MySQL Partition Tuning (Part 5)
— Final Performance Optimization by Disabling Housekeeper and Tuning Cache & Processes Overview In this final part of the series, we balance I/O between the Zabbix server processes and the MySQL database after applying the partition architecture. We’ll completely disable the Housekeeper, then fine-tune critical parameters such asCacheSize, HistoryCacheSize, TrendCacheSize, StartDBSyncers, and othersto maintain stability…
-
Fixing Slow Zabbix DB: Practical MySQL Partition Automation (Part 4)
— Automating Daily and Monthly Partitions with Cron and Shell Scripts Overview This article explains how to automatically maintain and manage the partition structure created in Part 3.Because Zabbix collects a massive amount of data, manually adding or dropping partitions every day or month is inefficient and error-prone. Here, we implement full automation using two…
-
Fixing Slow Zabbix DB: Practical MySQL Partition Setup (Part 3)
— Converting to File-per-Table and Building History / Trends Partition Structures Overview This article explains how to convert the Zabbix core tables (history and trends) into daily and monthly partitioned tables, based on the tablespace layout prepared in the previous part. Starting with MySQL 8.0, you cannot create partitions inside General Tablespaces.Therefore, we must first…
-
Fixing Slow Zabbix DB: Practical MySQL Partition Setup (Part 2)
— Distributing I/O Load with Disk Separation and Tablespace Configuration Overview This guide focuses on one of the main reasons Zabbix DB performance degrades over time — I/O concentration.We’ll reduce disk contention in MySQL 8.x by placing Zabbix’s history and trends data on a separate disk and defining General Tablespaces to explicitly control data locations.…
-
Fixing Slow Zabbix DB: Practical MySQL Partition Setup (Part 1)
— Installing Zabbix 7.4 and Loading the Schema (History / Trends Partition Prep) This guide explains how to install Zabbix 7.4 on Ubuntu 22.04 and prepare its MySQL schema for partitioning.It’s a continuation of the practical performance-tuning series below: 1) Scope and Prerequisites Component Version / Note OS Ubuntu 22.04 Zabbix 7.4 (Use 7.0 LTS…
-
Zabbix DB가 느릴 때: MySQL 파티션으로 해결하는 실무 구축법 (5편) — Housekeeper 비활성화와 캐시·프로세스 튜닝으로 최종 성능 완성
개요 이 시리즈의 마지막 편에서는 파티션 구조 적용 이후 Zabbix 서버의 내부 캐시 및 프로세스 튜닝을 통해DB와 서버 프로세스 간의 I/O 밸런스를 맞추는 과정을 다룬다. 특히 Zabbix의 Housekeeper 기능을 완전히 비활성화하고,CacheSize, HistoryCacheSize, TrendCacheSize, StartDBSyncers 등 주요 항목을 조정해대규모 환경에서도 안정적인 동작을 유지하도록 구성한다. 1) Housekeeper 비활성화 Housekeeper는 오래된 데이터를 주기적으로 삭제하는 프로세스다.하지만 이미 파티션 기반…
-
Zabbix DB가 느릴 때: MySQL 파티션으로 해결하는 실무 구축법 (4편) — 자동 파티션 스크립트와 크론 관리로 완전 자동화하기
개요 이 글은 3편에서 생성한 파티션 구조를 자동으로 유지·관리하는 단계를 다룬다.Zabbix는 수집량이 많기 때문에, 매일·매월 수동으로 파티션을 추가하거나 오래된 데이터를 삭제하는 것은 비효율적이다. 이번 편에서는 다음 두 가지 스크립트를 통해 완전 자동화한다. 1) 전제 조건 2) History 자동화 스크립트 파일 경로: /usr/local/bin/zbx-part-history.sh 저장 후 실행 권한 부여: 3) Trends 자동화 스크립트 파일 경로: /usr/local/bin/zbx-part-trends.sh 저장…
-
Zabbix DB가 느릴 때: MySQL 파티션으로 해결하는 실무 구축법 (3편) — file-per-table 전환과 history·trends 파티션 구조 구성
개요 이 글은 앞서 분리한 Tablespace 구조를 기반으로,Zabbix의 핵심 데이터(history, trends)를 일 단위 / 월 단위 파티션 테이블로 변환하는 과정을 다룬다. MySQL 8.0부터는 일반 테이블스페이스(General Tablespace) 위에 파티션을 둘 수 없기 때문에,먼저 file-per-table 구조로 전환한 뒤 파티션을 생성해야 한다. 1) 전제 조건 ⚠️ 주의:운영 중인 환경에서는 파티션 적용 시 데이터 I/O가 급격히 발생하므로,반드시 테스트 환경에서…
-
Zabbix DB가 느릴 때: MySQL 파티션으로 해결하는 실무 구축법 (2편) — 디스크 분리와 Tablespace 구성으로 I/O 분산하기
개요 이 문서는 Zabbix DB가 점점 느려지는 주요 원인 중 하나인 I/O 집중 문제를 줄이기 위한 실무 가이드다.MySQL 8.x에서 Zabbix의 history·trends 데이터를 별도 디스크로 분리하고,General Tablespace를 구성해 데이터 저장 경로를 명확히 분리하는 과정을 다룬다. 1편에서 Zabbix 7.4 + MySQL 설치와 스키마 로드를 완료했다면,이제부터는 디스크 구조를 나누고 테이블을 실제 물리적으로 분리하는 단계다. 1) 전제 조건 이…
-
Zabbix DB가 느릴 때: MySQL 파티션으로 해결하는 실무 구축법 (1편) — history·trends 분할 기반 튜닝
이 문서는 Zabbix 7.4 환경에서 MySQL 파티션 구조를 적용, Zabbix 패키지 설치 및 스키마 로드 과정을 정리한 실무용 가이드다. 이전에 썻던 아래 글에 이어 실무기반으로가이드한 글이니 도움이 되었으면 한다. 1) 전제 및 범위 운영 환경에서 보안 인증(컴플라이언스)을 받아야 하면 지원 기간이 짧은 릴리스를 피한다. EOL에 민감한 조직은 7.0 LTS로 고정. 2) Zabbix 저장소 추가 체크포인트…