Performance "stats" zonder PerfStat of Ops Mgr
PerfStat is een geweldige manier om een aantal zeer gedetailleerde prestatie-informatie te krijgen uit de filer als je een prestatie of een ander probleem dat je niet kunt helemaal je vinger op. U moet toegang hebben tot de PerfStat Viewer hebben, of iemand om deze uitgang proces voor je krijgt, en dan moet je sleepnet doorheen.
Operations Manager, en meer specifiek Performance Advisor is briljant en 99% van de tijd geeft u de tellers u nodig hebt om het probleem vast te stellen. Als je eenmaal hebt uw weg gevonden, is het volledig onmisbaar!
Maar wat als u niet beschikt over Operations Manager, of wil je gewoon snel trekken van informatie over een gebied van het systeem?
Eerste dingen die u wilt bekijken sysstat. Ieders beste vriend en goede manier van het zien van "Is mijn systeem bezig?". Wanneer u sysstat lopen, zorg ervoor dat er doorheen de "-s" modifier zodat u een samenvatting aan het eind van de output. Als je niet definieert een aantal iteraties (-c <num>), dan CTRL + C om de uitgang te breken. "-X" is zeer geschikt voor het geven van alle gebieden van de output, maar het kan soms een beetje breed. "-U" is mijn favoriet als het geeft je het gebruik van deze lezingen en de meestal het meest nuttig bij het oplossen van problemen.
Het grootste deel van de kolommen zijn redelijk voor zichzelf. CPU is% bezet is, NFS, CIFS, HTTP, FCP en iSCSI-protocol zijn alle handelingen tellers. Net kB / s in en uit zijn duidelijk (ter referentie een enkele gigabit-interface u graag ondersteunen rond 80MB / s, maar kan rekken tot 110/120MB/s). Disk en Tape in & uit. Kijken naar de cache leeftijd waarop het echt laag, maar er is een betere tellers voor. Cache hit is een teller die u wilt zo dicht mogelijk bij 100% mogelijk te maken. Hoe meer gegevens wordt steeds gelezen uit de cache hoe beter! CP Type is Consistentie Points, zal ik niet in detail gaan over wat deze zijn, is er een zeer goede KB-artikel over dit nu al (https://now.netapp.com/Knowledgebase/solutionarea.asp?id=kb23471) . En ten slotte Disk Benutten, die blijkbaar aanleiding tot verwarring. Dit is de lezing van de interne drukste schijf in het systeem, en niet een gemiddelde. Deze lezing kan interessant gaan ongeveer 100% (net zoals CPU kan ook), en dit betekent gewoon de schijven zijn meer dan ze zouden moeten doen!
Dus sysstat is een geweldige manier om een hoog niveau uitzicht op krijg: "Is mijn systeem bezig" en geeft je een idee van waar de bottleneck is. Als de CPU is echt hoog, maar niets anders, dan is dit wat is het tegenhouden van het systeem. Als de schijf gebruik is zeer hoog, dan weer, hier is het probleem. Maar deze zijn niet afdoende cijfers, en niet direct wijzen op een boosdoener. Bijvoorbeeld als harde schijf gebruik erg hoog is, moet u het uitvoeren van een WAFL herverdelen zoals u hebt toegevoegd enkele nieuwe schijven en deze zijn niet in het bezit van gegevens nog niet. Als je CPU is zeer hoog is, kan het zijn dat je een heleboel andere vormen van verwerking te doen, zoals A-SIS en SnapVault, of het kan erg willekeurig IO dus de CPU is harder werken aan het proberen om berekeningen te maken rond dit.
De volgende stap kan worden te kijken naar statit. Een "priv reeks geavanceerde" commando, en niet voor de schijnbeweging hart, een grote opdracht om een momentopname van details over een periode te krijgen. Voer het commando "statit-b" aan het begin van de monitoring periode, en vervolgens op "statit-e" aan het eind. Zorg ervoor dat je output venster aanmelden als je veel van statit (meer dan de standaard Windows en Putty buffer zal blijken) te krijgen. Er is veel van statit output, en ik zal niet ingaan op al te veel detail in het hier allemaal (maar misschien een andere dag). Het grootste deel van het is vrij voor zichzelf echt.
Dit brengt me op de echte reden voor dit artikel in de eerste plaats. Een van mijn favoriete commando's, en zeker een grotendeels over het hoofd gezien is, "stats". Dit heeft veel informatie op zijn vingertoppen, zo'n beetje alles wat je kunt zien in Performance Advisor en alles wat je kunt over het verslag in PerfStats is beschikbaar in de stats commando. En mogelijk nog veel meer! "Stats" werkt zeer vergelijkbaar met sysstat in die zin dat counters rapporten op basis van de iteraties. Als je gewoon uitvoeren, zal het wat het systeem doet rapport op dat exacte moment. Als je te vertellen dat het om de 5 seconden lopen, zal het rapport wat er gebeurd is over die 5 seconden.
Dus eerst op, niet alleen in en "stats show" zonder een paar minuten te sparen draaien. De output is zeer compleet! Je eerst wilt zien wat tellers beschikbaar zijn. Stats is opgesplitst in "Objects", "Instances" en "Tellers". Om te laten zien per stuk, kunnen we gebruik maken "stats lijst ..."
filer01> stats lijst objecten
Objecten:
vuilnisbelt
logical_replication_source
logical_replication_destination
vfiler
qtree
aggregaat
iscsi
FCP
CIFS
volume
lun
doel
NFSv3
ifnet
processor
schijf
systeem
filer01> stats lijst gevallen ifnet
Gevallen voor de naam van het object: ifnet
B2net
Opslag-101
filer01> stats lijst tellers ifnet
Tellers voor naam van het object: ifnet
recv_packets
recv_errors
send_packets
send_errors
botsingen
recv_data
send_data
recv_mcasts
send_mcasts
recv_drop_packets
Als voorbeeld hierboven, ik kan laten zien van alle objecten waarover ik beschik, kan ik vraag alle netwerken gevallen heb ik setup (2 VIFs, 1 met een VLAN), en ik kan zien wat ik kan tellers verslag over. Dus om deze samen te ...
filer01> statistieken tonen ifnet: Opslag-101: botsingen
ifnet: Opslag-101: botsingen: 0 / s
Geweldig, mijn opslag-interface geen netwerk botsingen voor de periode dit heeft gelopen! Dat is goed nieuws voor mij!
Als ik wil dit lopen over meerdere iteraties, kan ik voed het wat meer opties. Opmerking: De opties moet gaan voordat de teller informatie!
filer01> stats show-n 5-i een ifnet: Opslag-101: botsingen
Aanleg botsingen
/ S
Opslag-101 0
Opslag-101 0
Opslag-101 0
Opslag-101 0
Opslag-101 0
Groot, dus over een periode van 5 seconden Ik ben nog steeds niet krijgen botsingen!
U zult merken van boven dat er een heleboel van de performance counters beschikbaar is, en niet alle van hen hebben de meest uitgebreide namen. U kunt elk van deze vragen door het uitvoeren van "stats uitleggen tellers".
filer01> stats uit te leggen tellers ifnet botsingen
Tellers voor naam van het object: ifnet
Naam: botsingen
Omschrijving: Botsingen per seconde op CSMA interfaces
Eigenschappen: rate
Eenheid: per_sec
Dus laten we een ander voorbeeld nemen, wil ik kijken naar latency metingen op mijn Exchange-systeem ...
filer01> stats show-n 5-i een volume: exch01_db: read_latency volume: exch01_db: write_latency volume: exch01_logs: read_latency volume: exch01_logs: write_latency
Aanleg read_latency write_latenc
ms ms
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 0
exch01_logs 0 0
Het is acht in de ochtend, geen van de sales team is al wakker! De kolomkoppen krijgen een beetje scheef, maar we kunnen lezen latentie te zien in de eerste kolom, en schrijf latency in de tweede.
Een van mijn grootste klachten over sysstat is wat er gebeurt als ik dit draaiende te houden over een periode van tijd en de uitvoer te loggen? Nou, ik kan veranderen "opties autologout" en laat mijn laptop aangesloten, maar dat is nooit een goed idee. "Stats" geeft u de mogelijkheid om pipe alle stats output naar een bestand. Brilliant nieuws!
filer01> stats show-n 5-i 1-o / etc / stats.txt volume: exch01_db: read_latency volume: exch01_db: write_latency volume: exch01_logs: read_latency volume: exch01_logs: write_latency
filer01> rdfile / etc / stats.txt
Aanleg read_latency write_latenc
ms ms
exch01_db 0 16,00
exch01_logs 0 0
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 8,00
exch01_logs 0 0
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 1,00
exch01_logs 0 0
Helaas is deze niet vrij te maken van de console, zodat scripting dit van RSH of SSH kan de beste weddenschap, maar wees voorzichtig hoe lang je de herhalingen lopen!
Een andere leuke feature is dat je sommige presets. Dus als je 4 Exchange-servers met elk drie databases, dan kunt u laden alle volume: <vol_name>: lezen / write_latency commando's in een bestand en deze rechtstreeks van de stats commando. De voorinstellingen bestanden zijn XML-bestanden, zodat ze ook een beetje nadenken bij het schrijven, maar als je hebt gezien XML eerder, dan is het niet zo lastig.
Mijn XML-bestand ziet er zo uit ...
<? Xml version = "1.0"?>
<PRESET>
<object name="volume">
<instance name="exch01_db">
<counter name="read_latency">
</ Counter>
<counter name="write_latency">
</ Counter>
</ Instance>
<instance name="exch01_logs">
<counter name="read_latency">
</ Counter>
<counter name="write_latency">
</ Counter>
</ Instance>
</ Object>
</ Preset>
Eenmaal opgeslagen in / etc / stats / presets als een '. Xml "-bestand, kan ik direct bellen vanuit de statistieken commando.
filer01> stats show-p exchange-i 1-n 5
Aanleg read_latency write_latenc
ms ms
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 0
exch01_logs 0 0
exch01_db 0 0,13
exch01_logs 0 0,12
exch01_db 0 0,00
exch01_logs 0 0,00
exch01_db 0 0
exch01_logs 0 0
De mogelijkheden zijn enorm voor, maar dit opent iets beters. We kunnen nu gebruik van "stats start" en "stats stop" om deze rapportage leiden en ik krijg mijn console terug!
filer01> stats start-p uitwisseling
Statistieken id-naam is 'Ind0x6920b2f0'
filer01> stats show-I Ind0x6920b2f0
StatisticsID: Ind0x6920b2f0
volume: exch01_db: read_latency: 0ms
volume: exch01_db: write_latency: 5.14ms
volume: exch01_logs: read_latency: 0ms
volume: exch01_logs: write_latency: 0.00ms
filer01> stats stop-I Ind0x6920b2f0
StatisticsID: Ind0x6920b2f0
volume: exch01_db: read_latency: 0ms
volume: exch01_db: write_latency: 5.36ms
volume: exch01_logs: read_latency: 0ms
volume: exch01_logs: write_latency: 0.00ms
Hopelijk bent u beginnen te beseffen waarom ik deze opdracht en waarom de mogelijkheden voor het gebruik van deze zijn enorm, en dat het zeer krachtig inderdaad!
Een laatste ding toe te voegen, zijn er een heleboel tellers standaard beschikbaar in de normale bevoorrechte modus, maar probeer overgestapt op gevorderde of zelfs diag, en zien hoeveel tellers zijn dan beschikbaar! Dit is overweldigend, maar met een beetje graven, zeer krachtig.
Een laatste ding, kunt u wildcards in de "stats show" commando, zodat te trekken uit alle tellers voor mijn Exchange-database ...
filer01> statistieken tonen volume: exch01_db: *
volume: exch01_db: avg_latency: 0.00ms
volume: exch01_db: total_ops: 3 / s
volume: exch01_db: read_data: 0b / s
volume: exch01_db: read_latency: 0ms
volume: exch01_db: read_ops: 0 / s
volume: exch01_db: WRITE_DATA: 12288b / s
volume: exch01_db: write_latency: 0.00ms
volume: exch01_db: write_ops: 3 / s
volume: exch01_db: other_latency: 0ms
volume: exch01_db: other_ops: 0 / s
Of om alle read_latency voor al mijn volumes zien ...
filer01> statistieken tonen volume: *: read_latency
volume: vol0: read_latency: 0ms
volume: exch01_db: read_latency: 0ms
volume: home: read_latency: 0ms
volume: backup: read_latency: 0ms
volume: aandeel: read_latency: 0ms
Als u nog specifieke vragen, of wilt u vragen hoe u specifieke teller informatie te krijgen van het systeem, voel je vrij om me te verzenden via een vraag. Hoop dat dit is nuttig voor iedereen!










































stats is een grote opdracht om te gebruiken voor het verzamelen van gegevens voor de lange termijn trend ook (als het dezelfde gegevens is niet blootgesteld in de SNMP MIB) - bijvoorbeeld per volume gegevens over de prestaties is niet beschikbaar via de SNMP MIB - Ik heb een blog entry hoe verzamel ik dat en bieden enige voorbeeld grafieken op http://aditya.grot.org/2009/02/netapp-ontap-per-volume-statistics.html
Een aantal geweldige tools beschikbaar voor het vertalen van de output van "stats" beschikbaar op de NetApp Gemeenschappen - http://communities.netapp.com/docs/DOC-2092
geweldig bericht Chris, zeer informatief en zeker niet iets dat bedekt in een van de 'fundamentals' docs - of zelfs de technische rapporten heb ik tot nu toe gelezen.