Share
## https://sploitus.com/exploit?id=6971DEF7-28AF-541B-B738-6BCEBE5821EA
# πŸ”­ OpenTelemetry eBPF & Journald Visualization Dashboard (PoC)

> **OpenTelemetry Collector, Journald systemd 둜그, eBPF 컀널 λͺ¨λ‹ˆν„°λ§μ„ μ—°λ™ν•˜μ—¬ ν”„λ‘ νŠΈμ—”λ“œ μ‹œκ°ν™” κ°€λŠ₯성을 검증(PoC)ν•˜λŠ” λͺ¨λ‹ˆν„°λ§ λŒ€μ‹œλ³΄λ“œ ν”„λ‘œμ νŠΈ**

λ³Έ ν”„λ‘œμ νŠΈλŠ” **ν”„λ‘ νŠΈμ—”λ“œ μ€‘μ‹¬μ˜ μ˜΅μ €λ²„λΉŒλ¦¬ν‹°(Observability) μ‹œκ°ν™” PoC**μž…λ‹ˆλ‹€. λ³„λ„μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ½”λ“œ μˆ˜μ • 없이(**Zero-Code**) Linux 컀널 레벨의 eBPF λ„€νŠΈμ›Œν¬/μ‹œμŠ€ν…œ λ©”νŠΈλ¦­κ³Ό `systemd-journald` 둜그λ₯Ό **OpenTelemetry Collector**둜 μˆ˜μ§‘Β·κ°€κ³΅ν•˜κ³ , 이λ₯Ό ν”„λ‘ νŠΈμ—”λ“œ λŒ€μ‹œλ³΄λ“œλ‘œ μ†μ‰½κ²Œ μ—°λ™ν•˜μ—¬ μ‹€μ‹œκ°„ μ‹œκ°ν™”ν•  수 μžˆλŠ” 데이터 ꡬ쑰 및 νŒŒμ΄ν”„λΌμΈ 흐름을 κ²€μ¦ν•©λ‹ˆλ‹€.

---

## 데λͺ¨ url

## 🎯 PoC λͺ©μ  및 핡심 검증 포인트 (PoC Objectives)

- **ν”„λ‘ νŠΈμ—”λ“œ μ‹œκ°ν™” 연동 검증**: OpenTelemetry ν‘œμ€€(OTLP)으둜 μˆ˜μ§‘λœ 컀널/μ‹œμŠ€ν…œ 데이터가 ν”„λ‘ νŠΈμ—”λ“œ 차트 및 νƒ€μž„λΌμΈUI에 μ μ ˆν•œ ꡬ쑰둜 λ§€ν•‘λ˜λŠ”μ§€ κ²€μ¦ν•©λ‹ˆλ‹€.
- **Zero-Code eBPF Telemetry**: μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 재배포 없이 Linux 컀널 μ˜μ—­μ˜ λ„€νŠΈμ›Œν¬ 흐름, νŒ¨ν‚· μ§€μ—°μ‹œκ°„, 트레이슀 데이터λ₯Ό 직접 μˆ˜μ§‘ν•˜μ—¬ μ‹œκ°ν™” λ°μ΄ν„°μ…‹μœΌλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€.
- **Systemd Journald Log Pipeline**: OS 및 μ‹œμŠ€ν…œ μ„œλΉ„μŠ€ 둜그λ₯Ό μ‹€μ‹œκ°„ μΊ‘μ²˜ν•˜μ—¬ ν”„λ‘ νŠΈμ—”λ“œ 둜그 슀트리밍 UI에 μ ν•©ν•œ JSON/OTLP 규격으둜 λ³€ν™˜ν•©λ‹ˆλ‹€.
- **Unified OTel Collector**: 단일 OpenTelemetry Collectorμ—μ„œ Trace, Metric, Log νŒŒμ΄ν”„λΌμΈμ„ κ°€κ³΅ν•˜μ—¬ μ‹œκ°ν™” 도ꡬ(Grafana, μ»€μŠ€ν…€ Web UI λ“±)둜 μ „λ‹¬ν•˜λŠ” μ•„ν‚€ν…μ²˜λ₯Ό ν…ŒμŠ€νŠΈν•©λ‹ˆλ‹€.

---

## πŸ› οΈ 기술 μŠ€νƒ (Tech Stack)

| ꡬ뢄                         | 기술 / 도ꡬ                 | κΈ°λŠ₯ 및 μ—­ν•                                                         |
| ---------------------------- | --------------------------- | ------------------------------------------------------------------- |
| **Frontend / Visualization** | **Grafana / Custom Web UI** | PoC용 μ‹€μ‹œκ°„ λŒ€μ‹œλ³΄λ“œ 및 컀널/둜그 톡합 μ‹œκ°ν™” ν™”λ©΄                 |
| **Telemetry Standard**       | **OpenTelemetry**           | 벀더 쒅속성 μ—†λŠ” λ©”νŠΈλ¦­/둜그/트레이슀 톡합 μˆ˜μ§‘ ν‘œμ€€                |
| **Collector**                | **OTel Collector Contrib**  | `journald` receiver 및 eBPF exporter/processorκ°€ ν¬ν•¨λœ ν™•μž₯ μ½œλ ‰ν„° |
| **Kernel Monitoring**        | **eBPF (OBI / Netobserv)**  | Linux Kernel 레벨 νŠΈλž˜ν”½ 뢄석 및 μ‹œμŠ€ν…œ 콜 좔적                     |
| **Log Collector**            | **Systemd Journald**        | λ¦¬λˆ…μŠ€ OS 레벨 μ‹œμŠ€ν…œ 및 μ„œλΉ„μŠ€ ν‘œμ€€ 둜그 μˆ˜μ§‘                      |
| **Container Engine**         | **Docker & Docker Compose** | PoC ν™˜κ²½μ˜ μ‹ μ†ν•œ ꡬ좕 및 ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•œ μ»¨ν…Œμ΄λ„ˆ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜     |

---

## πŸ—οΈ PoC μ•„ν‚€ν…μ²˜ (PoC Architecture)

```text
 [ Linux Kernel Space ]          [ Systemd Services ]
+----------------------+        +--------------------+
|  eBPF Probes & Maps  |        |  systemd-journald  |
+----------+-----------+        +---------+----------+
           | (Kernel Metrics/Trace)       | (System Logs)
           v                              v
+----------------------------------------------------+
|        OpenTelemetry Collector (Engine)            |
|                                                    |
|  [ Receivers: eBPF / Journald ]                    |
|             |                                      |
|             v                                      |
|  [ Processors: Batch / Filter / Tagging ]          |
|             |                                      |
|             v                                      |
|  [ Exporters: OTLP / Prometheus / JSON ]           |
+--------------------------+-------------------------+
                           |
                           v
+----------------------------------------------------+
|            Frontend Visualization Layer            |
|    (PoC Dashboard: Real-time Charts & Log View)    |
+----------------------------------------------------+

```

---

## πŸ“Š λŒ€μ‹œλ³΄λ“œ UI ꡬ성 (Dashboard Panel Breakdown)

ν”„λ‘ νŠΈμ—”λ“œ 화면은 톡합 λͺ¨λ‹ˆν„°λ§ λͺ¨μ˜ ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•΄ μ•„λž˜μ™€ 같이 νŒ¨λ„μ΄ κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

| 타일 (Tile) | μ‹œκ°ν™” ν•­λͺ©                 | μ„€λͺ… 및 차트 νƒ€μž…                                                            |
| ----------- | --------------------------- | ---------------------------------------------------------------------------- |
| **Panel 1** | eBPF 컀널 λ„€νŠΈμ›Œν¬ νŠΈλž˜ν”½   | μ†ŒμŠ€/λͺ©μ μ§€ IP별 컀널 λ ˆμ΄μ–΄ νŒ¨ν‚· 전솑λ₯  μ‹œκ°ν™” (**Bar / Line Chart**)       |
| **Panel 2** | eBPF RTT μ§€μ—°μ‹œκ°„ 뢄석      | 컀널 νŒ¨ν‚· μ§€μ—° 및 λ„€νŠΈμ›Œν¬ 병λͺ© 검증 (**Heatmap / Trend Chart**)             |
| **Panel 3** | Journald 둜그 μ‹€μ‹œκ°„ 슀트림 | `journald` 기반 μ‹œμŠ€ν…œ μ—λŸ¬ 및 μ„œλΉ„μŠ€ λ™μž‘ 둜그 좔적 (**Log Timeline View**) |
| **Panel 4** | OTel μˆ˜μ§‘κΈ° λ©”νŠΈλ¦­ μƒνƒœ     | μˆ˜μ§‘κΈ° 자체 λ¦¬μ†ŒμŠ€ μ‚¬μš©λŸ‰ 및 데이터 처리 속도 λͺ¨λ‹ˆν„°λ§ (**Gauge Chart**)     |

---

## πŸš€ μ‹œμž‘ν•˜κΈ° (Getting Started)

### 1. 사전 μš”κ΅¬μ‚¬ν•­ (Prerequisites)

- **OS**: Linux (eBPF λͺ¨λ‹ˆν„°λ§μ„ μœ„ν•΄ **Linux Kernel 5.4 이상** ꢌμž₯)
- **Tools**: Docker & Docker Compose v2.x 이상
- **Privileges**: eBPF 컀널 μ ‘κ·Ό 및 Journald μ†ŒμΌ“ 쑰회λ₯Ό μœ„ν•œ `root` λ˜λŠ” `CAP_SYS_ADMIN` κΆŒν•œ

### 2. μ €μž₯μ†Œ 클둠 및 PoC ν™˜κ²½ ꡬ동

```bash
# 1. μ €μž₯μ†Œ 클둠
git clone https://https://github.com/kspark-prj/Enterprise-apm-poc.git
cd Enterprise-apm-poc

### 3. ν”„λ‘ νŠΈμ—”λ“œ λŒ€μ‹œλ³΄λ“œ 접속

μ»¨ν…Œμ΄λ„ˆ μ‹€ν–‰ μ™„λ£Œ ν›„ λΈŒλΌμš°μ €λ₯Ό 톡해 μ‹œκ°ν™” 화면을 ν…ŒμŠ€νŠΈν•  수 μžˆμŠ΅λ‹ˆλ‹€.

---

## πŸ“ λΌμ΄μ„ μŠ€ (License)

이 ν”„λ‘œμ νŠΈλŠ” [MIT License](https://www.google.com/search?q=LICENSE)λ₯Ό λ”°λ¦…λ‹ˆλ‹€.
```