Skyfall, LinkedIn의 eBPF Agent
(engineering.linkedin.com)- 링크드인의 인프라는 여러개의 데이터센터에 걸쳐 수십만대의 서버로 구성
- 인프라가 커지면서 Observability는 인프라 장애 및 이상에 대한 잠재적인 원인을 정확히 찾아내는데 더 중요해짐
- eBPF를 이용하면 오버헤드를 최소화하면서 직접 원하는 정보를 추출가능
- 링크드인은 eBPF 에이전트를 Skyfall로 명명하고 거의 모든 서버에서 실행
Skyfall
- kprobes 와 kretprobes로 TCP/UDP 프로토콜 관련 정보를 수집
- tcp_set_state, tcp_v4_connect, tcp_v6_connect, inet_csk_accept
- ip4_datagram_connect, ip6_datagram_connect
- 수집한 데이터를 InFlow(자체 플로우 컬렉션/시각화 플랫폼)으로 UDP로 전송
- InFlow에서 Kafka로 보내고, HDFS에 저장하고, Samza를 통해서 Graph Data Store에 저장
eBPF는 제가 예전에 긱뉴스 팟캐스트에서 설명한게 있습니다.
→ https://www.youtube.com/watch?v=aCw0YwEHpCU&t=1892s
ㅤ