ELK Stack – பகுதி 4

Kibana

Kibana என்பதுElasticSearch-ல் இருக்கும் தரவுகளை வரைபடங்களாக மாற்றி வெளிப்படுத்தஉதவும் ஒரு Visual Interface ஆகும். ElasticSearch-ல் இருக்கும் தரவுகளை வைத்து ஒருசில முக்கிய முடிவுகளை எடுப்பதற்கு Kibana-வின் வரைபடங்கள் உதவுகின்றன. இதனை அறிக்கைக்கான கருவி (ReportingTool) என்றும் கூறலாம். அதாவது வெறும் எண்ணிக்கையினாலான தகவல்களை மட்டும்வைத்துக்கொண்டு ஒருசில முக்கிய முடிவுகளை எடுப்பது என்பது சற்று கடினமானவிஷயம். எனவேதான் Kibana-வானது அவற்றை அழகிய வரைபடங்களாக மாற்றி, அதனைப் பார்க்கும் போதே தரவுகளின் சாராம்சங்களைப் புரிந்து கொள்ளக் கூடியஅளவுக்கு சுலபமான வகையில் வெளிப்படுத்துகிறது. இத்தகைய வரைபடங்களைவைத்துக்கொண்டு நாம் எளிதில் அனைத்தையும் புரிந்து கொள்ள முடியும்.Microsoft Excel-ல் உள்ள graphs மற்றும் Reporting-காகவே வடிவமைக்கப்பட்டஇன்னபிற கருவிகள்கூட இவ்வேலையைத்தான் செய்யும் என்றாலும், அவைகளால் அதிகபட்சம் ஒரு மில்லியன் வரைதான் தரவுகளைத் தாங்க முடியும். அதற்கும் மேலாகதரவுகள் வரும்போது அவை படுத்துவிடும். ஆனால் Kibana-வோ சிறப்பாகசெயல்படும். அதிக எண்ணிக்கையிலான தரவுகளையும் வரைபடங்களாக மாற்றுவதற்குKibana-வே சிறப்பாக அமைகிறது.

இது உலாவியில் இயங்கக்கூடிய கருவி ஆகும். பொதுவாக 5601எனும் Port எண்ணில் இயங்கிக் கொண்டிருக்கும். இதில் Management, Discover, Visualize, Dashboard ஆகிய முக்கியப் பகுதிகள் உள்ளன. இவை ஒவ்வொன்றின் செயல்பாடுகளைப் பற்றியும் பின்வருமாறு காணலாம்.


I. Management
Kibana உலாவியில் இயங்கத் தொடங்கியவுடன் இப்பகுதிதான் default-ஆக வந்து அமையும். இதுவே ES-ல் உள்ள index-ஐ kibana-க்குள் ஏற்றம் செய்தல், ஏற்றம் செய்த index-ஐ kibana-விலிருந்து நீக்குதல், வரைபடங்களாக சேமிக்கப்பட்டவற்றைப் பட்டியலிடுதல் மற்றும் அவைகளில் தேவையில்லாதவற்றை நீக்குதல் போன்ற அனைத்து விதமான “ஆக்கல், அழித்தல், நிர்வகித்தல்” போன்ற வேலைகளைச் செய்கிறது. இதில் உள்ள ‘Index Pattern’ என்பதன் மீது சொடுக்கினால் ‘Configure an Index Pattern’ எனும் பக்கம் வெளிப்படும்.

ES– க்குள் தற்போது interviews, earthquakes, twitter_elastic_example ஆகிய 3 indices உள்ளன. இவை அனைத்தையும் kibana-க்குள் ஏற்றம் செய்வதற்கான படிகள் பின்வருமாறு அமையும்.

1. Index name or pattern எனக் கேட்கும் பெட்டியில் interviews -எனக் கொடுக்கவும். இதையடுத்து தானாகவே இதில் உள்ள DOB எனும் field கீழிறக்கப் பெட்டியிலிருந்து தேர்வு செய்யப்படுவதைக் காணலாம்.


2. பொதுவாக kibana-க்குள் ஏற்றம் செய்யப்படும் நிகழ்வுகள் அனைத்தும் காலநேர அடிப்படையில்தான் காட்சிப்படுத்தப்படுகின்றன. எனவே நமது index-ல் காலநேர மதிப்பினைப் பெற்று விளங்கக் கூடிய ஒரு field  இயல்பாகவே தேர்வு செய்யப்பட்டு வெளிப்படுகிறது. இதை நாம் நீக்க விரும்பினால் ‘Index contains time-based events’ எனும் தேர்வினை நீக்கி விடவும். இது பின்வருமாறு அமையும்.


3. இப்போது Create எனும் பொத்தானின் மீது சொடுக்கவும். இது interviews-ல் உள்ள நிகழ்வுகள் அனைத்தையும் பின்வருமாறு ஏற்றம் செய்து வெளிப்படுத்தும். இந்த interviews-ன் இடப்புறத்தில் ஒரு நட்சத்திரக்குறி இருப்பதை கவனிக்கவும். இது default index என்பதைக் குறிக்கிறது. அதாவது Discover, Visualize போன்ற kibana- வின் மற்ற பகுதிகளுக்குச் செல்லும்போது இதன் தரவுகள் தான் default-ஆக வெளிப்படும்.


4. இதே முறையில் earthquakes, twitter_elastic_example ஆகியவற்றையும் ஏற்றம் செய்து விடவும். ஆனால் இவைகளை காலநேர அடிப்படையிலான நிகழ்வுகளாக ஏற்றம் செய்யவும். அதாவது இயல்பாக இருக்கும் ‘Index contains time-based events’ எனும் தேர்வினை நீக்கி விடாமல், தானாகவே வெளிப்படும் @timestamp எனும் மதிப்பினையும் மாற்றிவிடாமல், create-ன் மீது சொடுக்கவும்.


5. இப்போது Management-பக்கத்தின் இடப்புறத்தில் நாம் ஏற்றம் செய்த அனைத்து index-ன் பட்டியலையும் காணலாம். பொதுவாக முதலில் ஏற்றம் செய்யப்படுவதுதான் default index-ஆக அமையும். இதை நாம் மாற்ற விரும்பினால் இடப்புறப் பட்டியலிலிருந்து நமக்கு வேண்டிய index-ஐ தேர்வு செய்து வலது கோடியில் உள்ள நட்சத்திரக்குறி மீது சொடுக்கவும். இங்கு twitter_elastic_example என்பது default-ஆக மாற்றப்பட்டுள்ளது.


II. Discover

இப்பகுதியில் Kibana-க்குள் ஏற்றம் செய்யப்பட்ட அனைத்து indices மற்றும் அவைகளின் முழுமையான தரவுகள் அனைத்தும் காணப்படும். இதிலிருந்து நமக்கு வேண்டிய தரவினை மட்டும் தேடி எடுத்து அத்தரவுத் தொகுப்புக்கு ஒரு பெயர் வைத்து சேமித்து வைத்துக்கொள்ளலாம். பின்னர் தேவைப்படும் நேரங்களில் அப்பெயரின் மீது சொடுக்கினால் அத்தரவுத் தொகுப்புகள் நமக்கு வெளிப்படுவதைக் காணலாம். இதனை நாம் பிறருடன் பகிர்ந்து கொள்ளவும் செய்யலாம். இவற்றில் உள்ள முக்கியப் படிகள் பின்வருமாறு.

1. இப்பகுதியில் default-ஆக தேர்வு செய்யப்பட்டுள்ள twitter_elastic_example எனும் index-ன் தரவுகள் காணப்பட வேண்டும். ஆனால் இங்கே ‘No results found’ என்பது வெளிப்பட்டுள்ளது. என்ன காரணம் என்று பார்த்தால் New, Save, Open, Share, Auto-refresh ஆகியவை அமைந்துள்ள பொத்தான்களின் வரிசையில் கடைசியாக ‘Last 15 minutes’ எனும் கால-நேர வகை தேர்வு செய்யப்பட்டுள்ளது. இது Kibana-வின்  இயல்பான தேர்வு ஆகும். அதாவது கடைசி 15 நிமிடத்திற்குள் ES-ல் செலுத்தப்பட்ட தரவுகள் மட்டுமே இங்கு வெளிப்பட வேண்டும் என்று அர்த்தம். ஆனால் இத்தரவுகள் ES-ல் செலுத்தப்பட்டு கிட்டத்தட்ட 1 மாதம் ஆகியிருக்கும். எனவே இதற்கேற்றார் போன்ற ஒரு கால-நேர வகையைத் தேர்வு செய்ய வேண்டும். பின்வரும் 3 விதங்களில் இதனை நாம் தேர்வு செய்யலாம்.

1.1 Quick: சுருக்காக ஒரு குறிப்பிட்ட கால இடைவெளியில் அமையும் தரவுகளை வெளிப்படுத்துவதற்கு இவ்வகை உதவும். இதில் தென்படும் கால-நேர மதிப்புகளை மேற்கண்ட படத்தில் காணலாம்.
1.2 Relative: இதில் உள்ள மதிப்புகள் எதிலிருந்து எதுவரை என்று நம்மிடம் கேட்பது போல் பின்வருமாறு அமையும்.

1.3 நமக்கு வேண்டிய தரவுகளை தேதி, நேர மற்றும் நிமிட சுத்தமாகப் பெறுவதற்கு இவ்வகை உதவும். இது பின்வருமாறு.

Quick-லிருந்து ‘Last 30 days’ என்று தேர்வு செய்யும்போது தரவுகள் வெளிப்படுவதைக் காணலாம்.

2. இதில் தரவுகள் அனைத்தும் Time , Source எனும் 2 பிரிவுகளின் கீழ் வெளிப்பட்டுள்ளத்தைக் காணலாம். ஏனெனில் நாம் இதனை ஏற்றம் செய்யும்போதே Time based events-ஆக அமைத்துள்ளோம். இங்கு வெளிப்பட்டுள்ள வரைபடமும் இதன் அடிப்படையிலேயே அமைந்துள்ளது.
ஆனால் இந்த வரைபடத்துக்கும் தரவுகளுக்கும் உள்ள ஒரே ஒரு வித்தியாசம் என்னவெனில், அனைத்துத் தரவுகளும் Aug 25-ம் தேதியில் ES-க்குள் செலுத்தப்பட்டிருப்பதால் அந்தத் தேதியில் மட்டும் bar வரையப்பட்டுள்ளத்தை கவனிக்கவும். ஆனால் வெளிப்பட்டுள்ள தரவகளோ அந்த ஒரே தேதியில் அமையாமல் வினாடி நேர வேறுபாட்டின் அடிப்படையில் அமைந்துள்ளது. இதேபோன்று வரைப்படத்தையும் மாற்ற அதன் இயல்பான தேர்வான Auto என்பதனை Millisecond என்று மாற்றி விடவும். பின்னர் அந்த ஒரே ஒரு bar வரையப்பட்டுள்ள பகுதியின் மீது cursor மூலம் drag செய்து விட்டால், அப்பகுதியில் உள்ள தரவுகள் அனைத்தும் வினாடி நேர வித்தியாசத்தில் பிரிக்கப்படுவதைக் காணலாம். இது பின்வருமாறு.

3. அடுத்ததாக ஒருசில முக்கியத் தரவுகளை மட்டும் எவ்வாறு எடுத்து வைத்துக்கொள்வது என்று பார்க்கலாம். twitter_elastic_example எனும் index-ல் “விநாயகர் சதுர்த்தி” என்று tweet செய்தவர்களின் தரவுகள் அனைத்தும் இடம்பெற்றுள்ளது. இதில்,  எத்தனைபேர் #Vinayakar என்று பதிவிட்டுள்ளனர் எத்தனை பேர் k-க்குப் பதிலாக g-ஐப் பயன்படுத்தி #Vinayagar என்று பதிவிட்டுள்ளனர்  எத்தனை பேர் #Ganesh எனும் வார்த்தையைப் பயன்படுத்தி பதிவிட்டுள்ளனர்
என்று தேடி அவற்றை தனித்தனியாக சேமிக்கப் போகிறோம். தேடலுக்கான பெட்டியில் Vinayakar எனக் கொடுத்து தேடவும். 2 பேர் இவ்வாறு பதிவிட்டுள்ளனர் என்று பின்வருமாறு வெளிப்படுத்தும்.

இதனை Save-ன் மீது சொடுக்கி அதற்கான ஒரு பெயரை அளித்து (No.of.Vinayakar) சேமித்து வைத்துக்கொள்ளவும்.

4. பின்னர் மீண்டும் New-ன் மீது சொடுக்கி Vinayagar , Ganesh என்றெல்லாம் தேடி அவற்றையும் சேமித்து வைத்துக் கொள்ளவும்.


இப்போது,

  • No.of.Vinayakar எனும் பெயரில் 2 தரவுகளும்
  • No.of.Vinayagar எனும் பெயரில் 13 தரவுகளும்
  • No.of.Ganesh எனும் பெயரில் 420 தரவுகளும் சேமிக்கப்பட்டுள்ளன

இவ்வாறாக நமக்கு வேண்டிய தரவுகளை மட்டும் தேடி அதனை ஒரு பெயர் கொடுத்து சேமித்து வைத்துக் கொள்ளலாம். Open-ன் மீது சொடுக்கி நமக்கு வேண்டிய தரவுத் தொகுப்பினை எடுத்துக் கொள்ளலாம்.

5. Share என்பது நாம் சேமித்துள்ளவற்றை பிறருடனோ அல்லது பிற இடங்களிலோ பகிந்து கொள்ள உதவும். இதில்,

  • Share saved search எனும் வகையில் உள்ள இணைப்பைப் பயன்படுத்திப் பகிர்ந்தால், நாம் பகிரக்கூடிய நபரால் அதில் மாற்றம் செய்ய இயலும்.
  • Share Snapshot எனும் வகையில் பகிர்ந்தால், எவ்வித மாற்றமும் செய்ய இயலாது. அது ஒரு image-ஆக மட்டுமே பகிரப்படும்.


6. அடுத்ததாக interviews எனும் index-ஐ தேர்வு செய்தால் அது பின்வருமாறு வெளிப்படுவதைக் காணலாம்.


இதில் காணப்படும் தரவுகள் கால-நேர அடிப்படையில் பிரிக்கப்படவில்லை. எனவே அதற்கான வரைபடமும் இல்லை. ஏனெனில் இவை Kibana-க்குள் ஏற்றம் செய்யப்படும்போதே ‘இது time-based events அல்ல’ என்று கூறுவதுபோல் அத்தேர்வினை நீக்கிவிட்டே ஏற்றம் செய்தோம். ஆகவே வெறும் தரவுகள் மட்டுமே வெளிப்பட்டுள்ளது. இதேபோல் Discover-ல் அடுத்தடுத்த index-ஐ தேர்வு செய்து மேற்கூறிய அனைத்தையும் வெவ்வேறு தரவுகளுக்கு செய்து பார்க்கவும்.

III. Visualize

Visualize என்பது தரவுகளுக்கு ஏற்றார் போன்று வரைபடங்களை வரைந்து காட்டுகின்ற ஒரு பகுதி ஆகும். இதில் உள்ள படிகளைப் பின்வருமாறு காணலாம்.
1. முதலில் ‘Create a visualization’ என்பதின்மீது சொடுக்கவும்.

இது “எந்த வடிவில் உங்களுக்கு வரைபடங்கள் வேண்டும்” என்று கேட்பது போல் Select visualization type எனும் பக்கத்தினை வெளிப்படுத்தும். இதில் பல்வேறு விதமான வரைபட வகைகள் காணப்படும். இதில் ஒன்றை நாம் தேர்வு செய்ய வேண்டும். Pie என்பதனைத் தேர்வு செய்து கொள்ளவும்.

2. பின்னர் நாம் தேர்வு செய்திருக்கின்ற pie -க்கான மூலத் தரவுகளை நாம் புதிதாகத் தேடி எடுக்கப் போகின்றோமா அல்லது ஏற்கனவே தேடி எடுத்து வைத்த தரவுகளுக்கு வரைபடங்களை உருவாக்கப் போகின்றோமா என்று கேட்பது போல, From a New Search or From a Saved Search என்று 2 பகுதிகள் வெளிப்படும்.

  • From a New Search: Kibana- ல் உள்ள அனைத்து index-ன் பட்டியலும் இங்கு காணப்படும்.
  • From a Saved Search: நாம் சேமித்து வைத்த அனைத்துத் தரவுகளின் பட்டியலும் இங்கு காணப்படும்.

நாம் ‘From a New Search’ என்பதிலிருந்து twitter_elastic_example-என்பதனைத் தேர்வு செய்து கொள்ளலாம்.

3. பின்னர் எந்தெந்த நாடுகளிலிருந்து எவ்வளவு பேர் பதிவிட்டுள்ளனர் என்பதற்கான pie வரைபடம் பின்வருமாறு அமையும்.

4. இதனை ‘Country_wise_split’ என்று ஒரு பெயர் கொடுத்து சேமித்து வைத்துக் கொள்ளவும்.

5. இப்போது Visualize-ல் நாம் சேமித்து வைத்த வரைபடங்களின் பட்டியல் காணப்படும்.

இதே போன்று பல்வேறு வகையான வரைபடங்களை பல்வேறுபட்ட தரவுகளுக்கு வரைந்து பார்க்கவும்.

IV. Dashboard

Dashboard என்பது பல்வேறு  வரைபடங்களை ஒன்றாக இணைத்தோ அல்லது புதிதாக வரைபடங்களை வரைந்து அவற்றை ஒன்றுடன் ஒன்று இணைத்தோ காட்சிப்படுத்த உதவும் ஒரு செயல்பாடு ஆகும். பல்வேறு விதமான தரவுகளின் அடிப்படையில் உருவாக்கப்பட்ட வரைபடங்களின் தொகுப்பிற்கு Dashboard என்று பெயர்.  எடுத்துக்காட்டுக்கு twitter_elastic_example எனும் index-ல்,

  • மொத்தம் எத்தனை tweets செய்யப்பட்டுள்ளன
  • அவை எந்தெந்த நாடுகளிலிருந்து செய்யப்பட்டுள்ளன
  • அவற்றுள் Ganesh, Vinayakar, Vinayagar போன்ற வெவ்வேறு வார்த்தையைப் பயன்படுத்தி tweet செய்தவர்களின் மொத்த எண்ணிக்கை

ஆகிய 3 தனித்தனி விவரங்களை, 3 தனித்தனி வரைபடங்களாக வரைந்து அவற்றை ‘Twitter Dashboard’ எனும் பெயரில் தொகுத்து உருவாக்குவது எவ்வாறு என்று பின்வருமாறு காணலாம்.
1. முதலில் ‘Create a dashboard’ என்பதின்மீது சொடுக்கவும்.

2. Add Panels – என்பதில் கீழ்க்கண்ட இரு பிரிவுகள் காணப்படும்.

  • Visualization: இதில் வரைபடமாக மாற்றப்பட்ட தரவுகளின் பட்டியல் காணப்படும்.
  • Saved Search: இதில் discover பகுதியில் தேடி எடுத்து சேமித்து வைத்த தரவுகளின் பட்டியல் காணப்படும்.

இவற்றில் Visualization-ன் கீழ் அமைந்துள்ள Country_wise_split ன் மீது சொடுக்கினால் அது dashboard panel-ல் இணைக்கப்பட்டுவிடும். பின்னர் Add new Visualization-ன் மீது சொடுக்கி ஒரு புது வரைப்படத்தை உருவாக்கவும்.

3. இது எத்தனைபேர் Ganesh, Vinayakar, Vinayagar போன்ற வெவ்வேறு வார்த்தையைப் பயன்படுத்தி tweet செய்துள்ளனர் என்பதற்கான ‘Data Table’ வகையச் சேர்ந்த வரைபடம் ஆகும். இதனை Table எனும் பெயரில் சேமித்துக் கொள்ளவும்.

4. அவ்வாறே மொத்தம் எத்தனை tweets செய்யப்பட்டுள்ளன என்பதை ‘Total Tweets’ எனும் பெயரில் Metric வகை வரைபடமாக சேமித்துக் கொள்ளவும்.
5. கடைசியாக Add Panel-ல் சென்று drag & drop மூலம் மேற்குறிப்பிட்ட 3 வரைப்படத்தையும் இணைத்து பின்வருமாறு ஒரு dashboard-ஐ உருவாக்கவும்.

இதே முறையில் வெவ்வேறு index-க்கு வெவ்வேறு dashboards-ஐ உருவாக்கிப் பார்க்கவும்.

V. Dev Tools

இப்பகுதி கட்டளையை நேரடியாக execute செய்து அதற்கான விடையை சரிபார்க்கின்ற ஒரு இடம் ஆகும். இது Console-ஐப் பிரதிபலிக்கும். Kibana- வின் மற்ற பகுதிகளில் நேரடியாக சிக்கலான query-ஐ எழுதி தரவுகளை எடுக்காமல், இப்பகுதியில் ஒருமுறை இயக்கி அதனை சரி பார்த்துக்கொள்ளலாம்.

%d bloggers like this: