Graylog, log yönetimi ve analiz süreçlerinde güçlü bir araçtır. Ancak zamanla sistemde biriken log verileri, disk kullanımını artırarak performans sorunlarına yol açabilir. Bu sorunun önüne geçmek için Graylog üzerinde indekslerin otomatik olarak silinmesini sağlayan bir Retention Policy (Tutma Politikası) yapılandırabilirsiniz. Bu makalede, Graylog’da indekslerin otomatik silinmesini nasıl ayarlayacağınızı ve gerektiğinde silme işlemini manuel olarak nasıl tetikleyeceğinizi adım adım açıklıyoruz.
Graylog, belirli bir yaşa ulaşan veya disk sınırını aşan indeksleri otomatik olarak temizlemenize olanak tanır. Bu işlemi gerçekleştirmek için aşağıdaki adımları izleyebilirsiniz:
http://<sunucu-adresi>:9000
).İndeks seti ayarlarında Retention Strategy bölümünde şu stratejileri kullanabilirsiniz:
Yapılandırmayı tamamladıktan sonra değişiklikleri kaydedin. Bundan sonra Graylog, ayarladığınız stratejiye uygun olarak eski indeksleri otomatik olarak temizleyecektir.
Otomatik işlemlerin dışında, manuel bir müdahale gerekirse aşağıdaki yöntemleri uygulayabilirsiniz:
Elasticsearch API’sini kullanarak indeksleri temizleyebilirsiniz:
curl -X GET "http://<elasticsearch-ip>:9200/_cat/indices?v"
curl -X DELETE "http://<elasticsearch-ip>:9200/<indeks_ismi>"
Örnek:
curl -X DELETE "http://192.168.0.104:9200/graylog_7"
Eğer indeksler kilitli durumda ise önce kilidi kaldırmanız gerekir:
curl -X PUT "http://<elasticsearch-ip>:9200/_all/_settings" -H 'Content-Type: application/json' -d '{"index.blocks.read_only_allow_delete": null}'
Bu işlemin ardından indeksleri yukarıdaki komutla silebilirsiniz.
Disk sınırına ulaşıldığında Elasticsearch otomatik olarak indeksleri kilitler. Bu sorunu önlemek için Elasticsearch’de disk kullanım limitlerini ayarlayın:
/etc/elasticsearch/elasticsearch.yml
dosyasına şu satırları ekleyin: cluster.routing.allocation.disk.watermark.low: "85%" # Uyarı seviyesi
cluster.routing.allocation.disk.watermark.high: "90%" # İndeksler kilitlenir
cluster.routing.allocation.disk.watermark.flood_stage: "95%" # Silme başlar
sudo systemctl restart elasticsearch
Manuel işlemleri otomatikleştirmek için bir cronjob kullanabilirsiniz. Örneğin, her gece eski indeksleri silmek için:
crontab -e
0 3 * * * curl -X DELETE "http://192.168.0.104:9200/graylog_7"
Graylog’da indeks yönetimi, hem disk alanınızı verimli kullanmak hem de sistem performansını korumak için önemlidir. Bu makaledeki adımları uygulayarak log verilerinizi etkin bir şekilde yönetebilir ve sistem kaynaklarınızı optimize edebilirsiniz. Eğer sorularınız varsa veya daha fazla yardıma ihtiyaç duyuyorsanız, yorum bölümünden bize ulaşabilirsiniz!