Intro

현재 회사에서 MySQL Orchestrator 로 구성한 관리툴을 잘 사용하고 있다.

UI 의 가장 큰 장점이라고 한다면, 관리자나 사용자가 복잡한 명령어나 결과물을 해석해야 되는 것을 직관적이고 간단하게 표현 및 제공함으로써 이해 및 사용하기 편하다는 것이다.

물론 한정된 기능으로 인해 유연성이 부족한건 사실이지만 평소에 사용하는 것에 대해서는 문제가 없다.

 

이러한 이유로, Postgresql 관련해서는 Patroni 관리에 대한 부담감은 분명 존재했는데 이것을 Ivory 라는 툴로 어느 정도 해소가 될 것 같다는 생각이 들어 구성을 해봤다.

Git : https://github.com/veegres/ivory 

 

GitHub - veegres/ivory: Ivory is designed to simplify and visualise work with Postgres clusters. It provides patroni management

Ivory is designed to simplify and visualise work with Postgres clusters. It provides patroni management ui and postgres query builder. - veegres/ivory

github.com

 

구성은 Docker image 로 제공하여 편하게 구성하였으며, UTM ubuntu 로 구성하다 보니, 이슈가 존재했다.

그래서 구성 방법 및 이슈의 내용과 해결방법을 공유하면 다음과 같다.

 

Ivory 간략한 소개

  • Ivory는 PostgreSQL 클러스터를 관리하고 시각화하는 오픈소스 도구
  • Patroni 관리 UI 제공, 클러스터 설정 보기/편집, 쿼리 템플릿 실행, bloat 검사 등이 포함
  • TypeScriptGo로 구성
  • 최신 릴리스는 v1.3.7이며, 2025년 6월 23일 기준

구성 방법

#구성 환경
root@QEMU-Virtual-Machine:/data# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 25.04
Release:	25.04
Codename:	plucky

# Docker 구성
root@QEMU-Virtual-Machine:/data# snap install docker
docker 28.1.1+1 from Canonical✓ installed

root@QEMU-Virtual-Machine:/data# docker --version
Docker version 28.1.1+1, build 068a01e

#GitHub Container Registry 사용 (권장)
root@QEMU-Virtual-Machine:/data# sudo docker run -d \
  -p 80:80 \
  --restart always \
  --name ivory \
  ghcr.io/veegres/ivory
  
 #구성 확인
hyungikim@HyunGis-MacBook-Pro  ~  docker ps
CONTAINER ID   IMAGE                   COMMAND           CREATED          STATUS          PORTS                                 NAMES
3c1669e5b244   ghcr.io/veegres/ivory   "entrypoint.sh"   46 minutes ago   Up 18 minutes   0.0.0.0:80->80/tcp, [::]:80->80/tcp   ivory

# webpage 접속
http://localhost:80/

 

내부 구성

  • 초기 접속 시 Admin 패스워드 지정

  • 그 외 일반적인 설정 진행

  • Patroni Cluster 등록을 진행
    • http://{Patroni구성서버IP}:8008/  (기본 포트 8008)

  • Cluster Auto 구성을 진행하는데, TLS 관련한 에러가 발생하지만 무시해도 첫 구성 화면은 문제가 없음

 

  • 내부 값을 어떻게 가져오는 지 확인되지 않지만, 보는것과 같이 127.0.0.1 내부 아이피가 표현되면서 구성이 진행 
    • 그럼에도 불구하고 3대의 Patroni 구성이 보여지며, Switch over 등 UI로 진행이 가능

 

  • User 도 등록을 한다면, DML쿼리도 실행 가능하다고 판단

 

 

구성간 이슈

  • Ivory 설치가 안되는 이슈.
root@QEMU-Virtual-Machine:/data# docker ps
CONTAINER ID   IMAGE                   COMMAND           CREATED         STATUS                            PORTS     NAMES
591724825dc1   ghcr.io/veegres/ivory   "entrypoint.sh"   9 minutes ago   Restarting (126) 33 seconds ago             ivory

root@QEMU-Virtual-Machine:/data# docker logs ivory
PRETTY_NAME="Ubuntu 22.04.5 LTS"
/usr/bin/pgcompacttable v1.0.14
/usr/local/bin/entrypoint.sh: line 10: /opt/service/ivory: cannot execute binary file: Exec format error

##원인
> Ivory Docker 이미지는 amd64(x86_64) 전용으로 빌드되어 있음
> QEMU, ARM, 기타 비표준 서버 환경에서는 실행 불가
> Exec format error는 실행 바이너리의 CPU 아키텍처가 호환되지 않을 때 발생

## 해결 방법
> 가상 머신에서 구성하는 것을 포기하고, Mac 에서 직접 Docker 를 구성하여 ivory 구성 진행 (한번에 완료)
> 굳이 안되는 ARM 에서 몇시간씩 시도하지 마시길..(경험담)
  • 결국 Ivory 를 Mac docker 로 구성

  • Cluster 구성이 잘못되어, Instance 를 모두 지웠더니, 다음과 같이 에러 화면을 보여주면서 어떠한 "Clear" 버튼도 제대로 동작 안되는 이슈
    • 해결 방법은 Docker 를 리부팅 하여 처음부터 다시 진행(버그예상)

결론

  • 아직 version 1 이라, 검증되지 않은 툴
  • 나같은 초보자가 봐도 버그라고 예상되는 부분들이 존재
  • 그럼에도 불구하고 심플한 UI 구성으로, 간단한 모니터링에는 좋은 툴이라고 생각.
    • 다른 툴에 대해서는 아직 모르기 때문에 더 비교가 필요

 

출처

  • OpenAI

https://www.facebook.com/share/p/1BCWEe755k/ 

 

 

로그인 또는 가입하여 보기

Facebook에서 게시물, 사진 등을 확인하세요.

www.facebook.com

https://news.hada.io/topic?id=22702

 

Ivory — Postgres / Patroni 클러스터 관리 도구 | GeekNews

Postgres 클러스터 관리와 시각화를 단순화하기 위해 개발된 오픈소스 프로젝트원래는 Postgres를 운영하는 개발자들의 편의를 위해 시작되었지만, 현재는 개발자와 DBA 모두가 클러스터를 관리·문

news.hada.io

 

 

반응형

버전 3.08.0, MySQL 8.0.39와 호환

 

내부 임시 테이블에서 사용하는 메모리 양을 표시하기 위해 aurora_temptable_ram_allocation 및 라는 두 가지 전역 상태 변수를 추가했습니다aurora_temptable_max_ram_allocation. 이러한 전역 상태 변수는 관찰성을 높이고 내부 임시 테이블 메모리 사용과 관련된 문제를 진단하는 데 도움이 됩니다.

 

https://dev.mysql.com/doc/refman/8.0/en/internal-temporary-tables.html

 

MySQL :: MySQL 8.0 Reference Manual :: 10.4.4 Internal Temporary Table Use in MySQL

10.4.4 Internal Temporary Table Use in MySQL In some cases, the server creates internal temporary tables while processing statements. Users have no direct control over when this occurs. The server creates temporary tables under conditions such as these: E

dev.mysql.com

 

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraMySQLReleaseNotes/AuroraMySQL.Updates.3080.html

반응형

'AWS > Aurora' 카테고리의 다른 글

[Aurora mysql v3] innodb_flush_log_at_trx_commit check  (0) 2024.06.13

Temporary tables 관련 이슈

https://bugs.mysql.com/bug.php?id=98974

 

MySQL Bugs: #98974: InnoDB temp table could hurt InnoDB perf badly

 

bugs.mysql.com

 

반응형

'MySQL' 카테고리의 다른 글

EKS에서 Orchestrator 배포 가이드  (0) 2025.09.11
EKS에서 Orchestrator 배포 가이드  (0) 2025.09.11
[Percona] pt-query-digest 사용 방법  (0) 2021.10.28
[MySQL] InnoDB Adaptive Hash index [펌]  (0) 2018.04.16
[MySQL] ARCHIVE Engine  (0) 2017.07.19

+ Recent posts