minecraft(26)
-
Elasticsearch DiskPressure 원인 분석: ILM 보관 정책으로 해결한 사례
Elasticsearch Pod Pending 문제를 해결한 이후에도 cluster 상태가yellow로 유지되는 현상이 발생했다.확인 결과 스케줄링 문제가 아니라 로그성 data stream 증가로 인한 디스크압박(DiskPressure) 이 원인이었다.이 글에서는 실제 운영 환경에서 발생한 문제를 기준으로인덱스 용량 확인 → ILM 설정 → 정리 과정까지 정리한다.🔍 1. 증상노드 상태 확인:kubectl describe node {=html}👉 DiskPressure 발생Elasticsearch 상태:kubectl get elasticsearch -n {=html}👉 Ready 상태지만 내부적으로 shard allocation 제한 발생⚠️ 2. 원인 확인 (인덱스 크기)Elasticsearch..
2026.04.25 -
Kubernetes에서 Slack Webhook을 안전하게 관리하는 방법 (Fluentd + Minecraft 알림)
Minecraft 서버 접속 로그를 기반으로 Slack 알림을 보내는 환경을 운영하던중, Slack Webhook URL이 Kubernetes manifest에 평문으로 포함된 문제를발견했다.처음에는 단순히 동작 여부만 확인했지만, 운영 환경에서는 보안과 관리방식이 더 중요하다.이 글에서는 실제 운영 환경에서 Webhook을 Git과 분리하고 안전하게 관리한방법을 정리한다.1. 기존 구조전체 흐름:Minecraft 로그 → Fluentd → 로그 필터 → Slack WebhookFluentd 설정 예시: @type slack webhook_url"#{ENV['SLACK_WEBHOOK_URL']}" {=html}2. 문제점기존 방식:kind: Secret stringData: webhook_url: "{=..
2026.04.25 -
[Paper 플러그인 실전 제작기 #05] 데이터 저장 1: YAML로 유저별 설정 저장
안녕하세요.1편에서 개발환경 세팅과 첫 플러그인 로딩,2편에서 명령어 시스템(/heal, 권한, 인자 파싱, 탭완성),3편에서 이벤트 처리,4편에서 config.yml로 기능 on/off + 메시지 커스터마이징을 다뤘다면,이번 5편에서는 실전 서버에서 바로 자주 쓰는 패턴인 유저별 데이터 저장을 만들어보겠습니다.이번 편의 핵심은 config.yml(서버 전체 설정)과 다르게,플레이어마다 다른 값을 YAML 파일로 저장/복원하는 구조를 만드는 것입니다.이번 예제에서 만들 기능은 아래 2가지입니다.플레이어별 알림 수신 여부 (notify)플레이어별 자동수리 사용 여부 (auto-repair)서버를 껐다 켜도 값이 유지되도록, 플레이어마다 UUID.yml 파일로 저장하겠습니다.이번 편 목표예제로 /pref 명..
2026.02.26 -
[Paper 플러그인 실전 제작기 #04] config.yml로 기능 on/off + 메시지 커스터마이징
안녕하세요.1편에서 개발환경 세팅과 첫 플러그인 로딩,2편에서 명령어 시스템(/heal, 권한, 인자 파싱, 탭완성),3편에서 이벤트 처리 실전을 다뤘다면,이번 4편에서는 실전 서버 운영에서 정말 자주 쓰는 기능을 만듭니다.바로 config.yml을 이용한:기능 on/off메시지 커스터마이징운영 중 설정 변경 반영(리로드)입니다.코드를 하드코딩으로만 만들면, 나중에 서버 운영할 때 작은 문구 하나 바꾸려고도 재빌드/재배포를 해야 합니다.이번 편에서 그 불편함을 줄여보겠습니다.이번 편 목표예제로 지난 편의 /heal 명령어를 확장합니다.config.yml에서 /heal 기능 자체를 켜고/끄기회복량(하트/체력) 설정값으로 관리안내 메시지(성공/권한 없음/비활성화) 커스터마이징/healreload 명령어로 설..
2026.02.25 -
Fluentd로 Slack 알림 연결하기 (Kubernetes + Minecraft 로그)
소개Kubernetes에서 특정 로그를 감지해 Slack으로 알림을 보내는 방법을 정리했습니다.예시는 Minecraft 로그의 joined the game 이벤트를 Slack으로 전달하는 구성입니다.1) Fluentd 이미지 준비Slack 플러그인을 포함한 Fluentd 이미지를 만듭니다.FROM fluent/fluentd:v1.16-1USER rootRUN fluent-gem install fluent-plugin-slack --no-document# Ruby 3.1 호환 shimRUN mkdir -p /fluentd/plugins \ && cat /fluentd/plugins/uri_unescape.rbrequire 'uri'unless URI.respond_to?(:unescape) modul..
2026.02.11 -
NMS 추가
다운로드curl -o BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar빌드# 원하는 버전으로 빌드java -jar BuildTools.jar --rev 1.20.1
2025.05.04