Saya ingin menghapus data whisper penyimpanan grafit tetapi tidak ada apa pun di dokumen grafit.
Salah satu cara yang saya lakukan adalah menghapus file /opt/graphite...../whispers/stats...
secara manual.
Tapi ini membosankan, jadi bagaimana cara melakukannya?
Jawaban:
saat ini menghapus file dari / opt / graphite / storage / whisper / adalah cara yang benar untuk menghapus data whisper.
Adapun sisi proses yang membosankan, Anda dapat menggunakan perintah find jika ada pola tertentu yang Anda coba hapus.
Pertanyaan serupa di Answers.launchpad.net/graphite
sumber
.wsp
file lama yang kadaluwarsa ?Saya kira ini akan masuk ke wilayah Kesalahan Server, tetapi saya menambahkan tugas cron berikut untuk menghapus metrik lama kami yang belum ditulis selama lebih dari 30 hari (misalnya, instance cloud yang telah dibuang):
Ini akan menghapus direktori yang memiliki data yang valid.
Pertama:
Dan kemudian hapus dirs kosong
Langkah terakhir ini harus diulang, karena mungkin direktori kosong baru akan ditinggalkan.
sumber
find /opt/graphite/storage/whisper -type f -mtime +120 -name \*.wsp -delete; find /opt/graphite/storage/whisper -depth -type d -empty -delete
Seperti yang ditunjukkan orang, menghapus file adalah cara yang harus dilakukan. Memperluas jawaban sebelumnya, saya membuat skrip ini yang menghapus file apa pun yang telah melebihi usia retensi maksimalnya. Jalankan
cronjob
secara teratur.Beberapa hal yang harus diperhatikan -
whisper-info
panggilan ini cukup berat. Untuk mengurangi jumlah panggilan ke sana, saya telah memasukkan konstanta MINRET, sehingga tidak ada file yang akan dipertimbangkan untuk dihapus hingga berumur 1 hari (24 * 60 * 60 detik) - sesuaikan agar sesuai dengan kebutuhan Anda. Mungkin ada hal lain yang dapat dilakukan untuk membagi pekerjaan atau secara umum meningkatkan efisiensinya, tetapi saya belum memerlukannya.sumber
Must specify a directory to clean
adalah pesan kesalahan. Karena itu, harus ditulis ke tempat yang benar:echo "Must ..." >&2
.