שוביט מחשוב
MIB - Management Information Base
במאמר הקודם עסקנו ב OID שהינו רכיב קרדינלי בשימוש ב SNMP. במאמר הזה, אגע ב MIB - המשלים של ה OID. נתחיל בהסבר שילך כך : נניח שחברת מסוימת פיתחה Firewall (או כל ציוד תקשורת אחר), והם רוצים לעדכן את כל ה nms-ים שבעולם ברשימת ה OID שאיתם אפשר לדגום את הציוד שלהם, באיזה פורמט הם יגדירו ויפרסמו זאת עבור ה NMS ? התשובה, כמו שניחשתם, היא קובץ MIB. מדובר בקובץ טקסט בפורמט של סטנדרט/שפת ASN (חבל שכאשר פיתחו את ה MIB לא חשבו על שפות יותר ידידותיות למשתמש). קובץ ה MIB מכיל את ה Metadata עבור כל OID, וכן את ההיררכיה של כל ה OIDs. לצורך המחשה, נניח שיש פנייה של NMS ל- SNMP Agent של Palo Alto (שרץ כמובן על ה FW) על מנת לדעת איזה גרסת מערכת אפליקציה יש ל FW. אז ל-NMS הוטען ה MIB הרלוונטי של Palo Alto כמובן, והפנייה מתבצעת על ידי ה NMS עם ה OID הרלוונטי (1.3.6.1.4.1.25461.2.1.2.1.7). ה NMS כמובן מחכה לתשובה, והוא אמור לעשות איתה משהו - לפרסר אותה או לשמור אותה ב DB או כל דבר אחר. איך ה NMS יודע מה סוג המידע שאמור להתקבל- האם גרסת ה FW אמור לחזור כ String או כ Integer ? יש מקום בו הדברים האלו צריכים להיות מוגדרים, וזה ה MIB. הינה התשובה לשאלה ששאלנו למעלה :
היררכיה לגבי ההיררכיה של ה OIDs, גם כאן הדבר מוגדר באמצעות ה MIB. התחביר לא כל כך אינטואיטיבי, אבל בסוף מתרגלים להכל. הינה כמה דגשים : בכל MIB (למעט ה MIB-ים הבסיסים ביותר שהם ה CORE של כל ה MIBS האחרים), מתבצע יבוא של טיפוסי נתונים ומידע רלוונטי מתוך ה "Core\Root MIBs"
שני טיפוסים בסיסים שכדאי מאד להכיר הם :
- Object Type - מייצג NODE של OID ספציפי.
- Notification Type - מייצג NODE של OID ספציפי מסוג TRAP.
אני רוצה לציין עוד כמה דברים לסיום: :
- יש עוד מספר טיפוסי נתונים ומספר דברים שאולי שווה להכיר בתחביר של ה MIB, אבל זה לא משהו שהוא הכרחי להכיר לצורך ניטור ברמה הבסיסית
-
במאמר הזה נתתי דוגמאות מתוך MIB של חברת Palo Alto. אין בהם משהו מיוחד, מעבר לכך שהם בנוים נכון, והיתי יכול לבחור כמעט בכל MIB אחר לצורך ההדגמה.
מה שכן חשוב לציין זה שיש את ה MIBS הגנריים שלא שייכים לחברה מסויימת. למשל ה MIB הסטנדרטי ביותר שנקרא RFC1155-SMI ומכיל את כל המידע הבסיסי ביותר. למשל התחלת ההיררכיה של ה OID,
וגם טיפוסי המשתנים (String, Int, Date) והיכולות השונות (ReadOnly, Write)
הינה תמונה שמתחיש זאת מתוך ה MIB :
- עבור יצרני חומרה להגדיר MIB ספציפי עבור החומרה שלהם, זו מלאכת מחשבת של ממש. עם ה MIB בנוי בצורה נכונה תחבירית, זה לא מספיק. יש לכתוב את ה MIB כך שיאפשר לNMS-ים להוציא את המידע בצורה המיטבית, כאשר הם מתשאלים את הציוד שיודע להשיב עבור אותו ה MIB