This repo contains the software for the paper "TEEMon: A continuous performance monitoring framework for TEEs"
https://dl.acm.org/doi/10.1145/3423211.3425677
- TeeMon requires the linux kernel to be of version 4.15.0-99 or newer.
- Install dependencies:
docker-compose, docker.io, and linux-headers - Check if
/usr/src/linux-headers-$(uname -r)/include/uapi/linux/bpf_perf_event.his available on the host. - Adapt user:
sudo adduser XXX docker. Log out, log in. - Install the monitoring SGX driver:
curl -fsSL https://raw.githubusercontent.com/scontain/SH/master/install_sgx_driver.sh | bash -s - install --force -p metrics
- Run:
./start.sh - Check running containers:
docker psshould contain "prometheus, grafana, sgx-exporter, node-exporter, ebpf-exporter, cadvisor" - Open:
http://localhost:9091
- To adjust the dashboard open
http://localhost/login:9091and login withadminandadminadmin - Directly persisting your changes is not yet supported. Grafana will tell you to use the clipboard.
- You need to paste your changes into
grafana/provisioning/dashboards/*and restart TeeMon
- On the SGX-Dashboard you need no use the "command filter" (top-left), eg.
*.redis.*(regex) to show data in some of the graphs (eg.Number of syscall_enter). - Be careful not to use
.*. It will overload your browser! - The
ebpf_exportercurently tracks all processes. - The "command filter" works on the first 16 characters of the process' command (similar to what
topshows).