Episode ini membangun observability untuk container: status runtime dengan lxc-info, pemantauan resource via cgroup, integrasi Prometheus (node_exporter per container) dan Zabbix, serta log LXC di /var/log/lxc/, journal per container, dan log boot.

Container kalian sudah banyak, dan "banyak" berarti butuh mata yang terus menonton. Di episode 20 kita membangun observability: melihat status runtime, memantau resource per container, menghubungkan ke sistem monitoring populer (Prometheus/Zabbix), dan membaca log dengan benar. Tanpa ini, kalian hanya akan tahu container bermasalah setelah user yang melapor.
Perintah paling cepat untuk melihat keadaan container:
lxc-info -n c1
lxc-ls -flxc-info -n c1 -s menampilkan ringkasan state secara ringkas — berguna dalam skrip:
lxc-info -n c1 -sUntuk skrip monitor sederhana:
if [ "$(lxc-info -n c1 -s | awk '{print $2}')" = "RUNNING" ]; then
echo "c1 UP"
else
echo "c1 DOWN"
fiAngka resource sejati ada di cgroup (episode 7). Baca langsung untuk nilai akurat:
cat /sys/fs/cgroup/lxc/c1/memory.current
cat /sys/fs/cgroup/lxc/c1/memory.max
cat /sys/fs/cgroup/lxc/c1/cpu.maxsystemd-cgtopsystemd-cgtop menampilkan penggunaan CPU/memory tiap cgroup secara live — alat tercepat untuk menemukan container yang "makan" resource.
Tip
Cara paling akurat mengukur "container yang sudah melampaui limit" adalah membandingkan memory.current vs memory.max, dan melihat apakah memory.events mencatat oom_kill. Angka oom_kill yang naik adalah tanda pasti proses di dalam container dibunuh karena memory limit (episode 7).
Cara paling sederhana memonitor container dengan Prometheus: jalankan node_exporter di dalam setiap container, lalu minta Prometheus melakukan scrape ke IP masing-masing. Container yang memakai systemd bisa menjalankannya sebagai service biasa.
lxc-attach -n c1 -- apt install prometheus-node-exporter
lxc-attach -n c1 -- systemctl enable --now prometheus-node-exporterscrape_configs:
- job_name: "lxc-containers"
static_configs:
- targets:
- "10.0.3.10:9100" # c1
- "10.0.3.11:9100" # c2
labels:
group: "homelab"node_memory_MemAvailable_bytes vs limit container.node_cpu_seconds_total untuk pola beban.node_filesystem_avail_bytes untuk disk dalam container.Jika tidak ingin menaruh agent di tiap container, scrape dari host lewat metrik cgroup (menggunakan exporter kustom atau node_exporter dengan --collector.cgroups). Kurang detail, tapi lebih ringan — pilih sesuai kebutuhan.
Zabbix menawarkan pendekatan agent-based serupa: install Zabbix agent di dalam container, tambahkan host di Zabbix, dan pantau metrik standar OS. Untuk monitoring LXC dari sisi host, Zabbix juga bisa memakai item kustom yang menjalankan lxc-info atau membaca file cgroup.
lxc-info -n c1 -sKombinasikan dengan trigger alert: "container DOWN", "memory > 90% limit", atau "oom_kill > 0" — ini yang membuat monitoring berguna, bukan sekadar dashboard yang indah.
LXC menulis log operasional di /var/log/lxc/:
ls /var/log/lxc/
tail -50 /var/log/lxc/c1.logLog ini berisi jejak operasi lxc-start, lxc-stop, dan kesalahan konfigurasi — baris pertama yang dibaca saat container gagal start.
Untuk container systemd, log service di dalam container tersimpan di journal-nya sendiri. Dari host, kalian bisa membaca langsung:
lxc-attach -n c1 -- journalctl -u sshd --no-pager -n 50lxc-attach -n c1 -- journalctl -bLog boot container (boot log dari init) bisa dilihat lewat console atau lxc-info:
lxc-console -n c1Tekan Ctrl+A lalu Q untuk keluar dari console kembali ke host.
Warning
Log runtime LXC (/var/log/lxc/) dan journal container adalah hal yang berbeda: yang pertama tentang operasi LXC itu sendiri (start/stop/config), yang kedua tentang service di dalam container. Saat "container gagal start", baca dulu /var/log/lxc/c1.log; saat "service di dalam container bermasalah", baca journal container.
Pola minimum yang bisa diandalkan:
memory.current melewati 90% memory.max.oom_kill bertambah.cat /sys/fs/cgroup/lxc/c1/memory.eventsInti yang harus dibawa pulang:
lxc-info -n c1 -s dan lxc-ls -f adalah status check tercepat.systemd-cgtop untuk live view.lxc-info./var/log/lxc/ untuk operasi LXC, journal per container untuk service, lxc-console untuk boot log.Di episode 21 selanjutnya kita akan membahas roadmap & community — arah pengembangan LXC (kernel terbaru, cgroup2, keamanan, koordinasi LTS 7.0 hingga 2031) dan kanal komunitas: linuxcontainers.org, GitHub lxc/lxc, forum discuss.linuxcontainers.org, serta IRC #lxc.