Prezentare generală a programelor pentru monitorizarea funcționării hardware-ului în linux

Hacker, numărul 103, pp. 103-102-1

Prezentare generală a programelor pentru monitorizarea funcționării hardware-ului în Linux

Vara. A fost deja o zi fierbinte pe stradă. Trei ventilatoare din unitatea sistemului nu pot face față cu răceală, deși produc un zgomot bun. Uneori se pare că unitatea de sistem poate fi folosită în locul aragazului. Cum pot afla ce se întâmplă în interiorul meu fără a atinge cu degetele părțile computerului inclus? Poate e timpul să-ți odihnești prietenul de fier? Sau puneți un alt răcitor? Ca parte a oricărei distribuții Linux există mai multe utilitare care vă vor ajuta să obțineți un răspuns la aceste și la alte întrebări și să vă informați cu privire la starea actuală a hardware-ului.







lm-senzori: standard de facto

În nucleele 2.4, instalarea senzorilor lm ar putea provoca stres ușoară, dar prin integrarea componentelor de monitorizare 2.6 în kernel, funcționarea acestuia nu mai este o problemă. Informații despre asistența senzorilor dvs. lm și a nucleului pot fi găsite pe pagina Dispozitive și drivere (www.lm-sensors.org/wiki/Devices). Aici, de asemenea, specificăm ce versiune de senzori lm este recomandată a fi utilizată împreună cu kernelul instalat în sistem. Deși nu puteți alege în special și pune ceea ce este oferit în depozit. Deoarece utilitățile de diagnosticare nu fac parte din kernel, ele trebuie instalate separat:

$ sudo apt-get instala lm-senzori sensord

În același timp, instalați și daemon daemon, sarcina sa de a colecta informații în syslog. În plus, în caz de probleme, poate emite un avertisment. Pentru a inițializa sistemul de monitorizare, utilizați utilitarul de detectare a senzorilor:

După rularea utilitarului veți primi o interogare reală cu o pasiune. Ar trebui să răspundeți sincer, să nu ascundeți nimic :). În caz de îndoială, puteți rezolva toate testele. Utilitarul va rula prin toate magistralele și dispozitivele, va repeta toate modulele compilate și va selecta cele care au cel puțin un fel de utilitate. Dacă este trasă cel puțin o pereche. Luați în considerare faptul că ați avut noroc. Deci, ar trebui să fie monitorizare. Când ați terminat, utilitarul va cere să creați setările în funcție de echipamentul găsit: - și să scoateți un șir, care trebuie introdus în fișierul / etc / modules. Alegerea următorului pas în Da, îl puteți lăsa singur.

Vă sfătuiesc să verificați /lib/modules/2.6.x/modules prezența tuturor modulelor recomandate pentru încărcarea senzorilor-detectați. Scriptul rulează uneori în fața locomotivei sau, dimpotrivă, rămâne în urmă, deci este foarte posibil ca în sistem să nu existe astfel de module. Deci, într-o zi mi sa cerut să folosesc i2c-nforce2, dar nu a existat un astfel de modul în sistem. Ca opțiune, puteți încerca să descărcați manual modulele.

Pentru a obține informații de la senzori, numim utilitatea senzorilor fără parametri (este posibil deja sub utilizatorul obișnuit):

Adaptor: Adaptor SMBus I801 la c800

VoltA1_5: +1,49 V (min = +1,42 V, max = +1,58 V)

Volt1_5: +1,52 V (min = +1,45 V, max = +1,60 V)

Volt3_3: +3,23 V (min = +3,13 V, max = +3,47 V)

Volt5: +5,20 V (min = +4,74 V, max = + 5,26 V)

Volt12: + 12,0 V (min = + 11,38 V, max = + 12,62 V)

FanCPU: 3540 RPM (min = 4000 RPM)

TempCPU: + 28C (joasă = + 10C, înaltă = + 55C)

TempMB1: + 31C (joasă = + 10C, înaltă = + 55C)

TempMB2: + 34C (joasă = + 10C, înaltă = + 55C)

vid: +1.525 V (VRM Versiunea 9.1)

Parametrii de ieșire de pe ecran sunt configurați în fișierul /etc/sensors.conf. Căutăm linia care corespunde chipului nostru (în exemplul nostru, este lm85), și ne comportăm dacă este necesar:

$ sudo mcedit /etc/sensors.conf

chip "lm85c- *" "adm1027- *" "adt7463- *" "lm85- *" "lm85b- *"

etichetă in0 "V1.5"

eticheta in1 "VCore"

eticheta Temp1 "CPU Temp"

eticheta temp2 "Temp Template"

eticheta fan1 "CPU_Fan"

# Setarea limitei de tensiune

set in0_min 1,5 * 0,95

setați fan1_min 4000

Aș dori să atrag atenția asupra utilitarului KSensors (ksensors.sourceforge.net), care este o interfață grafică cu senzorii pentru mediul KDE. În Ubuntu, acesta este instalat în mod obișnuit:

$ sudo apt-get instalați ksensori

Acum o executați prin meniu sau din linia de comandă. Faceți clic pe pictograma afișată și selectați Configure (Configurare). Apoi, mergeți la file și activați caseta de selectare Vizibilă în parametrii pe care doriți să îi vedeți. Rezultatul va fi afișat pe bara de activități (dacă este activat Dock) și într-o fereastră separată care se deschide făcând dublu clic pe pictograma KSensors. În plus față de parametrii controlați de utilitarul lm-sensors, puteți afișa starea memoriei, swap și alte informații. Pentru fiecare parametru, puteți seta intervalul de refresh și răspunsul sistemului atunci când valoarea de referință este depășită (executați o comandă sau redați un sunet). Pentru ca KSensor să pornească automat când sistemul se învârte, nu uitați să instalați Autostart KSensors pe pornirea KDE în fila Setări globale.

Setările daemonului sensord sunt făcute în fișierul / etc / default / sensord.

$ sudo mcedit / etc / implicit / sensord

# Interval de scanare la avertismente (30s, 1m, 1h)

# Intervalul dintre măsurători pentru înregistrare

# Luăm cipul din senzors.conf

# Interval, implicit 5 minute

Pachetul lm-senzori include utilitarul pwmconfig, care verifică posibilitatea schimbării vitezei de rotație a răcitoarelor. Dacă există astfel de funcționalități, utilizați utilitarul fancontrol pentru a seta viteza de rotație. Fișierul de configurare pentru acesta este creat folosind pwmconfig.

Utilitate (x) mbmon

$ sudo apt-get instalează mbmon xmbmon

Acum puteți rula fără nici o configurație:

Temperatură = 30,0, 24,0, 127,0; Rot. = 3308, 0, 6026

Vcore = 1,14, 1,52; Volt. = 3,28, 5,00, 11,49, -6,62, -1,83

Rularea xmbmon, toate aceste informații pot fi văzute în fereastra programului.

Monitorizarea hard diskului cu hddtemp

În general vorbind, procesorul nu este partea cea mai importantă a computerului. Acum, dacă hard disk-ul zboară, numărul, filmele, cursurile, diplomele etc. au dispărut. De aceea, șurubul necesită o atenție deosebită. În Linux, există un număr de utilități doar pentru acest caz. Să începem cu o utilitate mică, dar foarte utilă hddtemp (www.guzu.net/linux/hddtemp.php). Cu ajutorul acestuia este posibil să se obțină informații de temperatură de pe discurile IDE / SATA / SCSI și, de asemenea, să se citească S.M.A.R.T. informații. Set:







$ sudo apt-get instalați hddtemp

În plus, se recomandă actualizarea bazei de date a discului prin descărcarea fișierului www.guzu.net/linux/hddtemp.db și punerea acestuia în / etc. Apelul este foarte simplu:

$ sudo hddtemp / dev / sda

/ dev / sda: ST3160811AS: fără senzor

Da, cu barracuda fără noroc, să vedem ce spune utilitatea despre al doilea disc:

$ sudo hddtemp / dev / hdb

/ dev / hdb: QUANTUM FIREBALLlct20: 31C sau F

Rezultat: temperatura mingii de foc. Alternativ, puteți rula hddtemp în fundal. Pentru a primi informațiile în acest caz este posibil în jurnalul syslog sau conectându-se prin rețea:

$ sudo hddtemp -d-q / dev / hdb

$ telnet localhost 7634

Conectat la localhost.

Caracterul de evacuare este '^]'.

| / dev / hdb | QUANTUM FIREBALLlct20 30 | 32 | C | Conexiunea este închisă de o gazdă străină.

Rezultat: 32 de grade. Astfel, temperatura discului este determinată chiar și fără înregistrarea în sistem.

Un set de smartmontools

Folosind un set de utilitare smartmontools (smartmontools.sf.net), puteți monitoriza și gestiona unele parametri de hard disk utilizând tehnologia S.M.A.R.T. Sunt acceptate discuri cu interfețe ATA, SCSI și SATA. Mai întâi, verificați starea dispozitivelor conectate:

$ sudo smartd -q

Fișier de configurare deschis /etc/smartd.conf

Drive: DEVICESCAN, directivă implicită "-a" pe linia 22 a fișierului /etc/smartd.conf

Fișierul de configurare /etc/smartd.conf a fost analizat, găsit DEVICESCAN, dispozitive de scanare

Dispozitiv: / dev / hda, deschis

Dispozitiv: / dev / hda, dispozitive de pachete [acest dispozitiv CD / DVD] care nu este capabil SMART

Imposibil de înregistrat dispozitivul ATA / dev / hda la linia 22 din fișierul /etc/smartd.conf

Dispozitiv: / dev / hdb, deschis

Dispozitiv: / dev / hdb, găsit în baza de date inteligentă.

Dispozitiv: / dev / hdb, este capabil SMART. Adăugarea la lista "monitor".

Dispozitiv: / dev / sda, deschis

Dispozitiv: / dev / sda, IE (SMART) nu este activat, săriți dispozitivul

Încercați "smartctl -s pe / dev / sda" pentru a activa funcțiile SMART

Imposibil de înregistrat dispozitivul SCSI / dev / sda la linia 22 a fișierului /etc/smartd.conf

Monitorizarea dispozitivelor 1 ATA și 0 SCSI

Ultima linie indică faptul că numai discul ATA va fi monitorizat. Pe dispozitivul / dev / sda, SMART nu este activat, îl puteți activa apelând dacă este necesar. Încercăm să obținem informații despre disc:

$ sudo inteligentl-i / dev / hdb

Familia de modele: seria QUANTUM FIREBALLlct20

Modelul dispozitivului: QUANTUM FIREBALLlct20 30

Versiune firmware: APL.3900

Capacitatea utilizatorului: 30.020.272.128 octeți

Dispozitivul este: În baza de date smartctl [pentru detalii folosiți: -P show]

Versiunea ATA este: 5

Standardul ATA este: revizuirea ATA / ATAPI-5 T13 1321D 1

Suportul SMART este: Disponibil - dispozitivul are capacitate SMART.

Suportul SMART este: Enabled (Activat)

Informații mai complete pot fi obținute prin rularea utilitarului cu pavilionul "-a". Ieșirea va avea câteva ecrane, iar la sfârșit se va afișa o masă cu o listă de parametri monitorizați. O atenție deosebită ar trebui acordată câmpului WHEN_FAILED, în care va fi afișată data aproximativă, când acest parametru va atinge limita acceptabilă. Aceste teste pot fi numite separat. Și există două opțiuni: scurte și pline. Acestea sunt inițiate de comenzi:

$ sudo smartctl -t scurt / dev / hdb

$ sudo smartctl -t lung / dev / hdb

Testarea scurtată durează 1-2 minute, testul complet poate dura aproximativ o oră. Testele nu afectează activitatea discului, astfel încât acestea pot fi executate în condiții de siguranță pe un sistem care rulează. Eroarea va fi afișată în câmpul LBA_of_first_error. Coloana LifeTime va afișa durata scursă de la momentul activării discului până la rularea testului. Testele offline sunt pornite de comanda smartctl -t offline; scopul acestora este actualizarea indicatorilor de stare a discului care nu pot fi actualizați în timpul funcționării normale. Folosind smartctl -o pornit. Puteți permite discurilor să facă acest lucru singure.

Monitorizarea trebuie efectuată în mod continuu. În aceste scopuri, se folosește daemonul inteligent, care face parte și din smartmontools. În mod implicit, acesta verifică toate discurile la fiecare 30 de minute, informațiile fiind afișate utilizând syslog. Daemonul poate fi predat atunci când se constată o problemă de a trimite un mesaj de poștă electronică administratorului sau de a executa un script. Șablonul conține un număr mare de exemple. Fiecare linie a fișierului descrie parametrii unuia dintre discurile prezente în sistem. De exemplu:

$ sudo mcedit /etc/smartd.conf

/ dev / sda -S on-on pe -a-194 -m [email protected]

/ dev / hdb -S on-on pe -a-194 -m [email protected]

Aici specificăm discul, -S pe direcția permite salvarea automată a valorilor indicatorilor. -o on este responsabil pentru efectuarea testelor offline în mod regulat. Cu -I 194, ignorăm valoarea metricei cu ID # 194, care este responsabilă pentru controlul temperaturii, iar la sfârșit specificăm e-mailul pentru a trimite notificări. Puteți verifica expedierea mesajelor utilizând comanda de test inteligent -M. Acum începe daemonul:

$ sudo /etc/init.d/smartd start

Aici, în general, și tot ce vroiam să vă spun astăzi. Apropo, utilizatorii FreeBSD nu sunt privați de oportunitățile de monitorizare a sănătății sistemului lor. Tot ce aveți nevoie poate fi găsit în arborele / usr / ports / sysutils din colecția de porturi. Dintre utilitățile grafice care nu sunt incluse în recenzie, merită remarcate gkrellm (www.gkrellm.net) și conky (conky.sf.net), cu care, sper, vă veți da seama pentru dvs.

Sistemul de fișiere / proc

Unele informații pot fi obținute prin accesarea directă a sistemului de fișiere / proc. De exemplu, să verificăm dacă răcitorul de pe procesor este activat:

$ sudo cat / proc / acpi / ventilator / FAN / de stat

$ sudo cat / proc / acpi / termică_zona / THRM / temperatură

temperatura: 23 ° C

În punctele trip_points, puteți citi sau seta o politică de răcire pentru sistem:

$ sudo cat / proc / acpi / thermal_zone / THRM / trip_points

critică (S5): 65 ° C

pasiv: 63 C: tc1 = 4 tc2 = 3 tsp = 60 dispozitive = 0xdf852338

active [0]: 63 C: dispozitive = 0xdf85ff90

Există trei opțiuni de politică posibile: critică (temperatura critică, după care este posibilă trecerea automată în modul de repaus), pasiv (reducerea frecvenței procesorului) și activ (modul activ al operației de răcire). Și activă poate avea mai mulți pași: de la 0 la 9. Comanda pentru a schimba acești parametri arată astfel:

$ echo -n "critică: caldă: pasivă: activ0. activX"> trip_points

$ echo "105: 100: 100: 78: 70: 60: 50"> / proc / acpi / thermal_zone / TZ0 / trip_points

$ sudo cat / proc / acpi / thermal_zone / THRM / modul de răcire

modul de răcire: activ

Instalarea modului pasiv nu este posibilă pe toate dispozitivele, deși laptopurile moderne îl suportă de obicei. Frecvența de interogare a senzorilor este indicată în polling_frequency:

$ sudo cat / proc / acpi / thermal_zone / THRM / polling_frequency

Aceasta înseamnă că, în cazul unei schimbări, dispozitivul însuși este capabil să genereze întreruperi asincrone, deci este inutil să îl urmăriți. Mai multe informații despre thermal_zone pot fi găsite la adresa acpi.sourceforge.net/documentation/thermal.html.

Pregătirea distribuției

Pentru ca majoritatea utilitarelor descrise să funcționeze, trebuie să aveți suport pentru I2C și monitorizare hardware în kernel. Asta este, cel puțin tot ce echipele dau și. Deci, dacă concluzia este tăcută ca un pește pe gheață, puteți continua în siguranță reconstruirea miezului. În Hardware Monitoring, nu uitați să includeți suport pentru placa de bază. Dacă aveți dubii, colectați totul sub formă de module.

$ sudo face mennuconfig

Activați suportul ACPI:

Opțiuni de gestionare a energiei (ACPI, APM) - Suport ACPI (Configurație avansată și interfață de alimentare)

Nu uitați standardul de gestionare a senzorilor IPMI:

Drivere de dispozitiv - Dispozitive de caractere - IPMI

Asigurați-vă că includeți suportul senzorului în kernel:

Drivere de dispozitiv - suport I2C

Selectăm algoritmii utilizați în jetoane:

Drivere de dispozitiv - suport I2C ---> Algoritmi I2C

În următoarele paragrafe, selectăm chipset-ul instalat:

Drivere de dispozitiv - Suport I2C - Suport bus I2C hardware

Drivere de dispozitive - Suport I2C - Diverse suport I2C Chip

Și, în cele din urmă, alegeți driverele pentru senzori:

Drivere de dispozitive - suport de monitorizare hardware

Începând cu versiunea 2.6.19 a kernel-ului, a fost adăugat un nou driver de monitorizare k8temp. care suportă toate cele mai recente modele AMD K8. În sistemele respective, acest driver este încărcat automat. Este incompatibil cu versiunile mai vechi ale senzorilor lm. Prin urmare, asigurați-vă că actualizați utilitarul sau puneți k8temp în lista neagră, în caz contrar vă este oferită eroare generală de parse.







Articole similare

Trimiteți-le prietenilor: