זה החלק הרביעי במדריך על Elastic Stack. בחלק הראשון עסקנו ב-filebeat, בשני ב-logstash, בשלישי ב-elasticsearch ובחלק הזה נעסוק בכלי הרביעי בשרשרת - kibana:
זהו כלי הויזואליזציה. ניתן לבנות בעזרתו גרפים, dashboards של גרפים, חיפושים, תשאול ה-DB, grok debugger ועוד דברים רבים.
קונפיגורציה
לצורך הקינפוג של Kibana נשתמש בקובץ kibana.yml שנמצא בספריה /etc/kibana/.
השדות הבסיסיים הם:
server.port – ה-port שדרכו kibana יוצג כ-UI. למשל אם ה-port הוא 5601 כדי להעלות את ה-UI נכנס בדפדפן
שלנו ל- http://serverIP:5601
server.host – ה-IP או שם המכונה שעליה ירוץ kibana.
elasticsearch.hosts – שם המכונה
וה-port שבו רץ elasticsearch.
אם יש בעיות להריץ את kibana כדאי להסתכל על הלוג שנמצא ב- /var/log/kibana
הרצת kibana
הסבר על ה-UI
הכלי נראה כך (לחצו על התמונה להגדלה):
האייקונים בצד שמאל מנווטים בין המסכים השונים של kibana. אם נלחץ על הכפתור שמסומן
בעיגול אדום נוכל לראות את השם של כל כפתור:
נסביר על חלק מהמסכים:
Discover – מסך
שמאפשר לחפש ב-DB ולבנות
שאילתות
Visualize – מסך
לבניית גרפים ושאר ויזואליזציות
Dashboard – מסך
שמאפשר לבנות לוח של גרפים שיצרנו
Dev Tools – מאפשר
שימוש ב-API של elasticsearch, וכולל גם grok debugger
Management – מאפשר
לראות את האינדקסים הקיימים, להגדיר index pattern, לקנפג את Kibana ועוד.
איך משתמשים ב-Kibana
דבר ראשון שצריך לעשות כשמתחילים להשתמש ב-Kibana זה ליצור index pattern.
מה זה הדבר הזה? שאלה טובה, בחלק השלישי של המדריך הסברנו על elasticsearch וראינו שהצורה שבה ה-DB בנוי היא:
index/mapping/document
כל הנתונים (ה-documents) נמצאים תחת אינדקסים. כדי לבצע חיפושים ב-Kibana צריך להגדיר באיזה אינדקסים לחפש. לצורך כך בונים index pattern. תחת Management נלך ל-Index Patterns ונלחץ על Create index pattern. במסך שיפתח נכניס לשדה Index pattern את הטקסט שמתאר את קבוצת האינדקסים שמעניינת אותנו.
למשל
אם יש לנו אינדקסים שמתחילים בשם מסוים ואח"כ יש תאריך – my_index_2020_05, my_index_2020_04, נוכל ליצור
תבנית כזו my_index_* כדי לכלול
את כל האינדקסים מהסוג הזה. או my_index_2020_* כדי לכלול את כל האינדקסים מסוג זה שהם משנת
2020.
אחרי שכתבנו את שם ה-index pattern נלחץ על Next step ואז תהיה לנו אפשרות לבחור שדה
מסוים שייצג את הזמן כדי שעל ידו נוכל לסנן את התוצאות על פי זמן. זה לא חובה אבל
זה יכול לעזור אם יש לנו נתונים על פי זמן.
נלחץ על Create
index pattern ויש לנו index pattern חדש.
Discover
נעבור לאפשרות של Discover
בצד שמאל יש drop down list שמכילה את רשימת ה-index patterns שיצרנו. נבחר אחד מתוך הרשימה
ועליו יתבססו החיפושים שלנו.
ממשק החיפוש מאוד נוח וידידותי. קודם כל אפשר לחפש כל טקסט בצורה חופשית.
למשל אם אכניס לתיבת החיפוש את הטקסט error הוא ימצא לי את כל ה-documents שמכילים את
הטקסט error באינדקסים
שבקבוצת ה-Index
pattern שבחרנו.
ניתן גם לבצע חיפושים ממוקדים יותר. ברגע שנתחיל לכתוב שם של שדה תיפתח
רשימה של השלמה אוטומטית לפי השדות הקיימים ונוכל לבחרו עם העכבר שדה שלפיו אנחנו
רוצים לחפש. לאחר שנבחר את שם השדה תיפתח לנו רשימה של סימנים עם הסבר קטן מה מסמל
כל סימן:
למשל בדוגמה הבאה:
ייצרתי חיפוש של כל המסמכים ב-Index pattern שבהם DB_time גדול או שווה ל-3.
לאחר מכן אם נלחץ על רווח יציעו לנו עוד אפשרויות של הוספת תנאים אחרים
לחיפוש ע"י and/or.
ניתן לשמור את החיפוש ולתת לו שם. לאחר מכן ניתן ליצור גרפים שמתבססים על
חיפוש ששמרנו.
Visualize
נעבור למסך Visualize. נלחץ על הכפתור Create visualization. ואז נבחר את סוג הגרף. לכל
סוג יש את האפשרויות שלו. בתור דוגמה ניקח את הגרף שנקרא Line. ואז יפתח לנו חלון עם הכותרת New Line / Choose a source. במסך הזה
צריך לבחור על מה יתבסס הגרף. ניתן לבחור Index pattern או search ששמרנו.
בצד שמאל נראה כותרת של Metrics ותחתיה Y-axis.
נרחיב את החלון של Y-axis ונבחר באיזה שיטה נשתמש בציר
ה-Y. בדיפולט
השיטה היא count. השיטה הזו סופרת את מה שנבחר בציר ה-x. יש עוד אפשרויות כמו max/min, average ועוד.
נלחץ בחלון התחתון שנקרא Buckets על Add ונבחר ב-X-axis. ניתן לבחור את ציר ה-x שייצג תאריך, או שייצג שדה
מסוים ועוד אפשרויות נוספות.
כדי להכיר את זה מומלץ לשחק עם זה ולנסות לבנות גרפים שמעניינים
אתכם.
לאחר מכן, ניתן לשמור את הגרף, ואז אפשר לבנות גרפים נוספים ולבסוף ליצור dashboard של גרפים.
יש עוד הרבה מאוד דברים ב-Kibana, אבל אנחנו כיסינו את הבסיס. אגב, חלק מהאפשרויות המתקדמות כמו Machine Learning הן בתשלום.
עד כאן להפעם.
אם אהבתם, תכתבו משהו למטה...
לא אהבתי
השבמחק