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)λ₯Ό λ°λ¦
λλ€.
```