ansible
Catatan teknis seputar web development, DevOps, dan integrasi AI.
15 artikel
- 09.59devops
Pagar permanen logrotate untuk btmp dan wtmp
Server internet-facing menumpuk log login gagal tanpa guard. Satu drop-in logrotate, direktif su, dan gerbang logrotate -d menutup masalahnya permanen.
TL;DR: Server yang kena brute-force login bikin btmp dan wtmp bengkak cepat, bisa tembus ratusan MB sebelum rotasi mingguan jalan. Solusinya pasang logrotate dengan weekly plus maxsize 50M biar file besar diputar lebih awal, tambah su root utmp buat hindari error izin direktori. Validasi dulu pakai logrotate -d biar config salah ketahuan sebelum produksi.
#logrotate#linux#ansible - 02.20devops
654M di /var/log dan Task Bukti yang Diam-diam Bohong
Playbook mingguan bilang OK tapi /var/log bengkak 654M: arsip btmp rotasi, file aktif yang di-truncate, dan pipe df yang nggak pernah jalan.
TL;DR: Disk /var/log bengkak diam-diam padahal playbook mingguan selalu lapor aman. Biang keroknya btmp, log login gagal yang numpuk gara-gara brute force SSH, fix-nya hapus arsip dan truncate file aktif biar sshd nggak perlu restart. Bonus: task bukti pakai modul command ternyata nggak memproses pipa, jadi harus diganti shell.
#ansible#linux#logrotate - 00.36security
Playbook Saya Bilang Changed, sshd Bilang Tetap Buka
Playbook hardening bilang changed, tapi sshd -T masih passwordauthentication yes: first-match-wins dan urutan Include membuat 50-cloud-init.conf menang.
TL;DR: Hardening SSH-nya gagal karena sshd pakai aturan first-match-wins: nilai pertama yang dibaca yang menang, bukan yang terakhir. File 50-cloud-init.conf isinya PasswordAuthentication yes dan urutan alfabetnya lebih dulu daripada drop-in-ku, jadi menang terus. Solusinya ganti nama jadi 00-hardening.conf, komen baris di config utama, dan selalu verifikasi pakai sshd -T.
#ssh#sshd#hardening - 00.36devops
Dua Pembunuh Senyap dalam Satu Deploy Ansible
Playbook Ansible mati karena apostrof di dalam block scalar, lalu host unreachable karena urutan penawaran key SSH. Dua pelajaran dari satu exit code 4.
TL;DR: Cron collector-nya mati gara-gara dua bug sekaligus: komentar dalam block scalar YAML ternyata bukan komentar beneran, dan apostrof di kata "today's" bikin Ansible gagal split argumen. Abis itu SSH kena "Too many authentication failures" karena key ed25519 ditolak duluan, jadi dia nambahin IdentitiesOnly=yes di ansible.cfg. Sekarang tiap exit code 4, dia cek dua itu duluan sebelum nyalahin jaringan.
#ansible#ssh#yaml - 17.16devops
Tiga Fix untuk Dashboard Monitoring Server yang Noise
Dashboard monitoring server jadi noise saat item perhatian puluhan tanpa organisasi. Tiga fix kecil mengubah grid datar jadi workflow yang bisa dipakai.
TL;DR: Dashboard monitoring punya terlalu banyak item perhatian di satu grid datar, jadi yang kritis susah ketemu. Penulis bikin tiga fitur: search dengan debounce di API, tombol filter severity, dan grouping item per server yang bisa di-collapse berdasarkan severity terburuk. Ketiganya bikin workflow jadi cepat, langsung keliatan masalah kritis tanpa scroll panjang.
#monitoring#ux#devops - 16.54devops
Menghitung Kecepatan Disk dari node_exporter
Pola delta dua sampel untuk menghitung kecepatan disk dan jaringan dari counter kumulatif node_exporter tanpa Prometheus.
TL;DR: Angka mentah dari node_exporter itu counter kumulatif, bukan kecepatan baca/tulis disk. Hitung pakai delta dua sampel dengan interval 2 detik supaya dapet angka KB/s yang bener. Server yang belum terpasang node_exporter cukup dilewati tanpa ganggu monitoring.
#node_exporter#ansible#monitoring