[작성자:] black K
-
EC2 SSH 로그인 이벤트 Slack 알림 설정하기 (CloudWatch Logs + Lambda)
운영 중인 EC2 서버에서 누가 SSH로 접속하는지는 중요한 보안 이벤트다. 단순 모니터링을 넘어서, 로그인 성공/실패 내역을 Slack으로 바로 받아보면 이상 징후에 빠르게 대응할 수 있다. 이번 글에서는 CloudWatch Logs → Subscription Filter → Lambda → Slack Webhook 흐름으로 알림을 구성하는 방법을 정리한다. 1. CloudWatch Agent 설치 및 로그 수집 우선 EC2의 SSH 로그를 CloudWatch Logs로…
-
RAID Chunk Size and Workload Strategies
When discussing storage performance, many focus only on RAID levels (0, 1, 5, 6, 10, etc.). However, one of the most overlooked yet critical factors that directly impacts real-world RAID performance is the RAID chunk size. Chunk size defines the smallest unit of data distributed across disks, and this value determines both the degree of…
-
RAID Chunk Size와 워크로드별 전략
스토리지 성능을 논할 때 많은 사람들이 RAID 레벨(0, 1, 5, 6, 10 등)만 생각한다. 하지만 실제로 RAID의 체감 성능을 크게 좌우하는 요소는 RAID chunk size다. chunk size는 데이터를 디스크에 분산 저장할 때 잘라내는 최소 단위로, 이 값에 따라 디스크의 참여율과 I/O 패턴이 달라진다. 결국 chunk size가 RAID의 읽기·쓰기 성능을 사실상 결정한다 해도 과언이 아니다. 읽기,…
-
Kubernetes + Zabbix Integration: Building a Dynamic Monitoring Dashboard with Grafana Variables (Query)
In a Kubernetes environment, monitoring Pod-level network traffic cannot rely on static queries alone. Pods, Hosts, and Groups are constantly changing. This is why leveraging Grafana’s Template Variable feature is essential. The example below is based on a Pod network monitoring dashboard I built using Zabbix + Grafana.You can adapt the same approach to fit…
-
Kubernetes + Zabbix 연동: Grafana 변수(Query)로 만드는 동적 모니터링 대시보드
Kubernetes 환경에서 Pod 단위의 네트워크 트래픽을 모니터링하려면, 단순히 고정된 쿼리만으로는 부족하다. Pod, Host, Group이 계속 바뀌기 때문이다. 그래서 Grafana의 템플릿 변수(Template Variable) 기능을 적극적으로 활용해야 한다. 아래 예시는 내가 실제 운영하고 있는 Zabbix + Grafana 환경에서 구성한 Pod 네트워크 모니터링 대시보드를 기반으로 설명한다.이 글을 참고삼아 응용해서 다양한 환경에서 grafana를 잘 적용할 수 있길 바란다. 1.…
-
An Operating System Is Essentially an L3 Device
Seeing an operating system only as an application runtime is a limited perspective. From a networking standpoint, Linux and Unix function as software-based L3(Layer 3) routers. The kernel receives packets, consults the routing table, determines the next hop, and forwards them through the right interface. At its core, this is no different from what a…
-
OS도 결국 하나의 L3 장비다
운영체제를 단순히 애플리케이션 실행 환경으로만 이해하는 것은 반쪽짜리 시각이다. Linux와 Unix는 네트워크 관점에서 보면 하나의 소프트웨어 기반 L3 라우터다. 커널은 패킷을 받아 라우팅 테이블을 조회하고, 다음 홉을 결정해 인터페이스로 내보낸다. 구조는 전용 라우터와 본질적으로 다르지 않다. 라우팅 테이블과 RIB 라우터가 유지하는 RIB(Routing Information Base)는 목적지 네트워크와 다음 홉, 인터페이스 정보를 저장한다. Linux의 라우팅 테이블이 정확히…
-
In-Depth Comparison of MetalLB Modes in Kubernetes: L2 vs BGP (with FRR Example)
1. Introduction In public cloud environments such as EKS, GKE, and AKS, a LoadBalancer Service is automatically mapped to the provider’s native load balancer.In an on-premises Kubernetes cluster, however, there is no built-in way to expose a Service with a dedicated external IP. This is where MetalLB comes in. MetalLB assigns a Service VIP (virtual…
-
Kubernetes에서 MetalLB 동작 모드 심층 비교: L2 vs BGP (FRR 예제 포함)
1. 서론 퍼블릭 클라우드 환경(EKS, GKE, AKS)에서는 LoadBalancer 타입 Service가 자동으로 클라우드 로드밸런서와 연결된다. 하지만 온프레미스 Kubernetes에서는 그런 기능이 기본적으로 없다. 이때 사용되는 대표 솔루션이 MetalLB다. MetalLB는 Kubernetes 클러스터에 **서비스 VIP(가상 IP)**를 할당하고, 외부 네트워크에서 접근할 수 있게 광고하는 역할을 한다. MetalLB는 두 가지 주요 모드를 제공한다: 두 모드는 구조적 차이, 확장성, 운영 난이도에서 차이가…
-
How to Monitor Airflow with Zabbix
Background The team I manage is divided into three parts: Cloud Engineers, DevOps, and Data Engineers.One day, a Data Engineer asked for the ability to receive alerts when Airflow DAGs fail. While Airflow’s Web UI can show the status of DAG runs, it doesn’t provide a direct way to trigger alerts.I searched for references, but…