ग्रेफाइट कानाफूसी के डेटा को कैसे साफ करें?


89

मैं ग्रेफाइट के स्टोरेज व्हिस्पर के डेटा को हटाना चाहता हूं लेकिन ग्रेफाइट डॉक्स में कुछ भी नहीं है।

एक तरह से मैंने फ़ाइलों को /opt/graphite...../whispers/stats...मैन्युअल रूप से हटा रहा है ।

लेकिन यह थकाऊ है, तो मैं इसे कैसे करूं?


1
यदि वे उन्हें हटाने के बाद फिर से दिखाई देते हैं, तो इस अन्य प्रश्न की जांच करें: stackoverflow.com/questions/15501677/…
knocte

जवाबों:


72

वर्तमान में / ऑप्ट / ग्रेफाइट / भंडारण / कानाफूसी से फ़ाइलों को हटाना / कानाफूसी डेटा को हटाने का सही तरीका है।

इस प्रक्रिया के थकाऊ पक्ष के लिए, यदि आप एक निश्चित पैटर्न है जिसे निकालने की कोशिश कर रहे हैं, तो आप खोज कमांड का उपयोग कर सकते हैं।

/ ऑप्ट / ग्रेफाइट / स्टोरेज / कानाफूसी का पता लगाएं, loadavg.wsp -delete

इसी तरह के सवालों के जवाब answer.launchpad.net/graphite


3
मैं ग्रेफाइट + स्टैटस का उपयोग कर रहा हूं। मैंने इस तरह की कोशिश की और यह काम करता है, लेकिन थोड़ी देर के बाद बाल्टी को फिर से बनाया जाता है। किसी भी विचार क्यों और कैसे इसे रोकने के लिए?
डेविद वर्निज़ि

1
आप आँकड़े कैसे पुनः आरंभ करते हैं? मुझे प्रक्रियाओं की सूची में एक आँकड़े नहीं मिल रहा है, लेकिन मुझे यह समस्या आ रही है।
जेफ

यह ध्यान दिया जाना चाहिए कि अप्रयुक्त रास्तों को हटाने के बाद, ग्रेफाइट को स्वयं को पुनरारंभ करने की आवश्यकता नहीं है। स्टैट्सड एक अलग मुद्दा है, आगे बढ़ो और इसे पुनरारंभ करें, लेकिन ग्रेफाइट हटाए गए रास्तों के साथ ठीक काम करेगा। मैंने सोचा कि मुझे इसे स्पष्ट करना चाहिए क्योंकि यह किसी समय मेरे लिए एक कठिन चुनौती थी।
फ्लोरिन आंद्रेई

Search_index के बारे में क्या? क्या इसे भी हटा दिया जाना चाहिए या काट दिया जाना चाहिए?
मिरलॉन

2
क्या यह देखने का कोई तरीका नहीं है कि क्या सभी डेटा की समय सीमा समाप्त हो गई है (जैसे कि अधिकतम अपडेट अंतिम अपडेट के बाद बीत चुका है)? पुरानी एक्सपायर्ड .wspफाइलों को हटाने के लिए ?
डॉकवाट

49

मुझे लगता है कि यह सर्वर फॉल्ट क्षेत्र में जा रहा है, लेकिन मैंने हमारे पुराने मेट्रिक्स को हटाने के लिए निम्नलिखित क्रॉन जॉब को जोड़ा है जो 30 दिनों के लिए नहीं लिखा गया है (जैसे कि बादल के उदाहरण जो निपट गए हैं):

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 

और फिर खाली dirs को हटा दें

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
FYI करें ubuntu में रास्ता है / var / lib / ग्रेफाइट / कानाफूसी
knocte

क्या ऐसा करने के लिए हम tmpreaper का उपयोग नहीं कर सकते हैं?
ज़ेकी

7

जैसा कि लोगों ने बताया है, फ़ाइलों को हटाने का तरीका है। पिछले उत्तरों पर विस्तार करते हुए, मैंने यह स्क्रिप्ट बनाई जो किसी भी फ़ाइल को हटा देती है जो उसकी अधिकतम अवधारण आयु को पार कर गई है। इसे 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कॉल काफी हैवीवेट है। कॉल की संख्या को कम करने के लिए मैंने MINRET को स्थिर रखा है, ताकि किसी भी फ़ाइल को हटाने के लिए तब तक विचार नहीं किया जाएगा जब तक कि यह 1 दिन पुराना न हो (24 * 60 * 60 सेकंड) - अपनी आवश्यकताओं को पूरा करने के लिए समायोजित करें। वहाँ शायद अन्य चीजें हैं जो काम को तेज करने या आमतौर पर इसकी दक्षता में सुधार करने के लिए किया जा सकता है, लेकिन मुझे अभी तक इसकी आवश्यकता नहीं है।


नाइट: Must specify a directory to cleanएक त्रुटि संदेश है। जैसे, यह सही जगह लिखा जाना चाहिए echo "Must ..." >&2:।
विलियम पर्ससेल

यह बहुत अच्छा है!
Xero
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.