Áú»¢¶Ä²©

2 Detalls de preprocessament

Vista general

Aquesta secci¨® proporciona detalls sobre el preprocessament del valor de l'article. El preprocessament del valor d'element us permet definir i executar regles de transformaci¨® per als valors d'element rebuts.

El preprocessament es gestiona mitjan?ant un proc¨¦s gestor de preprocessament, que es va afegir a Áú»¢¶Ä²© 3.4, aix¨ª com agents de preprocessament que executen passes de preprocessament. Tots els valors (amb o sense preprocessament) dels diferents recopiladors de dades passen pel controlador de preprocessament abans d'afegir-se a la mem¨°ria cau de l'historial. La comunicaci¨® IPC basada en socket s'empra entre els col¡¤lectors de dades (pollers, trappers, etc.) i el proc¨¦s de preprocessament. El servidor Áú»¢¶Ä²© o el proxy Áú»¢¶Ä²© (per als elements monitorats pel proxy) realitza les passes de preprocessament.

Processament del valor de l'element

Per visualitzar el flux de dades de la font de dades a la base de dades Áú»¢¶Ä²©, podem emprar el seg¨¹ent diagrama simplificat:

El diagrama anterior nom¨¦s mostra els processos, objectes i accions relacionades amb el processament del valor de l'element en una forma simplificada. El diagrama no mostra canvis de direcci¨® condicionals, tractament d'errors ni bucles. Tampoc es mostra la mem¨°ria cau de dades locals del gestor de preprocessament perqu¨¨ no afecta directament el flux de dades. L'objectiu d'aquest diagrama ¨¦s mostrar els processos implicats en el processament del valor dels elements i com interactuen.

  • La recollida de dades comen?a amb dades en brut d'una font de dades. En aquest moment, les dades nom¨¦s contenen ID, marca de temps i valor (tamb¨¦ poden ser diversos valors)
  • Independentment del tipus de col¡¤lector de dades emprat, la idea ¨¦s la mateixa per a controls actius o passius, per a elements trapper, etc., ja que nom¨¦s canvia el format de les dades i l'inici de la comunicaci¨® (o el col¡¤lector de dades ¨¦s esperant una connexi¨® i dades, o el recollidor de dades inicia la comunicaci¨® i demana les dades). Les dades en brut es validen, la configuraci¨® de l'element es recupera de la mem¨°ria cau de configuraci¨® (les dades s'enriqueixen amb dades de configuraci¨®).
  • El mecanisme IPC basat en socket s'empra per passar dades dels col¡¤lectors de dades al gestor de preprocessament. En aquest punt, el recopilador de dades continua recopilant dades sense esperar la resposta del gestor de preprocessament.
  • Es fa un pretractament de dades. Aix¨° inclou fer passes de preprocessament i processar elements dependents.

L'element pot canviar d'estat a NO SOPORTAT durant el preprocessament si alguna de les passes de preprocessament falla.

  • Les dades de l'historial de la mem¨°ria cau de dades local del gestor de preprocessament s'envien a la mem¨°ria cau de l'historial.
  • En aquest punt, el flux de dades s'atura fins a la seg¨¹ent sincronitzaci¨® de la mem¨°ria cau de l'historial (quan el proc¨¦s de sincronitzaci¨® de l'historial realitza la sincronitzaci¨® de dades).
  • El proc¨¦s de sincronitzaci¨® comen?a amb la normalitzaci¨® de dades emmagatzemant dades a la base de dades Áú»¢¶Ä²©. La normalitzaci¨® de dades realitza conversions al tipus d'element esperat (tipus definit a la configuraci¨® de l'element), incl¨°s el truncament de les dades textuals segons les mides predefinides permeses per a aquests tipus (HISTORY_STR_VALUE_LEN per a la cadena, HISTORY_TEXT_VALUE_LEN per a text i HISTORY_LOG_VALUE_LEN per als valors de registre). Les dades s'envien a la base de dades Áú»¢¶Ä²© despr¨¦s de la normalitzaci¨®.

L'element pot canviar d'estat a NO SOPORTAT si la normalitzaci¨® de dades falla (per exemple, quan el valor del text no es pot convertir a nombre).

  • S'estan processant les dades recollides: es comproven els triggers, s'actualitza la configuraci¨® de l'element si l'element no ¨¦s compatible, etc.
  • Es considera el final del flux de dades des del punt de vista del processament del valor de l'element.

Preprocessament del valor de l'element

Per visualitzar el proc¨¦s de preprocessament de dades, podem emprar el seg¨¹ent diagrama simplificat:

El diagrama anterior nom¨¦s mostra els principals processos, objectes i accions relacionades amb el preprocessament del valor de l'element de manera simplificada. El diagrama no mostra canvis de direcci¨® condicionals, tractament d'errades ni bucles. En aquest diagrama nom¨¦s es mostra un preprocessador (es poden emprar diversos preprocessadors en escenaris del m¨®n real), nom¨¦s s'¨¦s processant un valor d'element i suposem que aquest element requereix almenys un per executar la passa de preprocessament. L'objectiu d'aquest diagrama ¨¦s mostrar qu¨¨ hi ha darrera de la canalitzaci¨® de preprocessament del valor de l'article.

  • Les dades i el valor de l'element es passen al controlador de preprocessament mitjan?ant el mecanisme IPC basat en socket.
  • L'element es posa a la cua de preprocessament.

L'element es pot posar al final o al comen?ament de la cua de preprocessament. Els elements interns de Áú»¢¶Ä²© sempre es posen al principi de la cua de preprocessament, mentre que altres tipus d'elements es posen a la cua al final.

  • En aquest punt, el flux de dades s'atura fins que hi hagi almenys un agent de preprocessament inactiu (no realitza cap tasca).
  • Quan el treballador de preprocessament ¨¦s disponible, se li envia la tasca de preprocessament.
  • Un cop finalitzat el preprocessament (error i execuci¨® correcta de les passes de preprocessament), el valor preprocessat es retorna al controlador de preprocessament.
  • El controlador de preprocessament converteix el resultat al format desitjat (definit pel tipus de valor de l'element) i col¡¤loca el resultat a la cua de preprocessament. Si hi ha elements dependents per a l'element actual, els elements dependents tamb¨¦ s'afegeixen a la cua de preprocessament. Els elements dependents es posen a la cua de preprocessament just despr¨¦s de l'element principal, per¨° nom¨¦s per als elements principals amb un valor definit i no en l'estat NO ADM?S.
Pipeline del processament del valor

El processament del valor de l'article es fa en m¨²ltiples passos (o fases) mitjan?ant diversos processos. Aix¨° pot dur a:

  • L'element dependent pot rebre valors, a difer¨¨ncia del valor principal. Aix¨° es pot aconseguir emprant el seg¨¹ent cas d'¨²s:
    • L'element principal t¨¦ el tipus de valor "UINT" (es pot emprar l'element trapper), l'element dependent t¨¦ el tipus de valor "TEXT".
    • No es requereix cap passa de preprocessament per als elements principals i dependents.
    • El valor de text (com "abc") s'ha de passar a l'element principal.
    • Com que no hi ha passes de preprocessament per executar, el controlador de preprocessament comprova si l'element principal no es troba en l'estat NO SUPORTAT i si el valor ¨¦s establert (tots dos s¨®n certs) posa en cua l'element dependent amb el mateix valor que l'element principal (perqu¨¨ no hi ha cap passa de preprocessament).
    • Quan els elements primaris i dependents arriben a la fase de sincronitzaci¨® de l'historial, l'element principal passa a NO SUPORTAT, a causa de l'error de conversi¨® de valors (les dades de text no es poden convertir a un nombre enter sense signe).

Per tant, l'element dependent rep un valor, mentre que l'element principal canvia el seu estat a NO SUPORTAT.

  • L'element dependent rep un valor que no ¨¦s present a l'hist¨°ric de l'element principal. El cas d'¨²s ¨¦s molt semblant a l'anterior, excepte pel tipus d'element principal. Per exemple, si s'empra el tipus CHAR per a l'element principal, el valor de l'element principal es truncar¨¤ durant la fase de sincronitzaci¨® de l'historial, mentre que els elements dependents rebran el seu valor del valor inicial (no truncat) de l'element principal.

Cua de preprocessament

La cua de preprocessament ¨¦s una estructura de dades FIFO que emmagatzema valors mantinguent l'ordre en qu¨¨ els valors s¨®n recuperats pel gestor de preprocessament. Hi ha diverses excepcions a la l¨°gica FIFO:

  • Els articles interns es posen al comen?ament de la cua
  • Els elements dependents sempre es posen a la cua despr¨¦s de l'element principal

Per visualitzar la l¨°gica de la cua de preprocessament, podem emprar el seg¨¹ent diagrama:

Els valors de la cua de preprocessament s'esborren des de l'inici de la cua fins al primer valor no processat. Aix¨ª, per exemple, el controlador de preprocessament abocar¨¤ els valors 1, 2 i 3, per¨° no el valor 5 perqu¨¨ el valor 4 encara no s'ha processat:

Nom¨¦s es deixaran dos valors a la cua (4 i 5) despr¨¦s del buidat, els valors s'afegeixen a la mem¨°ria cau de dades locals del gestor de preprocessament, i despr¨¦s els valors es transfereixen de la mem¨°ria cau local a l'historial de la mem¨°ria cau. El gestor de preprocessament pot esborrar valors de la mem¨°ria cau de dades local en mode d'element ¨²nic o en mode bloc (emprat per a elements dependents i valors rebuts mica en mica).

Processos de treball de preprocessament

El fitxer de configuraci¨® del servidor Áú»¢¶Ä²© permet als usuaris establir el nombre de processos de treball de preprocessament. El par¨¤metre de configuraci¨® StartPreprocessors s'ha d'emprar per establir el nombre d'inst¨¤ncies pre-bifurcades dels processos de treball de preprocessament. El nombre ¨°ptim de processos de treball de preprocessament es pot determinar per molts factors, incl¨°s el nombre d'elements "preprocessables" (elements que requereixen que es facin passes de preprocessament), el nombre de processos de recollida de dades, el nombre mitj¨¤ de passes per al preprocessament d'elements, etc. .

Per¨° suposant que no hi hagi operacions de preprocessament pesades com ara l'an¨¤lisi de grans blocs XML/JSON, el nombre de processos de treball de preprocessament pot coincidir amb el nombre total de recopiladors de dades. D'aquesta manera hi haur¨¤ la majoria de les vegades (excepte en els casos en qu¨¨ les dades del col¡¤lector arriben mica en mica) almenys un preprocessador inactiu per a les dades recollides.

Massa processos de recollida de dades (enquestadors, enquestadors d'inaccessibilitat, enquestadors ODBC, enquestadors HTTP, pollers Java, pingers, trappers, proxypollers) associats amb el gestor IPMI, el trapper SNMP i els agents de preprocessament poden esgotar el l¨ªmit de descriptors de fitxer per proc¨¦s per al gestor de preprocessament. Aix¨° far¨¤ que el servidor Áú»¢¶Ä²© s'aturi (normalment poc despr¨¦s de l'inici, per¨° de vegades pot trigar m¨¦s). S'ha de revisar el fitxer de configuraci¨® o pujar el l¨ªmit per evitar aquesta situaci¨®.