Jump to content
  • entries
    56
  • comments
    190
  • views
    8765

Hyper V Performance Report and much more...(PAL v2)


Vangelis

1011 views

 Share

Σε ένα Virtualized environment, δυστυχώς έχουμε να κάνουμε με πολλαπλά components τα οποία αποτελούν και το Core Infrastructure, μιας τέτοιας τοπολογίας. Οι Physical Servers με  τα components τους όπως, οι κάρτες δικτύου, οι σκληροί δίσκοι, τα CPU, memory, εξωτερικά storage συστήματα, load balancers… Επίσης και οι εφαρμογές που τρέχουν πάνω στους servers, όπως Hyper V, Exchange Server, AD-DS

Σε τέτοια περίπλοκα infrastructures, είναι πολύ δύσκολο έως και ακατόρθωτο να καταλάβουμε μερικές φορές το  που δημιουργείτε performance bottleneck, και από πού πρέπει να αρχίσουμε να κάνουμε monitoring, να καταφέρουμε να βρούμε τα κατάλληλα thresholds, και τελικά μετά από πολύ καιρό εισαγωγής πληροφοριών από τα monitoring tools, να αναλύσουμε τις τιμές που έχουμε στην διάθεση μας , ώστε να καταλήξουμε στο συμπέρασμα το «της πταιει»…  

Είναι πολλές φορές που αναρωτιόμαστε στο τι τελικά πρέπει να κάνουμε monitor, αν οι τιμές που παίρνουμε από τους counters, είναι μέσα στα πλαίσια του ανεκτού, ακόμη και κατά πόσο είμαστε κοντά στις αντοχές του ίδιου του Hardware

Όλα αυτά βρισκόντουσαν στο μυαλό μου από το καλοκαίρι, όπου στις ολιγοήμερες διακοπές μου, ξεκίνησα να κάνω ένα μεγάλο research για τους performance counters και συγκεκριμένα για τους Hyper V counters, τις τιμές που πρέπει να έχουν και ούτω κάθε εξής…

Η κατάληξη και το πόρισμα που είχε αυτό το research ήταν….

Πως είναι δυνατόν να θυμάσαι ή ακόμη και να καταγράψεις ΟΛΟΥΣ αυτούς τους Counters, για να έχεις ένα Report που να σου παρέχει όλες τις πληροφορίες που θα ήθελες.. ανά πάσα στιγμή

CONCLUSION

ΑΔΥΝΑΤΟΝ

Βέβαια εάν στο περιβάλλον υπάρχει κάποιο εργαλείο monitoring όπως o SCOM 2007 R2, τότε δεν κάνεις τπτ, και απλά παίρνεις ένα ΑΝΑΛΥΤΙΚΟΤΑΤΟ Report κάθε εβδομάδα, μέρα, ώρα, και είσαι proactive σε ότι πιθανόν προκύψει…..

Για όλους εμάς όμως που παλεύουμε με την καθημερινότητα, και τα “κουλά” προβλήματα που βλέπουμε και ακούμε από τους Users μας…

-Ε Καλά, σέρνεται σήμερα το σύστημα…. δεν μπορώ να δουλέψω (αλλιώς θα δούλευε…[;)])

-Να κάνω Restart? Έχω κολλήσει… τι φταίει…

…και άλλες τέτοιες καθημερινές ατάκες, που φέρνουν την συμφορά σε όλο τον εργασιακό χώρο, μόνο και μόνο στο άκουσμα τους…

Η λύση του monitoring σε κάθε τέτοια “ατάκα” των user, είναι μονόδρομος… ξεκινάμε από event viewer….σε task manager… και στο τέλος… Το 90% των IT λέμε… κάτσε να κάνω ένα restart θα στρώσει….. και όντως στρώνει τις περισσότερες φορές, αλλά γιατί? Ξέρει κανένας? Μπορεί κάποιος να αποκαλύψει από τα άδυτα του Kernel γιατί το σύστημα σουρνόταν σαν το φίδι?

Μέσα στην αναζήτηση μου, ήρθα και εγώ αντιμέτωπος με το φίδι, αλλά η λύση είναι δωρεάν και λέγεται PAL (Performance Analysis of LOGs Tool)…

H ίδια η Microsoft μέσω της Codeplex, έχει δημιουργήσει ένα πολύ αναλυτικό εργαλείο που κάνει αυτό που θέλουμε και εμείς οι ίδιοι….

Χρησιμοποιεί το Performance monitor, με τους κατάλληλους counters για την κατάλληλη υπηρεσία και στην συνέχεια σου παρουσιάζει ένα superb αναλυτικότατο report όπου και σε προϊδεάζει στο τι μπορεί να φταίει τελικά.. και όλα σούρνονται….

Μην είναι η RAM, μην είναι οι σκληροί, μην είναι ο καταραμένος όφις…..

Στον παρακάτω και αναλυτικότατο Step By Step Guide, θα μπορέσετε να σκοτώσετε και εσείς το φίδι και να έχετε υπ όψιν σας, από πού μπορεί να προέρχεται το bottleneck στο πολύπλοκο ή ακόμη και απλό επιχειρησιακό σας δίκτυο.

Συγχωρέστε μας  για το μακροσκελές αυτό blog, αλλά πιστεύω ότι θα μείνει ως monitoring reference για πολλούς από εμάς…

Ας Ξεκινήσουμε λοιπόν με την όλη διαδικασία καταστολής του φιδιού….

 

STEP BY STEP Guide

Αυτά που θα χρειαστούμε για να εγκαταστήσουμε το PAL είναι:

·          Microsoft Chart Controls for Microsoft .NET Framework 3.5

·          Power Shell

·         . Net 3.5 SP1

Εφ όσων κατεβάσουμε το Chart Controls

PRo-8.jpg?psid=1

Εγκαθιστούμε το component σε ένα Η/Υ o οποίος έχει PowerShell και .Νet Framework 3.5. Ένα τέτοιο λειτουργικό είναι τα Window 7, Windows Vista, Windows XP, αλλά ακόμη και Server εκδόσεις όπως, Windows 2008 Server και 2008 R2 Server.

PRo-9.jpg?psid=1 

Στην εγκατάσταση του Chart Control πατάμε Next  και συνεχίζουμε…

Στην συνέχεια ήρθε η ώρα να κάνουμε εγκατάσταση το PAL V2

To PAL, κρύβει από πίσω του ένα πολύ ισχυρό Power Shell Script, το οποίο σε συνδυασμό με τους Known Performance counters και τα Thresholds που αντιστοιχούν στον καθένα, μας ετοιμάζει ένα ολοκληρωτικό Report, με βασικό άξονα τους κατάλληλους Counters για την υπηρεσία που θέλουμε να κάνουμε monitor.

Μπορείτε να δείτε και να κατεβάσετε όλες τις εκδόσεις και το Documentation του PAL από εδώ.

Πάμε λοιπόν να συνεχίσουμε και να εγκαταστήσουμε το PAL.

PRo-10.jpg?psid=1

Tα screenshots που θα δείτε στον οδηγό είναι από την έκδοση 2.0.1.2 η οποία δεν διαφέρει σε κάτι από την τελευταία έκδοση 2.0.1.5. Να προτιμήσετε την τελευταία η οποία είναι και RTM  έκδοση του συγκεκριμένου λογισμικού, και συμπεριλαμβάνει και περισσότερες υπηρεσίες..

Πατάμε λοιπόν NEXT και προχωράμε τον οδηγό εγκατάστασης.

PRo-11.jpg?psid=1

  Στο Confirm Installation πατάμε Next,  και η εγκατάσταση ολοκληρώνεται με επιτυχία.

Δεν μπορείτε να πείτε πως η εγκατάσταση του λογισμικού ήταν δύσκολη… αλλά πάμε να δούμε το PAL και τις δυνατότητες του.

Μετά την εγκατάσταση του θα το βρείτε στο All Programs,  όπου και ανοίγοντας το βλέπουμε το μικρό αλλά θαυματουργό UI του….

PRo-12.jpg?psid=1

Εάν ξεκινήσουμε χωρίς να έχουμε διαβάσει το πώς λειτουργεί ίσως μας φανεί περίπλοκο, αλλά εάν ακολουθήσετε τις παρακάτω οδηγίες, θα δείτε πως μέσα σε λίγο χρόνο θα έχετε το αποτέλεσμα που θέλετε.

Πρώτα απ όλα ξεκινάμε με το τρίτο tab στην σειρά το Threshold File ,

 PRo-30.jpg?psid=1

 Στο Threshold File Title drop down menu, επιλέγουμε την υπηρεσία που επιθυμούμε να κάνουμε monitor, στην δική μας περίπτωση , επιλέγουμε το Win2008 Hyper-V,

Όταν επιλέξουμε την υπηρεσία  βλέπουμε τα παρακάτω options..

PRo-19.jpg?psid=1

Επιλέγουμε το Export Perfmon Template File,  και στην συνέχεια το αποθηκεύουμε το xml file σε ένα επιθυμητό directory. Βλέποντας την παραπάνω εικόνα δίπλα στο export έχουμε το Edit. Εάν για κάποιο λόγο θα θέλατε να προσθέσετε και κάποιους επιπλέον Counters στο Template που δημιουργεί το Export μπορείτε να πατήσετε το Edit και ορίστε…

PRo-32.jpg?psid=1

Πατάμε ΝΕW και στην συνέχεια Browse Counters. Επιλέγουμε το Performance object που θέλουμε, στην συγκεκριμένη περίπτωση το HYPER-V Dynamic Memory Balancer(SP1 Feature), και πατάμε Add. Θα δούμε λοιπόν πως προστέθηκε ο καινούργιος counter,

PRo-33.jpg?psid=1

Πρέπει όμως να ρυθμίσουμε και τα threshold του συγκεκριμένου counter, τα οποία μπορούμε να τα βρούμε στο MSDN.

PRo-34.jpg?psid=1 

Εδώ σετάρουμε το priority και τα conditions του συγκεκριμένου threshold… και στην συνέχεια πατάμε OK.

Αυτό είναι ένα απλό παράδειγμα, για το πώς μπορούμε να κάνουμε edit ένα Template, αλλά σας προτείνω για αρχή να ΜΗΝ, το πειράξετε μέχρι να εξοικειωθείτε με το περιβάλλον του PAL και μέχρι να καταλήξετε στα σωστά thresholds. 

Ας συνεχίσουμε όμως από εκεί που βρισκόμασταν , δηλαδή στην αποθήκευση του Template.Όταν κάνουμε export το template θα διαπιστώσετε ότι έχετε στα χέρια σας ένα xml αρχείο.

Αφήνουμε, προς το παρόν το PAL και πάμε στο Performance Monitor του Server μας.

Ανοίγοντας το βλέπουμε στο αριστερό pane,

PRo-1.jpg?psid=1

το Data Collector Sets, κάτω από αυτό στο User Defined κάνουμε δεξί κλικ και επιλέγουμε το New, και Data Collector Set.

Ένας νέος οδηγός θα ξεκινήσει…

PRo-20.jpg?psid=1

Εφ όσων γράψουμε το όνομα του Collector, επιλέγουμε το Create from a template, και πατάμε NEXT.

Στην συνέχεια θα μας ανοίξει ένας καινούργιος wizard όπου στον οποίο θα δώσουμε το xml αρχείο το οποίο κάναμε export από το PAL.

PRo-21.jpg?psid=1

Εδώ λοιπόν δίνουμε το path από το xml πατώντας το Browse και στην συνέχεια το Open.

PRo-22.jpg?psid=1

To template μας έχει επιλεγεί, και στην συνέχεια πατάμε το Finish.

PRo-23.jpg?psid=1

Επανερχόμενοι , στο performance monitor mmc, βλέπουμε στο User Defines ένα νέο Collector, αυτό που δημιουργήσαμε, κάνουμε δεξί κλικ πάνω στον Collector , και Start.

Παρατηρήστε το path στο οποίο θα πάμε στην συνέχεια να πάρουμε το output που θα μας δώσει το Collector Set.

Είναι προτεινόμενο να αφήσετε τον Collector αρκετή ώρα έτσι ώστε να συλλέξει αρκετά data με σκοπό να πάρετε ένα report το οποίο θα αντικατοπτρίζει την πραγματικότητα. Αφήστε τον να εργάζεται ακόμη και σε ώρες αιχμής, γιατί εκεί θα δούμε το componet που πραγματικά επηρεάζεται το σύστημα μας.

PRo-7.jpg?psid=1

Τα VMs εργάζονται πυρετωδώς....[H]

Κάνοντας stop έχουμε στο output path C:\perflogs\SystePerformance\... το output του collector μας το οποίο θα το βρείτε με την κατάληξη .blg.

Ήρθε η ώρα να ξαναγυρίσουμε στο PAL, και να πάμε στην δεύτερη καρτέλα του Counter Log.

PRo-24.jpg?psid=1 

Στο Counter Log Path, κάνουμε Browse , και πάμε στο output path του collector που είδαμε παραπάνω. Επιλέγουμε το αρχείο με την κατάληξη .blg.

Στην συνέχεια πάμε στην τέταρτη καρτέλα Questions , και  συμπληρώνουμε σωστά τις ερωτήσεις που θα δούμε.

PRo-14.jpg?psid=1

Οι ερωτήσεις φαίνονται στο αριστερό μέρος του UI, και είναι όπως βλέπεται NumbersOfProcessors, 64Bit, TotalMemory.

Στην συνέχεια πάμε στο 6οtab, File Output, όπου και εκεί ορίζουμε, το path που θα αποθηκευτεί το Report μας. Μπορούμε όπως βλέπουμε να επιλέξουμε και το output πάλι σαν xml Document με σκοπό να το εκμεταλλευτούμε με κάποιο άλλο application.

PRo-17.jpg?psid=1 

Πηγαίνοντας τελικός στο Execute, τελευταίο tab, επιλέγουμε εάν θέλουμε το priority του execution, και πατάμε Finish.

PRo-18.jpg?psid=1

Με το που τελειώσει ο οδηγός, θα μας ανοίξει ένα καινούργιο PS παράθυρο , όπου και αυτό θα αρχίσει να κάνει την επεξεργασία όσων ορίσαμε στο PAL, αλλά και του .blg αρχείου.

PRo-25.jpg?psid=1

Μην αγχωθείτε όταν δείτε το Black Window, δεν θα ζητήσει κάτι, ούτε θα επηρεάσει την ζωή σας… J

 PRo-26.jpg?psid=1

Αυτό που πρέπει να συμπληρώσω είναι πως θα κρατήσει λίγη ώρα μέχρι να τελειώσει το μακροσκελές και αναλυτικό Report που θα πάρουμε στα χέρια μας , για να δούμε που κρύβεται το πρόβλημα στην άρτια καθ ημών υποδομή μας.

Και εγένετο…

Το report μας είναι έτοιμο…

PRo-27.jpg?psid=1

Γραφήματα και επεξηγήσεις σε κάθε τι, με μια ματιά μπορούμε να δούμε εάν δουλεύουμε στα “κόκκινα” ή όχι….

PRo-28.jpg?psid=1

Ξεχωριστά τα CPU, και άλλα πολλά τα οποία μπορείτε να δείτε αναλυτικά το αποτέλεσμα στο επισυναπτόμενο report το οποίο έχω στο Τέλος του blog post.

PRo-29.jpg?psid=1

Εκτός από τα ωραία γραφικά, εδώ έχουμε και το στατιστικά για τις τιμές των counters, για το που είμαστε fault, και που warning

Μέσα από αυτό το blog ήθελα να δώσω την ευκαιρία σε όλους μας, να βρούμε το κακό και να το εξαλείψουμε, γιατί μπορεί ο Σάκης ο σουγιάς με τον Μπάμπη τον Πεταλούδα να έχουνε την λύση στο τσεπάκι τους, αλλά ευτυχώς για εμάς οι Performance Counters λένε πάντα την αλήθεια και αποδεδειγμένα!

 V

 Share

4 Comments


Recommended Comments

Να πω ότι είσαι ένας μικρός Θεούλης;

 

το είχα δει στην Codeplex (open source λέμε) και σκέφτηκα ότι τα αποτελέσματα θα ήταν πάλι χαοτικά όπως και σε άλλου τύπου αναλύσεις.

 

αλλά αυτό που έφτιαξες σε κατατάσει σε κατηγορία Valentino & Valepago

 

respect

Link to comment

Τα στατιστικά αντλούνται απο τους performance counters, οι οποίοι συμπεριλαμβάνονται στο xml που κάνουμε import στο Performance Monitor..το ιδανικό είναι ότι έχουμε τους κατάλληλους counters/thresholds, για την κατάλληλη υπηρεσία που θέλουμε να κάνουμε monitor..

V

Link to comment

Dr V .... καταρχήν θερμά ευχαριστούμε για αυτό το αναλυτικότατο και διαφωτιστικότατο blog! Μας άνοιξες πόρτα για το χειμώνα βέβαια αλλά έτσι είναι αυτά.... τα μεγάλα cluster παιδεύουσι admins.... Χεχεχε!

Λοιπόν, μετά από αρκετές ημέρες(!) logging και ανάλυσης, έχω στα χέρια μου ένα απίστευτο (σε μέγεθος και ενδείξεις) PAL report που ζητάει .... το επόμενο blog post σου με λεπτομέρειες για το αν και πως λύνονται τα θεματάκια που μας αναφέρει.... Εν ανάμονή λοιπόν. [;)]

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...