Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
goaccess — GoAccess एक वास्तविक समय वेब लॉग विश्लेषक और इंटरैक्टिव दर्शक है जो *nix प्रणालियों में टर्मिनल में या आपके ब्राउज़र के माध्यम से चलता है। | Kitploit
उपकरण/GitHubGitHub/allinurl/goaccess
सामान्य उपयोगिताएँगोपनीयताविसंगति का पता लगानालॉग विश्लेषण
GitHuballinurl/goaccess

goaccess

GoAccess एक वास्तविक समय वेब लॉग विश्लेषक और इंटरैक्टिव दर्शक है जो *nix प्रणालियों में टर्मिनल में या आपके ब्राउज़र के माध्यम से चलता है।

रिपॉजिटरी देखें
20.8k1.2k1 दिन पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
वेबसाइट

GoAccess C build GoAccess

यह क्या है?

GoAccess एक ओपन सोर्स, रीयल-टाइम वेब लॉग विश्लेषक और इंटरैक्टिव दर्शक है जो *nix सिस्टम पर टर्मिनल में या सीधे आपके ब्राउज़र में चलता है। इसे सिस्टम प्रशासकों, DevOps इंजीनियरों, और सुरक्षा पेशेवरों को ध्यान में रखकर डिज़ाइन किया गया है, यह तुरंत तेज़, कार्रवाई योग्य HTTP आँकड़े और दृश्य सर्वर रिपोर्ट प्रदान करता है। GoAccess आपके वेब सर्वर लॉग को रीयल टाइम में पार्स करता है और डेटा को सीधे टर्मिनल में या लाइव HTML डैशबोर्ड के माध्यम से प्रस्तुत करता है, जिससे ट्रैफ़िक की निगरानी करना, विसंगतियों का पता लगाना, और समस्याओं का तुरंत निवारण करना आसान हो जाता है।

अधिक जानकारी: https://goaccess.io।

GoAccess Terminal Dashboard GoAccess HTML Dashboard

विशेषताएँ

GoAccess निर्दिष्ट वेब लॉग फ़ाइल को पार्स करता है और डेटा को X टर्मिनल पर आउटपुट करता है। विशेषताओं में शामिल हैं:

  • पूरी तरह से रीयल टाइम
    सभी पैनल और मीट्रिक्स टर्मिनल आउटपुट पर हर 200 मिलीसेकंड और HTML आउटपुट पर हर सेकंड अपडेट होने के लिए समयबद्ध हैं।

  • न्यूनतम कॉन्फ़िगरेशन आवश्यक
    आप इसे अपनी एक्सेस लॉग फ़ाइल पर चला सकते हैं, लॉग प्रारूप चुन सकते हैं और GoAccess को एक्सेस लॉग पार्स करने और आँकड़े दिखाने दे सकते हैं।

  • एप्लिकेशन प्रतिक्रिया समय ट्रैक करें
    अनुरोध को पूरा करने में लगने वाले समय को ट्रैक करें। यदि आप उन पृष्ठों को ट्रैक करना चाहते हैं जो आपकी साइट को धीमा कर रहे हैं तो यह अत्यंत उपयोगी है।

  • वेबसॉकेट प्रमाणीकरण:
    GoAccess उन्नत वेबसॉकेट प्रमाणीकरण प्रदान करता है, जो स्थानीय और बाहरी JWT सत्यापन, सुरक्षित टोकन रिफ्रेश क्षमताओं और बाहरी प्रमाणीकरण प्रणालियों के साथ सहज एकीकरण का समर्थन करता है।

  • लगभग सभी वेब लॉग प्रारूप
    GoAccess किसी भी कस्टम लॉग प्रारूप स्ट्रिंग की अनुमति देता है। पूर्वनिर्धारित विकल्पों में Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront आदि शामिल हैं।

  • वृद्धिशील लॉग प्रोसेसिंग
    डेटा स्थिरता चाहिए? GoAccess में डिस्क पर स्थिरता विकल्पों के माध्यम से वृद्धिशील रूप से लॉग प्रोसेस करने की क्षमता है।

  • केवल एक निर्भरता
    GoAccess C में लिखा गया है। इसे चलाने के लिए, आपको केवल ncurses की निर्भरता की आवश्यकता है। बस इतना ही। इसमें अपना स्वयं का वेब सॉकेट सर्वर भी है — http://gwsocket.io/।

  • आगंतुक
    घंटे या तारीख के अनुसार हिट्स, आगंतुकों, बैंडविड्थ और सबसे धीमी चलने वाले अनुरोधों के मीट्रिक्स निर्धारित करें।

  • प्रति वर्चुअल होस्ट मीट्रिक्स
    क्या आपके पास कई वर्चुअल होस्ट (सर्वर ब्लॉक) हैं? इसमें एक पैनल है जो प्रदर्शित करता है कि कौन सा वर्चुअल होस्ट अधिकांश वेब सर्वर संसाधनों का उपभोग कर रहा है।

  • ASN (स्वायत्त प्रणाली संख्या मैपिंग)
    दुर्भावनापूर्ण ट्रैफ़िक पैटर्न का पता लगाने और उन्हें तदनुसार ब्लॉक करने के लिए बढ़िया।

  • रंग योजना अनुकूलन योग्य
    GoAccess को अपनी रंग पसंद/योजनाओं के अनुरूप बनाएं। या तो टर्मिनल के माध्यम से, या HTML आउटपुट पर स्टाइलशीट लागू करके।

  • बड़े डेटासेट के लिए समर्थन
    GoAccess में अपनी अनुकूलित इन-मेमोरी हैश तालिकाओं के कारण बड़े लॉग को पार्स करने की क्षमता है। इसका मेमोरी उपयोग बहुत अच्छा है और प्रदर्शन काफी अच्छा है। इस स्टोरेज में डिस्क पर स्थिरता का भी समर्थन है।

  • डॉकर समर्थन
    अपस्ट्रीम से GoAccess की Docker इमेज बनाने की क्षमता। आप वॉल्यूम मैपिंग का उपयोग करके और संपादित करके इसे पूरी तरह से कॉन्फ़िगर कर सकते हैं। नीचे अनुभाग देखें। का उपयोग करने के लिए दस्तावेज़ भी है।

लगभग सभी वेब लॉग प्रारूप...

GoAccess किसी भी कस्टम लॉग प्रारूप स्ट्रिंग की अनुमति देता है। पूर्वनिर्धारित विकल्पों में शामिल हैं, लेकिन इन्हीं तक सीमित नहीं:

  • Amazon CloudFront (डाउनलोड वितरण)।
  • Amazon Simple Storage Service (S3)
  • AWS Elastic Load Balancing
  • संयुक्त लॉग प्रारूप (XLF/ELF) Apache | Nginx
  • सामान्य लॉग प्रारूप (CLF) Apache
  • Google Cloud Storage.
  • Apache वर्चुअल होस्ट
  • Squid नेटिव प्रारूप।
  • W3C प्रारूप (IIS)।
  • Caddy का JSON संरचित प्रारूप।
  • Traefik का CLF स्वरूप

GoAccess क्यों?

GoAccess को एक तेज़, टर्मिनल-आधारित लॉग विश्लेषक के रूप में डिज़ाइन किया गया था। इसका मुख्य विचार बिना ब्राउज़र का उपयोग किए वेब सर्वर आँकड़ों का तुरंत विश्लेषण और देखना है (यदि आप SSH के माध्यम से अपने एक्सेस लॉग का त्वरित विश्लेषण करना चाहते हैं, या यदि आप केवल टर्मिनल में काम करना पसंद करते हैं तो बढ़िया)।

यह सुरक्षा निगरानी के लिए एक व्यावहारिक उपकरण के रूप में भी कार्य करता है, जो सीधे आपके लॉग से संदिग्ध गतिविधि, असामान्य ट्रैफ़िक पैटर्न, ब्रूट-फोर्स प्रयासों, स्कैनर, बॉट और विषम अनुरोधों को देखना आसान बनाता है।

जबकि टर्मिनल आउटपुट डिफ़ॉल्ट आउटपुट है, इसमें एक पूर्ण, आत्म-निहित, रीयल-टाइम HTML रिपोर्ट, साथ ही JSON, और CSV रिपोर्ट उत्पन्न करने की क्षमता है।

आप इसे किसी भी चीज़ से अधिक एक मॉनिटर कमांड उपकरण के रूप में देख सकते हैं।

स्थापना

Packaging status

रिलीज़ से बिल्ड करें

GoAccess को *nix सिस्टम पर संकलित और उपयोग किया जा सकता है।

निम्नलिखित के साथ GoAccess डाउनलोड, निकालें और संकलित करें:

root@kitploit:~
$ wget https://tar.goaccess.io/goaccess-1.10.2.tar.gz
$ tar -xzvf goaccess-1.10.2.tar.gz
$ cd goaccess-1.10.2/
$ ./configure --enable-utf8 --enable-geoip=mmdb --with-zlib
$ make
# make install

GitHub से बिल्ड करें (विकास)

root@kitploit:~
$ git clone https://github.com/allinurl/goaccess.git
$ cd goaccess
$ autoreconf -fiv
$ ./configure --enable-utf8 --enable-geoip=mmdb
$ make
# make install

वितरण

अपने GNU+Linux वितरण के पसंदीदा पैकेज मैनेजर का उपयोग करके GoAccess को GNU+Linux पर स्थापित करना सबसे आसान है। कृपया ध्यान दें कि सभी वितरणों में GoAccess का नवीनतम संस्करण उपलब्ध नहीं होगा।

Debian/Ubuntu

root@kitploit:~
# apt-get install goaccess

नोट: यह संभवतः GoAccess का एक पुराना संस्करण स्थापित करेगा। यह सुनिश्चित करने के लिए कि आप GoAccess का नवीनतम स्थिर संस्करण चला रहे हैं, नीचे वैकल्पिक विकल्प देखें।

आधिकारिक GoAccess Debian और Ubuntu रिपॉजिटरी

root@kitploit:~
$ wget -O - https://deb.goaccess.io/gnugpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/goaccess.gpg >/dev/null
$ echo "deb [signed-by=/usr/share/keyrings/goaccess.gpg arch=$(dpkg --print-architecture)] https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/goaccess.list
$ sudo apt-get update
$ sudo apt-get install goaccess

नोट: * आधिकारिक रिपॉजिटरी में .deb पैकेज HTTPS के माध्यम से भी उपलब्ध हैं। आपको apt-transport-https स्थापित करने की आवश्यकता हो सकती है।

Fedora

root@kitploit:~
# yum install goaccess

Arch

root@kitploit:~
# pacman -S goaccess

Gentoo

root@kitploit:~
# emerge net-analyzer/goaccess

OS X / Homebrew

root@kitploit:~
# brew install goaccess

FreeBSD

root@kitploit:~
# cd /usr/ports/sysutils/goaccess/ && make install clean
# pkg install sysutils/goaccess

OpenBSD

root@kitploit:~
# cd /usr/ports/www/goaccess && make install clean
# pkg_add goaccess

openSUSE

root@kitploit:~
# zypper ar -f obs://server:http http
# zypper in goaccess

OpenIndiana

root@kitploit:~
# pkg install goaccess

pkgsrc (NetBSD, Solaris, SmartOS, ...)

root@kitploit:~
# pkgin install goaccess

Windows

GoAccess का उपयोग Windows में Cygwin के माध्यम से किया जा सकता है। Cygwin के पैकेज देखें। या Windows 10 पर GNU+Linux सबसिस्टम के माध्यम से।

Docker

एक Docker इमेज अपडेट की गई है, जो एक्सेस लॉग से आउटपुट को निर्देशित करने में सक्षम है। यदि आप केवल एक रिपोर्ट आउटपुट करना चाहते हैं, तो आप बाहरी वातावरण से एक लॉग को Docker-आधारित प्रक्रिया में पाइप कर सकते हैं:

root@kitploit:~
touch report.html
cat access.log | docker run --rm -i -v ./report.html:/report.html -e LANG=$LANG allinurl/goaccess -a -o report.html --log-format COMBINED -

या रीयल-टाइम

root@kitploit:~
tail -F access.log | docker run -p 7890:7890 --rm -i -e LANG=$LANG allinurl/goaccess -a -o report.html --log-format COMBINED --real-time-html -

docker-compose का उपयोग करने के लिए दस्तावेज़ भी है।

अलग कंटेनर में बिल्ड करें

आप अपने स्थानीय सिस्टम को विकास लाइब्रेरियों से अव्यवस्थित होने से बचाने के लिए एक अलग कंटेनर वातावरण में Debian-आधारित सिस्टम के लिए बाइनरी भी बना सकते हैं:

root@kitploit:~
$ curl -L "https://github.com/allinurl/goaccess/archive/refs/heads/master.tar.gz" | tar -xz && cd goaccess-master
$ docker build -t goaccess/build.debian-12 -f Dockerfile.debian-12 .
$ docker run -i --rm -v $PWD:/goaccess goaccess/build.debian-12 > goaccess

आप DOCKER.md में Docker इमेज का उपयोग करने के बारे में अधिक पढ़ सकते हैं।

वितरण पैकेज

GoAccess की न्यूनतम आवश्यकताएं हैं, यह C में लिखा गया है और केवल ncurses की आवश्यकता है। हालांकि, नीचे कुछ वितरणों में स्रोत से GoAccess बनाने के लिए कुछ वैकल्पिक निर्भरताओं की तालिका है।

नोट: स्रोत से सॉफ़्टवेयर संकलित/निर्माण करने के लिए आपको gcc, autoconf, gettext, autopoint आदि जैसे बिल्ड टूल स्थापित करने की आवश्यकता हो सकती है। उदाहरण के लिए, base-devel, build-essential, "Development Tools"।

भंडारण

डिफ़ॉल्ट हैश तालिकाएँ

इन-मेमोरी स्टोरेज डेटासेट के आकार को उपलब्ध भौतिक मेमोरी की मात्रा तक सीमित करने की कीमत पर बेहतर प्रदर्शन प्रदान करता है। GoAccess इन-मेमोरी हैश तालिकाओं का उपयोग करता है। इसका मेमोरी उपयोग बहुत अच्छा है और प्रदर्शन काफी अच्छा है। इस स्टोरेज में डिस्क पर स्थिरता का भी समर्थन है।

कमांड लाइन / कॉन्फ़िग विकल्प

वे विकल्प देखें जो कमांड को दिए जा सकते हैं या कॉन्फ़िगरेशन फ़ाइल में निर्दिष्ट किए जा सकते हैं। यदि कॉन्फ़िगरेशन फ़ाइल में निर्दिष्ट किया गया है, तो लंबे विकल्पों का -- लगाए बिना उपयोग किया जाना चाहिए।

उपयोग / उदाहरण

नोट: GoAccess में डेटा पाइप करने से लॉग/दिनांक/समय कॉन्फ़िगरेशन डायलॉग प्रदर्शित नहीं होगा, आपको इसे पहले अपनी कॉन्फ़िगरेशन फ़ाइल या कमांड लाइन में परिभाषित करना होगा।

आरंभ करना

टर्मिनल पर आउटपुट करने और एक इंटरैक्टिव रिपोर्ट उत्पन्न करने के लिए:

root@kitploit:~
# goaccess access.log

HTML रिपोर्ट उत्पन्न करने के लिए:

root@kitploit:~
# goaccess access.log -a > report.html

JSON रिपोर्ट फ़ाइल उत्पन्न करने के लिए:

root@kitploit:~
# goaccess access.log -a -d -o report.json

stdout पर CSV रिपोर्ट उत्पन्न करने के लिए:

root@kitploit:~
# goaccess access.log --no-csv-summary -o csv

GoAccess रीयल-टाइम फ़िल्टरिंग और पार्सिंग के लिए बड़ी लचीलापन भी प्रदान करता है। उदाहरण के लिए, goaccess शुरू होने के बाद से लॉग की निगरानी करके समस्याओं का त्वरित निदान करने के लिए:

root@kitploit:~
# tail -f access.log | goaccess -

और इससे भी बेहतर, रीयल-टाइम विश्लेषण को संरक्षित करने के लिए एक खुला पाइप बनाए रखते हुए फ़िल्टर करने के लिए, हम tail -f और एक मिलान पैटर्न टूल जैसे grep, awk, sed, आदि का उपयोग कर सकते हैं:

root@kitploit:~
# tail -f access.log | grep -i --line-buffered 'firefox' | goaccess --log-format=COMBINED -

या फ़िल्टर लागू करते हुए पाइप को खुला रखते हुए फ़ाइल की शुरुआत से पार्स करने के लिए

root@kitploit:~
# tail -f -n +0 access.log | grep -i --line-buffered 'firefox' | goaccess -o report.html --real-time-html -

एकाधिक लॉग फ़ाइलें

GoAccess के साथ एकाधिक लॉग पार्स करने के कई तरीके हैं। सबसे सरल है कमांड लाइन पर एकाधिक लॉग फ़ाइलें पास करना:

root@kitploit:~
# goaccess access.log access.log.1

नियमित फ़ाइलों को पढ़ते समय पाइप से फ़ाइलों को पार्स करना भी संभव है:

root@kitploit:~
# cat access.log.2 | goaccess access.log access.log.1 -

नोट: कमांड लाइन पर एकल डैश जोड़ा जाता है ताकि GoAccess को पता चले कि उसे पाइप से पढ़ना चाहिए।

अब यदि हम GoAccess में अधिक लचीलापन जोड़ना चाहते हैं, तो हम संपीड़ित और असंपीड़ित फ़ाइलों को पढ़ने के लिए zcat --force का उपयोग कर सकते हैं। उदाहरण के लिए, यदि हम सभी लॉग फ़ाइलों access.log* को प्रोसेस करना चाहते हैं, तो हम ऐसा कर सकते हैं:

root@kitploit:~
# zcat --force access.log* | goaccess -

नोट: Mac OS X पर, zcat के बजाय gunzip -c का उपयोग करें।

मल्टी-थ्रेड समर्थन

मल्टी-थ्रेड पार्सिंग सक्षम करने के लिए --jobs=<count> (या -j) का उपयोग करें। उदाहरण के लिए:

root@kitploit:~
# goaccess access.log -o report.html -j 4

और चंक आकार समायोजित करने के लिए --chunk-size=<256-32768> का उपयोग करें, डिफ़ॉल्ट चंक आकार 1024 है। उदाहरण के लिए:

root@kitploit:~
# goaccess access.log -o report.html -j 4 --chunk-size=8192

रीयल-टाइम HTML आउटपुट

GoAccess में HTML रिपोर्ट में रीयल-टाइम डेटा आउटपुट करने की क्षमता है। आप HTML फ़ाइल को ईमेल भी कर सकते हैं क्योंकि यह बिना किसी बाहरी फ़ाइल निर्भरता के एक एकल फ़ाइल से बनी है, कितना साफ-सुथरा है!

रीयल-टाइम HTML रिपोर्ट उत्पन्न करने की प्रक्रिया स्थिर रिपोर्ट बनाने की प्रक्रिया के समान है। इसे रीयल-टाइम बनाने के लिए केवल --real-time-html की आवश्यकता है।

root@kitploit:~
# goaccess access.log -o /usr/share/nginx/html/your_site/report.html --real-time-html

रिपोर्ट देखने के लिए आप http://your_site/report.html पर जा सकते हैं।

डिफ़ॉल्ट रूप से, GoAccess उत्पन्न रिपोर्ट के होस्ट नाम का उपयोग करेगा। वैकल्पिक रूप से, आप वह URL निर्दिष्ट कर सकते हैं जिससे क्लाइंट का ब्राउज़र कनेक्ट होगा। अधिक विस्तृत उदाहरण के लिए FAQ देखें।

root@kitploit:~
# goaccess access.log -o report.html --real-time-html --ws-url=goaccess.io

डिफ़ॉल्ट रूप से, GoAccess पोर्ट 7890 पर सुनता है, 7890 के अलावा किसी भिन्न पोर्ट का उपयोग करने के लिए, आप इसे इस प्रकार निर्दिष्ट कर सकते हैं (सुनिश्चित करें कि पोर्ट खुला है):

root@kitploit:~
# goaccess access.log -o report.html --real-time-html --port=9870

और WebSocket सर्वर को 0.0.0.0 के अलावा किसी भिन्न पते से बांधने के लिए, आप इसे इस प्रकार निर्दिष्ट कर सकते हैं:

root@kitploit:~
# goaccess access.log -o report.html --real-time-html --addr=127.0.0.1

नोट: TLS/SSL कनेक्शन पर रीयल टाइम डेटा आउटपुट करने के लिए, आपको --ssl-cert=<cert.crt> और --ssl-key=<priv.key> का उपयोग करना होगा।

फ़िल्टरिंग

तिथियों के साथ कार्य करना

एक और उपयोगी पाइप वेब लॉग से तिथियों को फ़िल्टर करना होगा

निम्नलिखित 05/Dec/2010 से फ़ाइल के अंत तक सभी HTTP अनुरोध प्राप्त करेगा।

root@kitploit:~
# sed -n '/05\/Dec\/2010/,$ p' access.log | goaccess -a -

या कल या परसों जैसी सापेक्ष तिथियों का उपयोग करके:

root@kitploit:~
# sed -n '/'$(date '+%d\/%b\/%Y' -d '1 week ago')'/,$ p' access.log | goaccess -a -

यदि हम केवल एक निश्चित समय-सीमा DATE a से DATE b तक पार्स करना चाहते हैं, तो हम ऐसा कर सकते हैं:

root@kitploit:~
# sed -n '/5\/Nov\/2010/,/5\/Dec\/2010/ p' access.log | goaccess -a -

यदि हम केवल एक निश्चित मात्रा में डेटा संरक्षित करना और भंडारण को रीसायकल करना चाहते हैं, तो हम केवल एक निश्चित संख्या में दिन रख सकते हैं। उदाहरण के लिए पिछले 5 दिनों को रखने और दिखाने के लिए:

root@kitploit:~
# goaccess access.log --keep-last=5

वर्चुअल होस्ट

मान लें कि आपके लॉग में वर्चुअल होस्ट फ़ील्ड है। उदाहरण के लिए:

root@kitploit:~
vhost.io:80 8.8.4.4 - - [02/Mar/2016:08:14:04 -0600] "GET /shop HTTP/1.1" 200 615 "-" "Googlebot-Image/1.0"

और आप यह देखने के लिए अनुरोध में वर्चुअल होस्ट जोड़ना चाहते हैं कि शीर्ष URL किस वर्चुअल होस्ट से संबंधित हैं:

root@kitploit:~
awk '$8=$1$8' access.log | goaccess -a -

ऐसा ही करने के लिए, लेकिन रीयल-टाइम फ़िल्टरिंग और पार्सिंग का भी उपयोग करें:

root@kitploit:~
tail -f  access.log | unbuffer -p awk '$8=$1$8' | goaccess -a -

वर्चुअल होस्ट की सूची को बाहर करने के लिए आप निम्नलिखित कर सकते हैं:

root@kitploit:~
# grep -v "`cat exclude_vhost_list_file`" vhost_access.log | goaccess -

फ़ाइलें, स्थिति कोड और बॉट

किसी अनुरोध के भीतर विशिष्ट पृष्ठों को पार्स करने के लिए, जैसे, पृष्ठ दृश्य, html, htm, php, आदि:

root@kitploit:~
# awk '$7~/\.html|\.htm|\.php/' access.log | goaccess -

ध्यान दें, $7 सामान्य और संयुक्त लॉग प्रारूप के लिए अनुरोध फ़ील्ड है, (वर्चुअल होस्ट के बिना), यदि आपके लॉग में वर्चुअल होस्ट शामिल है, तो आप शायद इसके बजाय $8 का उपयोग करना चाहेंगे। यह जांचना सबसे अच्छा है कि आप किस फ़ील्ड को लक्षित कर रहे हैं, उदाहरण के लिए:

root@kitploit:~
# tail -10 access.log | awk '{print $8}'

या किसी विशिष्ट स्थिति कोड को पार्स करने के लिए, जैसे, 500 (आंतरिक सर्वर त्रुटि):

root@kitploit:~
# awk '$9~/500/' access.log | goaccess -

या एकाधिक स्थिति कोड, जैसे, सभी 3xx और 5xx:

root@kitploit:~
# tail -f -n +0 access.log | awk '$9~/3[0-9]{2}|5[0-9]{2}/' | goaccess -o out.html -

और यह अनुमानित अवलोकन प्राप्त करने के लिए कि आपके सर्वर पर कितने बॉट (क्रॉलर) हिट कर रहे हैं:

root@kitploit:~
# tail -F -n +0 access.log | grep -i --line-buffered 'bot' | goaccess -

सुझाव

यह भी ध्यान देने योग्य है कि यदि हम GoAccess को कम प्राथमिकता पर चलाना चाहते हैं, तो हम इसे इस प्रकार चला सकते हैं:

root@kitploit:~
# nice -n 19 goaccess -f access.log -a

और यदि आप इसे अपने सर्वर पर स्थापित नहीं करना चाहते हैं, तो भी आप इसे अपनी स्थानीय मशीन से चला सकते हैं!

root@kitploit:~
# ssh -n root@server 'tail -f /var/log/apache2/access.log' | goaccess - --log-format=COMBINED

नोट: SSH को -n की आवश्यकता है ताकि GoAccess stdin से पढ़ सके। साथ ही, प्रमाणीकरण के लिए SSH कुंजियों का उपयोग करना सुनिश्चित करें क्योंकि यदि पासफ़्रेज़ की आवश्यकता है तो यह काम नहीं करेगा।

समस्या निवारण

हमें कई प्रश्न और समस्याएं प्राप्त होती हैं जिनका उत्तर पहले दिया जा चुका है।

  • दिनांक/समय मिलान समस्या? जांचें कि आपका लॉग प्रारूप और वह सिस्टम लोकेल जिसमें आप GoAccess चलाते हैं, मेल खाते हैं। #1571 देखें
  • पैटर्न मिलान में समस्या? रिक्त स्थान अक्सर समस्या होते हैं, उदाहरण के लिए #136, #1579 देखें
  • लॉग प्रविष्टियों से मिलान करने की अन्य समस्याएं: लॉग/दिनांक/समय प्रारूपों से संबंधित >200 बंद मुद्दे देखें
  • लॉग प्रोसेसिंग में समस्या? लॉग प्रोसेसिंग से संबंधित >111 मुद्दे देखें

वृद्धिशील लॉग प्रोसेसिंग

GoAccess में अपने आंतरिक भंडारण के माध्यम से वृद्धिशील रूप से लॉग प्रोसेस करने और अपने डेटा को डिस्क पर डंप करने की क्षमता है। यह निम्नलिखित तरीके से काम करता है:

  1. डेटासेट को पहले --persist के साथ स्थायी किया जाना चाहिए, फिर उसी डेटासेट को इसके साथ लोड किया जा सकता है।
  2. --restore। यदि नया डेटा पास किया जाता है (पाइप किया गया या लॉग फ़ाइल के माध्यम से), तो यह इसे मूल डेटासेट में जोड़ देगा।
नोट्स

GoAccess सभी प्रोसेस की गई फ़ाइलों के inode का ट्रैक रखता है (यह मानते हुए कि फ़ाइलें एक ही विभाजन पर रहेंगी), इसके अतिरिक्त, यह लॉग से डेटा का एक अंश और प्रत्येक फ़ाइल की पार्स की गई अंतिम पंक्ति और पार्स की गई अंतिम पंक्ति का टाइमस्टैम्प निकालता है। उदा., inode:29627417|line:20012|ts:20171231235059

पहले, यह जांचता है कि अंश पार्स किए जा रहे लॉग से मेल खाता है या नहीं, यदि ऐसा है, तो यह मान लेता है कि लॉग में नाटकीय रूप से बदलाव नहीं हुआ है, जैसे, छोटा नहीं किया गया है। यदि inode वर्तमान फ़ाइल से मेल नहीं खाता है, तो यह सभी पंक्तियों को पार्स करता है। यदि वर्तमान फ़ाइल inode से मेल खाती है, तो यह शेष पंक्तियों को पढ़ता है और पार्स की गई पंक्तियों की गणना और टाइमस्टैम्प को अपडेट करता है। एक अतिरिक्त सावधानी के रूप में, यह संग्रहीत टाइमस्टैम्प से ≤ टाइमस्टैम्प वाली लॉग पंक्तियों को पार्स नहीं करेगा।

पाइप किया गया डेटा पढ़ी गई अंतिम पंक्ति के टाइमस्टैम्प के आधार पर काम करता है। उदाहरण के लिए, यह सभी आने वाली प्रविष्टियों को पार्स और त्याग देगा जब तक कि इसे संग्रहीत टाइमस्टैम्प के >= का टाइमस्टैम्प नहीं मिल जाता।

उदाहरण
root@kitploit:~
// पिछले महीने का एक्सेस लॉग
# goaccess access.log.1 --persist

फिर, इसे इसके साथ लोड करें

root@kitploit:~
// इस महीने का एक्सेस लॉग जोड़ें, और नया डेटा संरक्षित करें
# goaccess access.log --restore --persist

केवल स्थायी डेटा पढ़ने के लिए (नए डेटा को पार्स किए बिना)

root@kitploit:~
# goaccess --restore

योगदान देना ##GoAccess पर किसी भी प्रकार की सहायता का स्वागत है। सबसे उपयोगी तरीका है इसे आज़माना और प्रतिक्रिया देना। कृपया GitHub issue tracker और pull requests का उपयोग करके चर्चा करने और कोड परिवर्तन प्रस्तुत करने में संकोच न करें।

आप हमारे अनुवादों में योगदान दे सकते हैं .po फ़ाइलों को सीधे GitHub पर संपादित करके या दृश्य इंटरफ़ेस inlang.com का उपयोग करके।

आनंद लें!

टूल डाउनलोड करें
goaccess.conf
Docker
docker-compose
DistroNCursesGeoIP (opt)GeoIP2 (opt)OpenSSL (opt)
Ubuntu/Debianlibncurses-devlibgeoip-devlibmaxminddb-devlibssl-dev
RHEL/CentOSncurses-develgeoip-devellibmaxminddb-developenssl-devel
Archncursesgeoiplibmaxminddbopenssl
Gentoosys-libs/ncursesdev-libs/geoipdev-libs/libmaxminddbdev-libs/openssl
SlackwarencursesGeoIPlibmaxminddbopenssl