This is a translation of the original English documentation page. Help us make it better.

16 יצירת שמות מוני ביצועים מותאמים אישית VMware

סקירה כללית

נתיב מונה הביצועים של VMware כולל את פורמט קבוצה/מונה[אוסף] שבו:

  • קבוצה - קבוצת מונה הביצועים, למשל מעבד
  • counter - שם מונה הביצועים, למשל usagemhz
  • אוסף - סוג אוסף מונה הביצועים, למשל מְמוּצָע

אז הדוגמה לעיל תיתן את נתיב הנגד הבא: cpu/usagemhz[ממוצע]

תיאורי הקבוצות של מונה הביצועים, שמות המונה והאוסף ניתן למצוא סוגים ב-VMware תיעוד.

ניתן להשיג שמות פנימיים וליצור שמות מונה ביצועים מותאמים אישית באמצעות פריט סקריפט ב- Zabbix.

תצורה

  1. צור פריט סקריפט מושבת במארח VMware הראשי (שם קיים הפריט eventlog[]) עם הפרמטרים הבאים:

  • שם: מדדי VMware
  • סוג: סקריפט
  • מפתח: vmware.metrics
  • סוג מידע: טקסט
  • סקריפט: העתק והדבק את ה-script המופיע למטה
  • פסק זמן: 10
  • תקופת אחסון היסטוריה: אין לשמור היסטוריה
  • מופעל: לא מסומן

סקריפט

 נסה {
            Zabbix.log(4, 'vmware metrics script');
       
            תוצאה של var, resp,
            req = new HttpRequest();
            req.addHeader('Content-Type: application/xml');
            req.addHeader('SOAPAction: "urn:vim25/6.0"');
       
            login = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:vim25">\
            <soapenv:Header/>\
            <soapenv:Body>\
                <urn:Login>\
                    <urn:_this type="SessionManager">SessionManager</urn:_this>\
                    <urn:userName>{$VMWARE.USERNAME}</urn:userName>\
                    <urn:password>{$VMWARE.PASSWORD}</urn:password>\
                </urn:Login>\
            </soapenv:Body>\
        </soapenv:Envelope>'
            resp = req.post("{$VMWARE.URL}", התחברות);
            if (req.getStatus() != 200) {
                throw 'קוד תגובה: '+req.getStatus();
            }
       
            query = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:vim25">\
        <soapenv:Header/>\
            <soapenv:Body>\
                <urn:RetrieveProperties>\
                    <urn:_this type="PropertyCollector">propertyCollector</urn:_this>\
                    <urn:specSet>\
                        <urn:propSet>\
                           <urn:type>PerformanceManager</urn:type>\
                           <urn:pathSet>perfCounter</urn:pathSet>\
                        </urn:propSet>\
                        <urn:objectSet>\
                           <urn:obj type="PerformanceManager">PerfMgr</urn:obj>\
                        </urn:objectSet>\
                    </urn:specSet>\
                </urn:RetrieveProperties>\
            </soapenv:Body>\
        </soapenv:Envelope>'
            resp = req.post("{$VMWARE.URL}", query);
            if (req.getStatus() != 200) {
                throw 'קוד תגובה: '+req.getStatus();
            }
            Zabbix.log(4, 'vmware metrics=' + resp);
            תוצאה = resp;
       
            logout = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:vim25">\
            <soapenv:Header/>\
            <soapenv:Body>\
                <urn:Logout>\
                    <urn:_this type="SessionManager">SessionManager</urn:_this>\
                </urn:Logout>\
            </soapenv:Body>\
        </soapenv:Envelope>'
       
            resp = req.post("{$VMWARE.URL}",logout);
            if (req.getStatus() != 200) {
                throw 'קוד תגובה: '+req.getStatus();
            }
       
        } תפוס (שגיאה) {
            Zabbix.log(4, קריאת vmware נכשלה: '+שגיאה);
            תוצאה = {};
        }
       
        החזרת תוצאה;

לאחר הגדרת הפריט, לחץ על כפתור בדיקה ולאחר מכן לחץ על קבל ערך.

העתק את ה-XML שהתקבל לכל מעצב XML ומצא את המדד הרצוי.

דוגמה ל-XML עבור מדד אחד:

 <PerfCounterInfo xsi:type="PerfCounterInfo">
            <key>6</key>
            <nameInfo>
                <label>שימוש ב-MHz</label>
                <summary>שימוש במעבד במגה הרץ במהלך המרווח</summary>
                <key>usagemhz</key>
            </nameInfo>
            <groupInfo>
                <label>מעבד</label>
                <summary>CPU</summary>
                <key>מעבד</key>
            </groupInfo>
            <unitInfo>
                <label>MHz</label>
                <summary>Megahertz</summary>
                <key>megaHertz</key>
            </unitInfo>
            <rollupType>ממוצע</rollupType>
            <statsType>שיעור</statsType>
            <level>1</level>
            <perDeviceLevel>3</perDeviceLevel>
        </PerfCounterInfo>

השתמש ב-XPath כדי לחלץ את נתיב המונה מ-XML שהתקבל. עבור הדוגמה שלמעלה, ה-XPath יהיה:

field xPath ערך
קבוצה //groupInfo[../key=6]/key מעבד
counter //nameInfo[../key=6]/key usagemhz
rollup //rollupType[../key=6] ממוצע

נתיב מונה הביצועים המתקבל במקרה זה הוא: cpu/usagemhz[average]