שלח את יומני אפליקציית Java לערימה האלסטית (ELK)

1. סקירה כללית

במדריך מהיר זה נדון, שלב אחר שלב, כיצד לשלוח יומני יישומים ל- Elastic Stack (ELK).

במאמר קודם התמקדו בהגדרת ה- Stack Elastic ושליחת נתוני JMX לתוכו.

2. קבע את התצורה של Logback

נתחיל בתצורה של Logback כדי לכתוב יומני אפליקציות לקובץ באמצעות FileAppender:

 logback / redditApp.log logback / redditApp.% d {yyyy-MM-dd} .log 7 

ציין זאת:

  • אנו מנהלים יומנים של כל יום בקובץ נפרד באמצעות RollingFileAppender עם TimeBasedRollingPolicy (עוד על המועמד הזה כאן)
  • נשמור יומנים ישנים למשך שבוע בלבד (7 ימים) על ידי הגדרה maxHistory עד 7

שימו לב גם כיצד אנו משתמשים ב- LogstashEncoder לבצע את הקידוד לפורמט JSON - שקל יותר להשתמש בו עם Logstash.

כדי להשתמש בקודן זה, עלינו להוסיף את התלות הבאה שלנו pom.xml:

 net.logstash.logback logstash-logback-encoder 4.11 

לבסוף, בואו נוודא שליישום יש הרשאות לגשת לספריית רישום:

sudo chmod a + rwx / var / lib / tomcat8 / logback

3. הגדר את תצורת Logstash

כעת עלינו להגדיר את Logstash כך שיקרא נתונים מקבצי יומן שנוצרו על ידי האפליקציה שלנו וישלח אותם אל ElasticSearch.

הנה קובץ התצורה שלנו logback.conf:

קלט {file {path => "/var/lib/tomcat8/logback/*.log" codec => "json" type => "logback"}} פלט {if [type] == "logback" {elasticsearch {hosts => ["localhost: 9200"] index => "logback -% {+ YYYY.MM.dd}"}}}

ציין זאת:

  • קֶלֶט קוֹבֶץ משמש כ- Logstash יקרא יומנים הפעם מקבצי רישום
  • נָתִיב מוגדר לספריית הרישום שלנו וכל הקבצים עם סיומת .log יעובדו
  • אינדקס מוגדר לאינדקס חדש "logback -% {+ YYYY.MM.dd}" במקום ברירת המחדל "logstash -% {+ YYYY.MM.dd}"

כדי להפעיל את Logstash עם תצורה חדשה, נשתמש ב:

bin / logstash -f logback.conf

4. דמיין יומנים באמצעות קיבאנה

כעת אנו יכולים לראות את נתוני ה- Logback שלנו בסמל 'logback- *' אינדקס.

ניצור חיפוש חדש 'יומני כניסה חוזרים' כדי לוודא הפרדה בין נתוני כניסה באמצעות השאילתה הבאה:

סוג: logback

לבסוף, אנו יכולים ליצור הדמיה פשוטה של ​​נתוני ה- Logback שלנו:

  • נווט לכרטיסייה 'דמיין'
  • בחר 'תרשים עמודות אנכי'
  • בחר 'מתוך חיפוש שמור'
  • בחר חיפוש 'יומני כניסה' שיצרנו זה עתה

עבור ציר Y, ​​הקפד לבחור צבירה: לספור

עבור ציר X בחר:

  • צבירה: תנאים
  • שדה: רָמָה

לאחר הפעלת ההדמיה, אתה אמור לראות מספר ברים מייצגים ספירת יומנים לכל רמה (DEBUG, INFO, ERROR, ...)

5. מסקנה

במאמר זה למדנו את היסודות של הגדרת Logstash במערכת שלנו כדי לדחוף את נתוני היומן שהוא מייצר לחיפוש אלסטיקס - ולהמחיש את הנתונים בעזרת Kibana.


$config[zx-auto] not found$config[zx-overlay] not found