Rsyslog va Journald
Kirish
Linux operatsion tizimida tizim holatini kuzatish va muammolarni aniqlash uchun log fayllar muhim ahamiyatga ega. Loglarni boshqarish va saqlash uchun eng ko‘p ishlatiladigan vositalar bu rsyslog va systemd-journald hisoblanadi.
rsyslog
rsyslog nima?
rsyslog — bu Linux va Unix tizimlarida log xabarlarini yig‘ish, saqlash, tahlil qilish va uzatish uchun ishlatiladigan kuchli va kengaytiriladigan tizim. U an’anaviy syslog protokoliga asoslangan, lekin ko‘plab qo‘shimcha imkoniyatlarga ega.
rsyslog asosiy imkoniyatlari
- Loglarni faylga, ma’lumotlar bazasiga yoki tarmoq orqali boshqa serverga uzatish
- Filtrlash va formatlash
- Modullar orqali kengaytirish
- TCP/UDP protokollari orqali loglarni uzatish
- Xavfsizlik va autentifikatsiya
rsyslog konfiguratsiyasi
Konfiguratsiya fayli odatda /etc/rsyslog.conf yoki /etc/rsyslog.d/ papkasida joylashgan bo‘ladi.
Misol:
authpriv.* /var/log/auth.log
mail.* -/var/log/mail.log
*.info;mail.none;authpriv.none;cron.none /var/log/messages
rsyslog xizmatini boshqarish
sudo systemctl start rsyslog
sudo systemctl stop rsyslog
sudo systemctl restart rsyslog
sudo systemctl status rsyslog
systemd-journald
journald nima?
systemd-journald — bu systemd tizimining bir qismi bo‘lib, log xabarlarini yig‘ish, indekslash va saqlashni amalga oshiradi. U an’anaviy syslogdan farqli ravishda loglarni binar formatda saqlaydi va ko‘plab zamonaviy imkoniyatlarga ega.
journald asosiy imkoniyatlari
- Loglarni binar formatda saqlash
- Loglarni tez va samarali qidirish
- Metadata (PID, UID, GID, va boshqalar) bilan boyitilgan loglar
- Loglarni tarmoq orqali uzatish
- Xavfsizlik va integratsiya
journald loglarini ko‘rish
Loglarni ko‘rish uchun journalctl utilitasi ishlatiladi.
Misollar:
journalctl # Barcha loglarni ko‘rish
journalctl -u nginx # Faqat nginx xizmatiga oid loglar
journalctl --since today # Bugungi loglar
journalctl -f # Real vaqt rejimida loglarni ko‘rish (tail)
journald konfiguratsiyasi
Konfiguratsiya fayli: /etc/systemd/journald.conf
Muhim parametrlar:
Storage=auto|persistent|volatile|noneSystemMaxUse=RuntimeMaxUse=
rsyslog va journald o‘rtasidagi farqlar
| Xususiyat | rsyslog | journald |
|---|---|---|
| Saqlash formati | Matnli (plain text) | Binar |
| Qidiruv | Oddiy (grep, awk) | Tez va metadata asosida |
| Kengaytirish | Modullar orqali | systemd integratsiyasi |
| Tarmoq orqali uzatish | Bor | Cheklangan |
| Konfiguratsiya | Moslashuvchan | Oddiy |
Xulosa
Linuxda loglarni boshqarish uchun rsyslog va journald eng asosiy vositalardan hisoblanadi. rsyslog ko‘proq an’anaviy va kengaytiriladigan tizim bo‘lsa, journald zamonaviy, tez va metadata bilan boyitilgan loglarni taqdim etadi. Tizim administratorlari o‘z ehtiyojlariga qarab ushbu vositalardan birini yoki ikkalasini birgalikda ishlatishlari mumkin.