InfraGuard

서버 파라미터 스냅샷

인스턴스의 웹·DB·커널·애플리케이션·그외 5개 영역 설정값을 올려두고 AI 튜닝 질의의 근거로 쓰는 참조 스냅샷.

개요 — 무엇을 하나

Instances 카드의 [param] 버튼은 각 인스턴스의 서버 파라미터(설정값)를 infr_instance_param 에 스냅샷으로 올려둡니다. 이는 인스턴스 변수(Tools 매시업용 시크릿 사전)와 다릅니다 — 이건 nginx.conf·my.cnf·sysctl·php.ini·haproxy.cfg 같은 설정값을 참조용으로 보관해 AI 튜닝 진단의 근거로 쓰는 스냅샷입니다(시크릿이 아니며, 비밀 값은 프로브가 (redacted) 로 마스킹).

화면 구성

5개 영역 패널(--grid--5, 반응형 5→3→1열)로 나뉩니다.

영역 대상 엔진(예)
web nginx · apache
database mysql · mariadb · postgres
kernel linux (sysctl)
application php · php-fpm · python(gunicorn/uwsgi) · java(JVM)
misc haproxy · docker · kafka · elasticsearch · vsftpd

다중 엔진 공존 — engine 이 유니크 식별자에 포함됩니다(UNIQUE(instance_id, category, engine, name)). 한 호스트에 nginx+apache 또는 mysql+postgres 가 있어도 같은 이름 파라미터(예 max_connections)가 엔진별로 분리 저장돼 섞이지 않습니다. UI 는 영역 패널 안에서 엔진별로 그룹핑합니다.

사용법

두 가지 갱신 경로가 있습니다.

  1. 수동 add/edit — 패널 헤더의 [+]로 파라미터를 직접 입력.
  2. JSON import — 대상 호스트에서 프로브를 실행해 산출한 JSON 을 붙여넣기:
# Inventory ▸ Tools 에 시드된 로컬 프로브(크리덴셜 불필요·외부 호출 없음)
node infr_server_params_probe.cjs
# 출력 JSON → [param] ▸ JSON import 에 붙여넣어 일괄 upsert

프로브는 5축 화이트리스트로 핵심 튜닝값(메모리·워커·실행·타임아웃)만 수집합니다: 웹 nginx -T/apache conf · DB my.cnf/postgresql.conf 파일 파싱(접속 불필요) · 커널 sysctl · 애플리케이션 php -i/pool.d/gunicorn·JVM 힙(ps) · 그외 설정 파일. 비밀은 마스킹됩니다.

데이터 소스

node 제외 결정 — pm2/Node 앱은 "한 호스트 = 엔진별 단일 정본 설정" 모델에 맞지 않아(호스트당 여러 앱·ecosystem.config.js 는 앱 레포 귀속·배포마다 휘발) application 수집에서 제외됩니다. python/java 는 전통 배포에서 호스트당 1 앱서버·단일 JVM 으로 수렴해 유지합니다.

권한

조회 level≥1, 쓰기(저장·삭제·import) level≥2.

관련 항목

카드의 [param] 버튼
카드의 [param] 버튼