গ্রাফাইট হুইসারের ডেটা কীভাবে পরিষ্কার করবেন?


90

আমি গ্রাফাইটের স্টোরেজ হুইসারের ডেটা মুছতে চাই তবে গ্রাফাইট ডক্সে কিছুই নেই।

আমি একটি উপায় হ'ল /opt/graphite...../whispers/stats...ম্যানুয়ালি ফাইলগুলি মুছে ফেলা ।

তবে এটি ক্লান্তিকর, তাই আমি কীভাবে এটি করব?


4
: যদি তারা সেগুলি মুছে ফেলা হলে পরে আবার দেখা যায়, এই অন্য প্রশ্ন পরীক্ষা stackoverflow.com/questions/15501677/...
knocte

উত্তর:


73

বর্তমানে, / অপ্ট / গ্রাফাইট / স্টোরেজ / ফিসফিসি / থেকে ফাইলগুলি মুছে ফেলা ফিস ফিস তথ্য পরিষ্কার করার সঠিক উপায়।

প্রক্রিয়াটির ক্লান্তিকর দিকটি হিসাবে, যদি আপনার সরিয়ে দেওয়ার চেষ্টা করা হয় এমন কোনও নির্দিষ্ট প্যাটার্ন থাকে তবে আপনি ফাইন্ড কমান্ডটি ব্যবহার করতে পারেন।

সন্ধান / অপ্ট / গ্রাফাইট / স্টোরেজ / ফিস ফিস-নাম loadavg.wsp- মুছুন

উত্তর.লাঞ্চপ্যাড.এন.গ্রাফাইটের অনুরূপ প্রশ্ন


4
আমি গ্রাফাইট + স্ট্যাটসডি ব্যবহার করছি। আমি এইভাবে চেষ্টা করেছি এবং এটি কাজ করে, তবে কিছুক্ষণ পরে বালতিটি পুনরায় তৈরি করা হয়েছে। কোন ধারণা কেন এবং কিভাবে এটি বন্ধ করবেন?
ডেভিড ভার্নিজি

4
আপনি কীভাবে পুনরায় চালু করবেন? প্রক্রিয়াগুলির তালিকায় আমি একটি স্ট্যাটাসড খুঁজে পাচ্ছি না, তবে আমার এই সমস্যা হচ্ছে।
জেফ

এটি লক্ষ করা উচিত যে অব্যবহৃত পাথগুলি মোছার পরে গ্রাফাইট নিজেই পুনরায় আরম্ভ করতে হবে না। স্ট্যাটসডি একটি পৃথক সমস্যা, এগিয়ে যান এবং এটি পুনরায় চালু করুন, তবে গ্রাফাইট মুছে ফেলা পথগুলি ঠিকঠাক করবে। আমি ভেবেছিলাম আমার এটি পরিষ্কার করা উচিত কারণ এটি আমার জন্য কোনও সময় হোঁচট খেয়েছিল।
ফ্লোরিন আন্দ্রেই

সার্চ_ইনডেক্স সম্পর্কে কী? এটিও কি মুছে ফেলা বা কাটা উচিত?
মিরিলন

4
সমস্ত ডেটা মেয়াদ শেষ হয়ে গেছে কিনা তা দেখার কোনও উপায় নেই (উদাহরণস্বরূপ সর্বশেষ আপডেটের পরে ম্যাক্সরেটেনশন কেটে গেছে)? পুরানো মেয়াদোত্তীর্ণ .wspফাইলগুলি সরাতে ?
ডোকাট

49

আমি মনে করি এটি সার্ভার ফল্ট অঞ্চলে চলেছে, তবে আমি আমাদের পুরানো ম্যাট্রিকগুলি মুছে ফেলার জন্য নিম্নলিখিত ক্রোন কাজটি যুক্ত করেছি যা ৩০ দিনেরও বেশি সময় ধরে লিখিত হয়নি (যেমন মেঘের উদাহরণগুলি নিষ্পত্তি হয়েছে):

find /mnt/graphite/storage -mtime +30 | grep -E \
"/mnt/graphite/storage/whisper/collectd/app_name/[^/]*" -o \
| uniq | xargs rm -rf

এটি বৈধ ডেটা রয়েছে এমন ডিরেক্টরিগুলি মুছবে।

প্রথম:

find whisperDir -mtime +30 -type f | xargs rm 

এবং তারপরে খালি ডায়ারগুলি মুছুন

find . -type d -empty | xargs rmdir

এই শেষ পদক্ষেপটি পুনরাবৃত্তি করা উচিত, কারণ নতুন খালি ডিরেক্টরিগুলি বামে থাকতে পারে।


24
প্রায় সব আধুনিক ইউনিক্স সিস্টেমে বিল্টিনগুলি খুঁজে বের করে ঘন সম্ভব হওয়া উচিত - যেমনfind /opt/graphite/storage/whisper -type f -mtime +120 -name \*.wsp -delete; find /opt/graphite/storage/whisper -depth -type d -empty -delete
ক্রিস অ্যাডামস

4
উবুন্টু এফওয়াইআইটি পথটি হ'ল /
বর্ণ

এটি করার জন্য আমরা কী tmpreaper ব্যবহার করতে পারি না এমন কোনও কারণ আছে?
জেকি

7

লোকেরা যেমন উল্লেখ করেছে, ফাইলগুলি অপসারণ করার উপায় the পূর্ববর্তী উত্তরগুলিতে প্রসারিত করে, আমি এই স্ক্রিপ্টটি তৈরি করেছি যা যে কোনও ফাইল সরিয়ে দেয় যা তার সর্বোচ্চ ধারণের বয়স অতিক্রম করেছে। cronjobমোটামুটি নিয়মিত এটি চালান ।

#!/bin/bash
d=$1
now=$(date +%s)

MINRET=86400

if [ -z "$d" ]; then
  echo "Must specify a directory to clean" >&2
  exit 1
fi

find $d -name '*.wsp' | while read w; do
  age=$((now - $(stat -c '%Y' "$w")))
  if [ $age -gt $MINRET ]; then
    retention=$(whisper-info.py $w maxRetention)
    if [ $age -gt $retention ]; then
      echo "Removing $w ($age > $retention)"
      rm $w
    fi
  fi
done

find $d -empty -type d -delete

সচেতন হতে কয়েকটি বিট - whisper-infoকলটি বেশ ভারী ওজনের। এর কলগুলির সংখ্যা কমাতে আমি মাইনরেটকে ধ্রুবক রেখেছি যাতে কোনও ফাইল 1 দিনের পুরানো না হওয়া অবধি মুছে ফেলার জন্য বিবেচিত হবে না (24 * 60 * 60 সেকেন্ড) - আপনার প্রয়োজন অনুসারে সামঞ্জস্য করুন। সম্ভবত আরও কিছু জিনিস রয়েছে যা কাজটি তীক্ষ্ণ করতে বা সাধারণত এর দক্ষতা উন্নত করার জন্য করা যেতে পারে তবে আমার এখনও তেমন প্রয়োজন হয়নি।


নীট: Must specify a directory to cleanএকটি ত্রুটি বার্তা। যেমন, এটি সঠিক জায়গা লিখতে হবে: echo "Must ..." >&2
উইলিয়াম পার্সেল

এটা দুর্দান্ত tvvm!
xero
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.