Monitor your Docker hosts, containers and containerized services

Docker-Minitoring

לאחרונה עברתי לשימוש ב Docker Containers עבור השירותים והאפליקציות בהם אני משתמש. אין ספק שהיכול לפרוס שירותים בזמן קצר ומבלי "ללכלך" את מערכת ההפעלה המארחת מעניקים יתרון משמעותי. אך עם כל זאת משהו היה חסר לי, וזה היכולת לנטר את המשאבים הנצרכים על ידי הקונטיינרים השונים וכן את משאבי המערכת המארחת. לכן התחלתי לחפש אחר פתרון ניטור עצמי מבוסס קוד פתוח שיכול לספק לי נתוני אחסון, מדדים והתראות על שרתים פיזיים, מכונות וירטואליות, קונטיינרים ושירותים שפועלים בתוך הקונטיינרים. החיפוש הוביל אותי למערכת המורכבת מקונטיינרים של Prometheus, Grafana, Alert Manager ועוד.

למה דווקא Prometheus?

  • ה stack כולו יכול להפרס באמצעות קונטיינרים.
  • נבנתה עבור מערכות מבוזרות ותשתיות.
  • איסוף נתונים סקלאבילי שאינו מסתמך על אחסון מבוזר.
  • שירות גמיש בעל שירות Descovery עם תמיכה מובנת לשירותים כמו Azure, Kubernetesm, EC2 ועוד.

 

שלב א' – התקנת ה Stack על גבי דוקר:

אם ברצונכם להשתמש בפרוייקט שמצאתי, ממליץ לכם להציץ עליו בריפו dockprom בגיטהאב. בגדול ה stack הזה מכיל את כל שצריך ותוכלו להשתמש בו as is, אך כמובן שתוכלו גם להרחיב אותו ולהוסיף מדידות שונות. במדריך זה אסביר בקצרה איך להטמיע את ה stack הזה אשר ניתן להתקנה באמצעות פקודה בודדת.

prometheus-on-docker

 

על מנת להתקין את ה stack במלואו, כנסו לתיקיית הדוקר שלכם והריצו את הפקודה הבאה:

git clone https://github.com/stefanprodan/dockprom

כעת, כנסו לתיקייה של ה stack:

cd dockprom

והריצו את הפקודה הבאה בכדי להרים את כל הקונטיינרים:

ADMIN_USER=admin ADMIN_PASSWORD=admin docker-compose up -d

ואלה הקונטיינרים שיתווספו בעת ההתקנה:

  • Prometheus – פורט 9090.
  • AlertManager – פורט 9003.
  • Grafana  – פורט 3000.
  • NodeExporter
  • cAdvisor
  • Caddy
  • PushGateway

dockprom stack

כעת, פתחו את הדפדפן ונווטו אל http://server-ip:3000 והתחברו באמצעות המשתמש admin וסיסמה admin (תוכלו לשנות את זה על ידי החלפת שם המשתמש והסיסמה בפקודת ה docker-compose). המערכת מגיעה מקונפגת מראש לעבוד עם מקור הנתונים הבא:

  • שם: Prometheus
  • סוג: Prometheus
  • כתובת: http://prometheus:9090
  • שיטת חיבור: Proxy

 

Docker Host Dashboard

 

Docker Host Dashboard

Docker host Dashboard מציג נתונים אודות השרת המארח:

  • Uptime
  • מספר ליבות
  • זכרון (בשימוש, זמין ועוד).
  • תעבורת רשת.
  • ועוד…

 

Docker Containers Dashboard

Docker Containers Dashboard

Dashboard זה מציג נתונים אודות הקונטיינרים השונים שרצים על השרת:

  • שימוש כללי של הקונטיינרים במעבד.
  • שימוש של הקונטיינרים בזכרון.
  • תעבורת רשת.
  • ועוד…

Monitor Services Dashboard

Dashboard זה מנטר את המשאבים של הקונטיינרים האחראים לניטור.

Monitor Services Dashboard

 

בהצלחה!

Be the first to comment

Leave a Reply

כתובת האימייל שלך לא תפורסם


*