- יישום של מערכת אקולוגית של תצפיות המבוססת על איסוף מדדים זמניים והמחשה גרפית שלהם.
- פריסת סוכני ייצוא ספציפיים עבור סביבות GNU/Linux ו-Windows ללכידת נתוני מערכת.
- אסטרטגיות מדרגיות מתקדמות באמצעות Thanos ו-VictoriaMetrics לאחסון נתונים עצום.
כיום, מעקב צמוד אחר המתרחש בתשתית הטכנולוגית שלנו אינו מותרות, אלא הכרח מוחלט. ניטור רציף של המערכת מאפשר לנו לצפות בעיות לפני שהמשתמש הקצה שם לב למשהו לא תקין, ובכך מונע שגיאה קלה להסלים להפסקת שירות מוחלטת שתשאיר אותנו ערים בלילה.
כדי להשיג זאת, יושם שילוב מנצח: שילוב של פרומתאוס וגרפנה. בעוד שהראשון אוסף ומאחסן מדדים במסד נתונים של סדרות זמן, השני מספק ממשק ויזואלי רב עוצמה שהופך את המספרים הללו לגרפים קלים להבנה.
יסודות הניטור מקצה לקצה

כשאנחנו מדברים על ניטור פרואקטיבי, אנחנו מתכוונים לא לחכות לקריסת השרת לפני נקיטת פעולה. גישת ניטור של ניהול ביצועי יישומים (APM) מאפשרת לך לצפות בנתיב המלא שעוברת בקשה, תוך זיהוי צווארי בקבוק או שגיאות ביצועים בזמן אמת. זה חיוני מכיוון שבאופן היסטורי עברנו מבדיקה ידנית של אינדיקטורים פיזיים בשנות ה-80 לשימוש בכלים אוטומטיים שכיום נותנים לנו תמונה מקיפה של התשתית.
יישום ניטור מסוג זה לא רק מפחית את זמן ההשבתה אלא גם מייעל את עלויות התפעול. יתר על כן, כדי שהכל יפעל בצורה חלקה, ניהול API יעיל הוא חיוני , המבטיח שהתקשורת בין יישומים תהיה ניתנת להרחבה ומאובטחת, ובכך משלימה את אסטרטגיית הניטור.
בניית המחסנית: פרומתאוס וגרפנה על לינוקס

כדי ליישם מערכת זו בסביבת לינוקס, אנו זקוקים לשלושה רכיבים מרכזיים. ראשית, prometheus-node-exporter , האחראי על פרסום מדדי המערכת בפורט 9100. חשוב לציין שבחלק מההפצות כמו אובונטו, אספן הזבל של systemd יכול לייצר נתונים מוגזמים (קרדינליות גבוהה), לכן מומלץ לעיתים להשבית אספנים מסוימים באמצעות Ansible כדי למנוע עומס יתר על המערכת, בהתאם למדריך מקיף לאופטימיזציה של שרתי לינוקס.
השלב הבא הוא שרת פרומתאוס, שם אנו מגדירים את הקובץ prometheus.ymlכאן אנחנו אומרים לכם בדיוק איזה ציוד יש לנטר הגדרת ה scrape_configs והמטרות (כתובות IP ופורטים). ברגע ש-Prometheus מתחיל לאסוף נתונים כל כמה שניות, Grafana נכנס לתמונה. כלי זה מותקן בדרך כלל באמצעות חבילות .deb ומאפשר לנו חבר את פרומתאוס כמקור נתונים לאחר מכן לייבא לוחות מחוונים מעוצבים מראש שחוסכים לנו את העבודה של יצירת כל תרשים מאפס.
אלטרנטיבה מהירה עם Docker Compose

אם אינך מעוניין להתמודד עם התקנות ידניות, תוכל להגדיר את כל הסביבה באמצעות קונטיינרים. באמצעות קובץ docker-compose.yml , נוכל לתזמר את תמונת Prometheus, תמונת Grafana ואת Node Exporter באותה רשת וירטואלית. כדי למנוע אובדן נתונים בעת הפעלה מחדש של הקונטיינר, חיוני להגדיר אמצעי אחסון של persistence במערכת הקבצים של המארח.
בהגדרה זו, התצורה פשוטה מאוד. אנו יכולים להשתמש בקבצי YAML כדי להקצות באופן אוטומטי את מקורות הנתונים של Grafana , תוך הימנעות מהצורך לגשת לממשק האינטרנט כדי להגדיר את כתובת ה-URL של Prometheus. יתר על כן, עבור משתמשים מתקדמים, ישנן אפשרויות בקובץ JSON של התצורה המאפשרות שינוי שיטת השאילתה ל-POST או ניהול התראות ישירות מ-Grafana.
הרחבת הניטור לסביבות Windows

לא הכל בעולם התאגידי הוא לינוקס; חלונות נותרה עמוד תווך במרכזי נתונים רבים. כדי לשלב את שרתי חלונות ייעודיים אלה , אנו משתמשים בפונקציה windows_exporter , אשר חושפת מדדים בפורט 9182. התהליך דומה: אנו מתקינים את הסוכן במחשב חלונות, מוסיפים את המשימה המתאימה ב-Prometheus, ומוצאים לוח מחוונים ספציפי ל-Windows (כגון ID 14694 בגלריית Grafana) כדי להציג את מצב המעבד, הזיכרון והדיסק.
פתרונות לאחסון המוני וגמישות
ככל שחברה גדלה ומתחילה לנהל מיליוני מדדים, Prometheus יכולה להתחיל לקרטע. כדי לטפל בכך, קיימים כלים כמו Thanos , המאפשרים להעביר נתונים לאחסון ענן כמו AWS S3 או Google Cloud Storage, ובכך לספק זמינות גבוהה ושמירה לטווח ארוך . Thanos משתמשת ברכיב צדדי המלווה את Prometheus וברכיב Query עבור שאילתות מאוחדות.
אלטרנטיבה נוספת וחזקה מאוד היא VictoriaMetricsפתרון זה יעיל במיוחד בניצול המעבד והזיכרון. בארכיטקטורות מורכבות, ניתן להשתמש בו פרומתאוס - אופרטור ב-Kubernetes לנהל איסוף מקומי ולאחר מכן לשלוח את כל המדדים לאשכול VictoriaMetrics. מערכת זו מחולקת לרכיבים כגון vmstorage כדי לשמור את הנתונים, vminsert לכתוב אותם ו vmselect להתייעצויות, המאפשרות ניהול מיליארדי נקודות נתונים מבלי שהמערכת תאט.
הבחירה בין כלים אלה תלויה בדרך כלל בנפח הנתונים. בעוד ש-Prometheus אידיאלי לטווח הקצר, שילובו עם VictoriaMetrics או Thanos הוא ההימור הבטוח עבור סביבות מרובות עננים שבהן יש צורך לרכז מידע מעשרות אשכולות ולהבטיח שתעבורת הנתונים תמיד מוצפנת ומאומתת באמצעות פרוקסי אבטחה.
יישום מערכת אקולוגית המבוססת על Prometheus ו-Grafana, מחוזקת בסוכנים עבור לינוקס ו-Windows וניתנת להרחבה באמצעות VictoriaMetrics או Thanos, הופך את ניהול ה-IT לתהליך צפוי ויעיל. על ידי ריכוז מדדים ואוטומציה של התראות, ארגונים מקבלים נראות מלאה לתשתית שלהם, מייעלים את הביצועים ומבטיחים המשכיות עסקית לנוכח כל בעיה טכנית בלתי צפויה.
