목록분류 전체보기 (466)
나의 잡다한 노트 및 메모
Traffic요청량 ( Requests per second ) → O초당 처리되는 HTTP 요청 수동시 접속 수 ( Active Connections )현재 서비스에 연결된 클라이언트 수대역폭 사용량 ( Throughput )초당 들어오고 나가는 바이트 수Latency평균 응답 시간 ( Average Latency )전체 요청의 평균 응답 시간백분위 응답 시간 → O사용자 체감 성능을 나타내는 지표지연 시간 분포 히스토그램topk느린 api top 10 이런식으로 확인가능할듯Erros오류율전체 요청 대비 4xx/5xx 응답 비율Availability서비스 헬스 체크외부/내부 헬스 체크 HTTP 응답 상태Saturation애플리케이션에 한정해서 해야하는걸까??리소스 사용률. 이거는 node-exporter..
Grafana Alloy는 Grafana Labs에서 개발한 오픈소스 Telemetry Collector로, 특히 OpenTelemetry Collector(OTel Collector)의 분배판(distribution)이면서, Prometheus 파이프라인 등도 내장한 제품입니다. 즉, 로그(logs)·메트릭(metrics)·트레이스(traces)·프로파일(profiles)까지 “모든 신호(all signals)”를 수집·처리·전송할 수 있도록 설계된 통합형 수집기로 볼 수 있어요. 주요 기능 및 특징다양한 신호 유형 지원: 메트릭, 로그, 트레이스, 프로파일을 모두 수집하고 처리할 수 있어요.Prometheus 및 OpenTelemetry 호환성: Prometheus 스크래핑 및 원격 쓰기(remote..
Postgrest PG DB를 REST API 서버로 만들어주는 웹 서버.그래서 테이블/뷰/함수를 REST 엔드포인트로 자동 매핑해준다.예시를 들면, SELECT, INSERT, UPDATE, DELETE 같은 SQL 작업을 GET/POST/PATCH/DELETE 같은 HTTP 메서드로 노출하는 API 게이트웨이, 미들웨어 역할을 한다.자동 생성된 API 사용 예GET /tasks → SELECT * FROM tasks;POST /tasks → INSERT INTO tasks ...PATCH /tasks?id=eq.10 → UPDATE tasks SET ... WHERE id = 10DELETE /tasks?id=eq.10 → DELETE FROM tasks WHERE id = 10무엇을 보고 API를..
1. Executor의 역할Airflow 아키텍처를 아주 크게 보면:Webserver: UIScheduler: 언제 어떤 Task를 실행할지 결정Metadata DB: DAG/Task 상태 저장Executor: Task 실행을 위한 “실행 명령”을 담당Worker(있을 수도, 없을 수도): 실제로 Task를 수행하는 프로세스/컨테이너여기서 Executor는 Scheduler와 Worker 사이의 브리지 역할을 합니다.조금 더 구체적으로:Scheduler가 TaskInstance를 “scheduled/queued” 상태로 만든다.Executor는 이 정보를 보고:어떤 Task를 지금 실행할지 결정 (슬롯, pool, concurrency 고려)어떤 방식으로 실행할지 결정 (로컬 프로세스, Celery 큐,..
rye shell 제거예전엔 rye shell로 가상환경에 진입했었는데 rye 개발팀이 shell 명령은 터미널 간의 PATH, SIGWINCH 등 복잡한 제어를요구하기 때문에 구현이 불안정하다며 제거 의사를 밝혔다.그래서 가상환경 활성화는 직접 source .venv/bin/activate 하도록 권장하고 있다. 최신 Rye 주요 명령어 정리아래는 현재 Rye에서 제공하는 주요 명령어들이에요 (공식 문서 기준)명령어 역할 / 설명rye init새 프로젝트 초기화 (pyproject.toml 생성 등)rye pin 프로젝트에 사용할 Python 버전 고정rye fetch (또는 rye toolcha..
1. kind이 리소스가 무슨 종류의 오브젝트인지를 지정합니다.Kubernetes는 여러 가지 리소스 타입(kind) 을 지원합니다. 대표적으로:🔹 워크로드 (Workloads)PodDeploymentReplicaSetStatefulSetDaemonSetJobCronJob🔹 서비스 및 네트워킹 (Services & Networking)ServiceIngressEndpointSliceNetworkPolicy🔹 설정 및 보안 (Configuration & Security)ConfigMapSecretResourceQuotaLimitRangeRole, ClusterRoleRoleBinding, ClusterRoleBindingServiceAccount🔹 스토리지 (Storage)PersistentVolu..
1. TCP backlog란?서버 소켓(listen())을 열면, 커널은 **연결 대기 큐(listen queue)**를 만듭니다.backlog는 그 큐의 최대 길이를 말합니다.즉, 클라이언트가 SYN을 보내고 → 서버가 SYN-ACK까지 보냈지만 → 애플리케이션이 아직 accept()하지 않은 연결이 몇 개까지 쌓일 수 있느냐를 결정하는 값입니다.👉 쉽게 말하면: “동시 접속자가 몰릴 때 대기열의 크기”2. 연결 큐는 두 가지 단계가 있음SYN queue (half-open queue)TCP 3-way handshake 중 아직 완료되지 않은 연결 (클라 SYN, 서버 SYN-ACK 후, 클라 ACK 대기 상태).커널 파라미터: net.ipv4.tcp_max_syn_backlog.accept queu..
📌 1. 리소스 조회 kubectl get nodes # 노드 상태 확인 kubectl get pods -A # 모든 네임스페이스의 파드 조회 kubectl get pods -n -o wide # 파드 상세 (노드, IP 등 추가 정보) kubectl get svc -n # 서비스 확인 kubectl get all -n # 해당 네임스페이스의 모든 리소스 📌 2. 리소스 상세 확인 & 디버깅 kubectl describe pod -n # 파드 상세 이벤트/상태 확인 kubectl logs -n # 파드 로그 확인 kubectl logs -c # 특정 컨테이너 로그 kubectl exec -it -n -- sh # 파드 안으로 들어가서 쉘 실행 kubectl top pod -n #..