Référence de l'API Trigger
Vue d'ensemble
Les déclencheurs d'inspection des applications sont composés d'un code défini par l'utilisateur qui s' exécute automatiquement en fonction des événements du système via l'API de déclenchement ExtraHop. En écrivant des déclencheurs, vous pouvez collecter des données métriques personnalisées sur les activités de votre réseau. En outre, les déclencheurs peuvent effectuer des opérations sur protocole des messages (tels qu'un HTTP request) avant que le paquet ne soit supprimé.
Le système ExtraHop surveille, extrait et enregistre un ensemble de base de couches 7 (L7) des métriques relatives aux appareils du réseau, telles que le nombre de réponses, le nombre d'erreurs et les temps de traitement. Une fois ces métriques enregistrées pour un protocole L7 donné, les paquets sont supprimés, libérant ainsi des ressources pour la poursuite du traitement.
Les déclencheurs vous permettent de :
- Générez et stockez des métriques personnalisées dans la banque de données interne du système ExtraHop. Par exemple, bien que le système ExtraHop ne collecte pas d'informations sur l'agent utilisateur qui a généré une requête HTTP, vous pouvez générer et collecter ce niveau de détail en écrivant un déclencheur et en validant les données dans la banque de données. Vous pouvez également afficher les données personnalisées stockées dans la banque de données en créant des pages de mesures personnalisées et en affichant ces mesures via l' explorateur de mesures et tableaux de bord.
- Générez et envoyez des enregistrements pour un stockage à long terme et une extraction vers un espace de stockage des enregistrements.
- Créez une application définie par l'utilisateur qui collecte des métriques sur plusieurs types de trafic réseau afin de recueillir des informations ayant un impact sur tous les niveaux. Par exemple, pour obtenir une vue unifiée de l' ensemble du trafic réseau associé à un site Web, des transactions Web aux DNS demandes et réponses aux transactions de base de données : vous pouvez créer une application contenant toutes ces mesures relatives au site Web.
- Générez des métriques personnalisées et envoyez les informations aux utilisateurs de Syslog tels que Splunk, ou à des bases de données tierces telles que MongoDB ou Kafka.
- Lancez une capture de paquets pour enregistrer des flux individuels en fonction de critères définis par l'utilisateur. Vous pouvez télécharger les flux capturés et les traiter à l'aide d'outils tiers. Votre système ExtraHop doit disposer d'une licence pour la capture de paquets pour accéder à cette fonctionnalité.
Le but de ce guide est de fournir des informations de référence lors de l'écriture des blocs de code JavaScript qui s'exécutent lorsque les conditions du déclencheur sont remplies. Le Ressources de l'API de déclenchement Cette section contient une liste de rubriques qui fournissent une vue d' ensemble complète des concepts et procédures relatifs aux déclencheurs.
Ressources de l'API de déclenchement
Cette section contient une liste de rubriques qui vous aideront à vous familiariser avec les concepts de déclencheur, la création d'un déclencheur et les meilleures pratiques.
- déclencheurs
- Créez un déclencheur
- Surveillez les performances du déclencheur
- Guide des meilleures pratiques en matière de déclencheurs
- FAQ sur les déclencheurs
- Procédure pas à pas : Créez un déclencheur pour collecter des métriques personnalisées pour les erreurs HTTP 404
- Procédure pas à pas : Initiez des captures de paquets de précision pour analyser les conditions de fenêtre zéro
- Procédure pas à pas : Créez un déclencheur pour surveiller les réponses aux requêtes NTP monlist
Types de données pour les métriques personnalisées
L'API ExtraHop Trigger vous permet de créer des métriques personnalisées qui collectent des données sur votre environnement, au-delà de ce qui est fourni par les métriques du protocole intégré.
Vous pouvez créer des métriques personnalisées à partir des types de données suivants :
- compter
-
Le nombre d'événements métriques survenus au cours d'une période donnée. Par exemple, pour enregistrer des informations sur le nombre de requêtes HTTP au fil du temps, sélectionnez une métrique de dénombrement de niveau supérieur. Vous pouvez également sélectionner une métrique de nombre de détails pour enregistrer des informations sur le nombre de fois clients a accédé à un serveur, avec la clé IPAddress et un entier représentant le nombre d'accès sous forme de valeur.
- instantané
- Type spécial de métrique de comptage qui, lorsqu'elle est interrogée au fil du temps, renvoie la valeur la plus récente (telle que les connexions TCP établies).
- distincte
- Nombre estimé d'éléments uniques observés au fil du temps, tels que le nombre de ports uniques ayant reçu des paquets SYN, un nombre élevé pouvant indiquer une analyse des ports.
- jeu de données
- Un résumé statistique des informations temporelles, tel qu'un résumé à 5 chiffres : min, 25e percentile, médiane, 75e percentile, max. Par exemple, pour enregistrer des informations sur le temps de traitement HTTP au fil du temps, sélectionnez un niveau supérieur jeu de données métrique.
- ensemble d'échantillons
- Résumé statistique des informations temporelles, telles que la moyenne et l'écart type. Par exemple, pour enregistrer des informations sur le temps nécessaire au serveur pour traiter chaque URI, sélectionnez un ensemble d'échantillons détaillé avec la clé de chaîne d'URI et un entier représentant le temps de traitement sous forme de valeur.
- max
- Type spécial de métrique de comptage qui préserve le maximum. Par exemple, pour enregistrer les instructions HTTP les plus lentes au fil du temps sans vous fier à une table de session, sélectionnez une métrique de niveau supérieur et une métrique maximale de détail.
Les métriques personnalisées sont prises en charge pour les types de sources suivants :
Pour plus d'informations sur les différences entre les mesures de haut niveau et les mesures détaillées, consultez le FAQ sur les métriques.
Fonctions globales
Les fonctions globales peuvent être appelées sur n'importe quel événement.
- cache(key: Corde , valueFn: () => N'importe lequel ): N'importe lequel
- Met en cache les paramètres spécifiés dans une table pour permettre une recherche et un renvoi efficaces de
grands ensembles de données.
- key: Corde
- Un identifiant qui indique l'emplacement de la valeur mise en cache. Une clé doit être unique au sein d'un déclencheur.
- valueFn: () => N'importe lequel
- Fonction sans argument qui renvoie une valeur non nulle.
Dans l'exemple suivant, cache la méthode est appelée avec de grandes quantités de données codées en dur dans le script déclencheur :
let storeLookup = cache("storesByNumber", () => ({ 1 : "Newark", 2 : "Paul", 3 : "Newark", 4 : "St Paul"// 620 lines omitted })); var storeCity; var query = HTTP.parseQuery(HTTP.query); if (query.storeCode) { storeCity = storeLookup[parseInt(query.storeCode)]; }
Dans l'exemple suivant, la liste des agents utilisateurs connus dans un déclencheur JBoss est normalisée avant d'être comparée à l'agent utilisateur observé. Le déclencheur convertit la liste en minuscules et supprime les espaces superflus, puis met les entrées en cache.
function jbossUserAgents() { return [ // Add your own user agents here, followed by a comma "Gecko-like (Edge 14.0; Windows 10; Silverlight or similar)", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36", "Mozilla/5.0 (Android)" ].map(ua => ua.trim().toLowerCase()); } var badUserAgents = cache("badUserAgents", jbossUserAgents);
- commitDetection(type: Corde , options: Objet )
- Génère une détection sur le système ExtraHop.
- type: Corde
- Un type défini par l'utilisateur pour la définition, tel que brute_force_attack. Tu peux syntoniser les détections pour masquer plusieurs détections du même type. La chaîne ne peut contenir que des lettres, des chiffres et des traits de soulignement.
- options: Objet
- Un objet qui spécifie les propriétés suivantes pour la détection :
- title: Corde
- Titre défini par l'utilisateur qui identifie la détection.
- description: Corde
- Description de la détection.
- riskScore: Numéro | nul
- Nombre facultatif compris entre 1 et 99 qui représente l'indice de risque de la détection.
- participants: Tableau d'objets
- Un ensemble facultatif d'objets participants associés à la détection. Un objet
participant doit contenir les propriétés suivantes :
- object: Objet
- L'objet de l'appareil, de l'application ou de l'adresse IP associé au participant.
- role: Corde
- Le rôle du participant à la détection. Les valeurs suivantes
sont valides :
- offender
- victim
- identityKey: Corde | nul
- Un identifiant unique qui permet des détections continues. Si plusieurs
détections avec la même clé d'identité et le même type de détection sont générées
au cours de la période spécifiée par le identityTtl
propriété, les détections sont consolidées en une seule
détection continue.
Remarque : Si le système ExtraHop génère un grand nombre de détections avec des clés d'identité uniques, il se peut que le système ne parvienne pas à consolider certaines détections en cours. Toutefois, le système ne générera pas plus de 250 détections individuelles pour un déclencheur par jour. - identityTtl: Corde
- Durée après la génération d'une détection pendant laquelle les
détections dupliquées sont consolidées dans une détection continue.
Une fois qu'une détection est générée, si une autre détection avec la même clé d'identité et le même type de détection est générée dans le délai spécifié, les deux détections sont consolidées en une seule détection continue. Chaque fois qu'une détection est consolidée en une détection continue, la période est réinitialisée et la détection ne s'arrête pas avant l'expiration de cette période. Par exemple, si identityTtl est réglé sur day, et quatre détections en double sont générées chacune à 12 heures d'intervalle, la détection continue s'étalant sur trois jours. Les périodes de validité suivantes sont les suivantes :
- hour
- day
- week
La période par défaut est hour.
- commitRecord(id: Corde , record: Objet ): vide
- Envoie un objet d'enregistrement personnalisé à l'espace de stockage des enregistrements configuré.
- id: Corde
- L'ID du type d'enregistrement à créer. L'ID ne peut pas commencer par un tilde (~).
- record: Objet
- Objet contenant une liste de paires de propriétés et de valeurs à envoyer à l'espace de stockage des enregistrements
configuré en tant qu'enregistrement personnalisé.
Les propriétés suivantes sont automatiquement ajoutées aux enregistrements et ne sont pas représentées sur les objets renvoyés par les accesseurs d'enregistrement intégrés, telles que HTTP.record:
- ex
- flowID
- client
- clientAddr
- clientPort
- receiver
- receiverAddr
- receiverPort
- sender
- senderAddr
- senderPort
- server
- serverAddr
- serverPort
- timestamp
- vlan
Par exemple, pour accéder à flowID propriété dans un enregistrement HTTP, vous devez inclure HTTP.record.Flow.id dans votre déclaration.
Important : Pour éviter des données inattendues dans l'enregistrement ou une exception lors de l'appel de la méthode, les noms de propriété répertoriés ci-dessus ne peuvent pas être spécifiés en tant que nom de propriété dans des enregistrements personnalisés. En outre, le nom d'une propriété figurant dans les enregistrements personnalisés ne peut contenir aucun des caractères suivants :
- .
- Période
- :
- Colon
- [
- Support carré
- ]
- Support carré
Dans l'exemple suivant, les deux paires de propriétés et de valeurs qui ont été ajoutées à record les variables sont enregistrées dans un enregistrement personnalisé par commitRecord fonction :
var record = { 'field1': myfield1, 'field2': myfield2 }; commitRecord('record_type_id', record);
Pour la plupart des événements, vous pouvez valider un enregistrement intégré contenant les propriétés par défaut. Par exemple, un enregistrement intégré tel que le HTTP.record L'objet peut servir de base à un enregistrement personnalisé.
L'exemple de code suivant valide un enregistrement personnalisé qui inclut toutes les métriques intégrées du HTTP.record objet et une métrique supplémentaire provenant du HTTP.headers propriété :
var record = Object.assign( {'server': HTTP.headers.server}, HTTP.record ); commitRecord('custom-http-record', record);
Vous pouvez accéder à un objet d'enregistrement intégré pour les événements suivants :
Classe Évènements AAA AAA_REQUEST AAA_RESPONSE
ActiveMQ ACTIVEMQ_MESSAGE AJP AJP_RESPONSE CIFS CIFS_RESPONSE DB DB_RESPONSE DHCP DHCP_REQUEST DHCP_RESPONSE
DICOM DICOM_REQUEST DICOM_RESPONSE
DNS DNS_REQUEST DNS_RESPONSE
FIX FIX_REQUEST FIX_RESPONSE
Flow FLOW_RECORD FTP FTP_RESPONSE HL7 HL7_RESPONSE HTTP HTTP_RESPONSE IBMMQ IBMMQ_REQUEST IBMMQ_RESPONSE
ICA ICA_OPEN ICA_CLOSE
ICA_TICK
ICMP ICMP_MESSAGE Kerberos KERBEROS_REQUEST KERBEROS_RESPONSE
LDAP LDAP_REQUEST LDAP_RESPONSE
Memcache MEMCACHE_REQUEST MEMCACHE_RESPONSE
Modbus MODBUS_RESPONSE MongoDB MONGODB_REQUEST MONGODB_RESPONSE
MSMQ MSMQ_MESSAGE NetFlow NETFLOW_RECORD NFS NFS_RESPONSE NTLM NTLM_MESSAGE POP3 POP3_RESPONSE RDP RDP_OPEN RDP_CLOSE
RDP_TICK
Redis REDIS_REQUEST REDIS_RESPONSE
RTCP RTCP_MESSAGE RTP RTP_TICK SCCP SCCP_MESSAGE SFlow SFLOW_RECORD SIP SIP_REQUEST SIP_RESPONSE
SMPP SMPP_RESPONSE SMTP SMTP_RESPONSE SSH SSH_OPEN SSH_CLOSE
SSH_TICK
SSL SSL_ALERT SSL_OPEN
SSL_CLOSE
SSL_HEARTBEAT
SSL_RENEGOTIATE
Telnet TELNET_MESSAGE - debug(message: Corde ): vide
- Ecrit au journal de débogage si le débogage est activé. La taille maximale des messages est de 2 048 octets. Les messages de plus de 2 048 octets sont tronqués.
- getTimestamp(): Numéro
- Renvoie l'horodateur du paquet qui a provoqué l'exécution de l'événement déclencheur, exprimé en millisecondes, les microsecondes étant le segment fractionnaire après la virgule.
- log(message: Corde ): vide
- Écrit dans le journal de débogage, que le débogage soit activé ou non.
Les appels multiples pour déboguer et enregistrer des instructions dans lesquelles le message a la même valeur seront affichés toutes les 30 secondes.
La limite des entrées du journal de débogage est de 2 048 octets. Pour enregistrer des entrées plus volumineuses, voir Remote.Syslog.
- md5(message: Corde | Tampon ): Corde
- Hache la représentation UTF-8 du message spécifié Tampon objet ou chaîne et renvoie la somme MD5 de la chaîne.
- sha1(message: Corde | Tampon ): Corde
- Hache la représentation UTF-8 du message spécifié Tampon objet ou chaîne et renvoie la somme SHA-1 de la chaîne.
- sha256(message: Corde | Tampon ): Corde
- Hache la représentation UTF-8 du message spécifié Tampon objet ou chaîne et renvoie la somme SHA-256 de la chaîne.
- sha512(message: Corde | Tampon ): Corde
- Hache la représentation UTF-8 du message spécifié Tampon objet ou chaîne et renvoie la somme SHA-512 de la chaîne.
- uuid(): Corde
- Renvoie un identifiant unique universel (UUID) aléatoire version 4.
Cours à usage général
Les classes de l'API Trigger présentées dans cette section fournissent des fonctionnalités largement applicables à tous les événements.
Classe | Descriptif |
---|---|
Application | Vous permet de créer de nouvelles applications et d'ajouter des métriques personnalisées au niveau de l'application. |
Tampon | Vous permet d'accéder au contenu de la mémoire tampon. |
Detection | Vous permet de récupérer des informations sur les détections sur le système ExtraHop. |
Device | Vous permet de récupérer les attributs de l'équipement et d'ajouter des mesures personnalisées au niveau de l'équipement. |
Discover | Vous permet d'accéder aux appareils et applications récemment découverts. |
Flow | Le flux fait référence à une conversation entre deux points de terminaison via un protocole tel que TCP, UDP ou ICMP. La classe Flow permet d'accéder à des éléments de ces conversations, tels que les adresses IP des points de terminaison et l'âge du flux. La classe Flow contient également un magasin de flux conçu pour transmettre des objets d'une demande à une réponse sur le même flux. |
FlowInterface | Vous permet de récupérer les attributs de l'interface de flux et d'ajouter des métriques personnalisées au niveau de l' interface. |
FlowNetwork | Vous permet de récupérer les attributs du réseau de flux et d'ajouter des métriques personnalisées au niveau du réseau de flux. |
GeoIP | Vous permet de récupérer l'emplacement approximatif d'une adresse IP spécifique au niveau du pays ou de la ville. |
IPAddress | Permet de récupérer les attributs d'adresse IP. |
Network | Vous permet d'ajouter des métriques personnalisées au niveau global. |
Session | Vous permet d'accéder au tableau des sessions, qui permet la coordination entre plusieurs déclencheurs s'exécutant indépendamment. |
System | Vous permet d'accéder aux propriétés qui identifient le système ExtraHop sur lequel un déclencheur est exécuté. |
ThreatIntel | Vous permet de voir si une adresse IP, un nom d'hôte ou un URI est suspect. |
Trigger | Vous permet d'accéder aux informations relatives à un déclencheur en cours d'exécution. |
VLAN | Vous permet d'accéder aux informations relatives à un VLAN sur le réseau. |
Application
Le Application La classe vous permet de collecter des métriques sur plusieurs types de trafic réseau afin de capturer des informations ayant un impact à plusieurs niveaux. Par exemple, si vous souhaitez obtenir une vue unifiée de l'ensemble du trafic réseau associé à un site Web (des transactions Web aux requêtes DNS, en passant par les réponses aux transactions de base de données), vous pouvez créer un déclencheur pour créer une application personnalisée contenant toutes ces mesures connexes. Le Application La classe vous permet également de créer des métriques personnalisées et de valider les données métriques dans des applications. Les applications ne peuvent être créées et définies que par le biais de déclencheurs.
Méthodes d'instance
Les méthodes de cette section ne peuvent pas être appelées directement sur Application classe. Vous ne pouvez appeler ces méthodes que sur des instances de classe Application spécifiques. Par exemple, la déclaration suivante est valide :
Application("sampleApp").metricAddCount("responses", 1);
Toutefois, la déclaration suivante n'est pas valide :
Application.metricAddCount("responses", 1);
- commit(id: Corde ): vide
- Crée une application, valide les métriques intégrées associées à l'événement dans l'
application et ajoute l'application à tous les enregistrements intégrés ou personnalisés enregistrés pendant
l'événement.
L'ID de l'application doit être une chaîne. Pour les métriques intégrées aux applications, les métriques ne sont validées qu'une seule fois, même si commit() La méthode est appelée plusieurs fois lors du même événement.
L'instruction suivante crée une application nommée « MyApp » et valide les métriques intégrées dans l' application :
Application("myApp").commit();
Si vous envisagez de valider des métriques personnalisées dans une application, vous pouvez créer l'application sans appeler le commit() méthode. Par exemple, si l'application n'existe pas encore, l'instruction suivante crée l'application et valide la métrique personnalisée dans l' application :
Application("myApp").metricAddCount("requests", 1);
Vous pouvez appeler le Application.commit méthode uniquement sur les événements suivants :
Types de métriques Événement AAA AAA_REQUEST -et- AAA_RESPONSE AJP AJP_RESPONSE CIFS CIFS_RESPONSE DB DB_RESPONSE DHCP DHCP_REQUEST -et- DHCP_RESPONSE DNS DNS_REQUEST -et- DNS_RESPONSE FIX FIX_REQUEST -et- FIX_RESPONSE FTP FTP_RESPONSE HTTP HTTP_RESPONSE IBMMQ IBMMQ_REQUEST -et- IBMMQ_RESPONSE ICA ICA_TICK -et- ICA_CLOSE Kerberos KERBEROS_REQUEST -et- KERBEROS_RESPONSE LDAP LDAP_REQUEST -et- LDAP_RESPONSE Memcache MEMCACHE_REQUEST -et- MEMCACHE_RESPONSE Modbus MODBUS_RESPONSE MongoDB MONGODB_REQUEST -et- MONGODB_RESPONSE NAS CIFS_RESPONSE -et/ou- NFS_RESPONSE NetFlow NETFLOW_RECORD Notez que la validation n'aura pas lieu si des identifiants d'entreprise sont présents dans l'enregistrement NetFlow.
NFS NFS_RESPONSE RDP RDP_TICK Redis REDIS_REQUEST -et- REDIS_RESPONSE RPC RPC_REQUEST -et- RPC_RESPONSE RTP RTP_TICK RTCP RTCP_MESSAGE SCCP SCCP_MESSAGE SIP SIP_REQUEST -et- SIP_RESPONSE SFlow SFLOW_RECORD SMTP SMTP_RESPONSE SSH SSH_CLOSE -et- SSH_TICK SSL SSL_RECORD -et- SSL_CLOSE WebSocket WEBSOCKET_OPEN, WEBSOCKET_CLOSE, et WEBSOCKET_MESSAGE - metricAddCount(metric_name: Corde , count: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique de comptage. Valide les données métriques dans l'application
spécifiée.
- metric_name: Corde
- Le nom de la métrique de comptage de niveau supérieur.
- count: Numéro
- La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir la propriété suivante :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailCount(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique de comptage par lequel vous pouvez approfondir. Valide les données
métriques dans l'application spécifiée.
- metric_name: Corde
- Nom de la métrique du nombre de détails.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- count: Numéro
- La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir la propriété suivante :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDataset(metric_name: Corde , val: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique de l'ensemble de données. Valide les données métriques dans l'application
spécifiée.
- metric_name: Corde
- Nom de la métrique de l'ensemble de données de niveau supérieur.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- freq: Numéro
- Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailDataset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique de l'ensemble de données par lequel vous pouvez approfondir.
Valide les données métriques dans l'application spécifiée.
- metric_name: Corde
- Nom de la métrique du nombre de détails.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- freq: Numéro
- Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDistinct(metric_name: Corde , item: Numéro | Corde | Adresse IP :void
- Crée une personnalisation niveau supérieur
métrique de comptage distincte. Valide les données métriques dans l'application spécifiée.
- metric_name: Corde
- Nom de la métrique de comptage distincte de niveau supérieur.
- item: Numéro | Corde | Adresse IP
- La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
- metricAddDetailDistinct(metric_name: Corde , key: Corde | Adresse IP , item: Numéro | Corde | Adresse IP :void
- Crée une personnalisation détail
métrique de comptage distincte par lequel vous pouvez
approfondir. Valide les données métriques dans l'application spécifiée.
- metric_name: Corde
- Nom de la métrique de comptage distincte détaillée.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- item: Numéro | Corde | Adresse IP
- La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
- metricAddMax(metric_name: Corde , val: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique maximale. Valide les données métriques dans l'application
spécifiée.
- metric_name: Corde
- Le nom de la métrique maximale de niveau supérieur.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailMax(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique maximale par lequel vous pouvez approfondir.
Valide les données métriques dans l'application spécifiée.
- metric_name: Corde
- Nom de la métrique maximale de détail.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddSampleset(metric_name: Corde , val: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
Sampleset métrique. Valide les données métriques
dans l'application spécifiée.
- metric_name: Corde
- Le nom de la métrique de l'ensemble d'échantillons de niveau supérieur.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailSampleset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
- Crée une personnalisation détail
Sampleset métrique par lequel vous pouvez
approfondir. Valide les données métriques dans l'application spécifiée.
- metric_name: Corde
- Nom de la métrique détaillée de l'ensemble d'échantillons.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddSnap(metric_name: Corde , count: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique de capture d'écran. Valide les données métriques
dans l'application spécifiée.
- metric_name: Corde
- Nom de la métrique de capture instantanée de niveau supérieur.
- count: Numéro
- La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailSnap(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique de capture d'écran par lequel vous pouvez approfondir.
Valide les données métriques dans l'application spécifiée.
- metric_name: Corde
- Nom de la métrique détaillée de l'ensemble d'échantillons.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- count: Numéro
- La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- toString(): Corde
- Renvoie l'objet Application sous forme de chaîne au
format suivant :
[object Application <application_id>]
Propriétés de l'instance
- id: Corde
- L'identifiant unique de l'application, tel qu'indiqué dans le système ExtraHop sur la page de cette application.
Tampon
Le Buffer La classe donne accès à des données binaires.
Un tampon est un objet présentant les caractéristiques d'un tableau. Chaque élément du tableau est un nombre compris entre 0 et 255, représentant un octet. Chaque objet tampon possède une propriété de longueur (le nombre d'éléments dans un tableau) et un opérateur entre crochets.
La charge utile chiffrée n'est pas déchiffrée pour l'analyse de la charge utile TCP et UDP.
UDP_PAYLOAD nécessite une chaîne correspondante mais TCP_PAYLOAD ne le fait pas. Si vous ne spécifiez pas de chaîne correspondante pour TCP_PAYLOAD, le déclencheur s'exécute une fois après les N premiers octets de charge utile.
Méthodes
- Buffer(string: Corde | format: Corde )
- Constructeur de la classe Buffer qui décode une chaîne codée en un objet Buffer.
Les paramètres suivants sont obligatoires :
- string: Corde
- La chaîne codée.
- format: Corde
- Format dans lequel l'argument de chaîne est encodé. Les
formats de codage suivants sont valides :
- base64
- base64url
Méthodes d'instance
- decode(type: Corde ): Corde
- Interprète le contenu de la mémoire tampon et renvoie une chaîne avec l'une des
options suivantes :
- utf-8
- utf-16
- ucs2
- hex
- equals(buffer: Tampon ): Booléen
- Effectue un test d'égalité entre les objets Buffer, où buffer est l' objet à comparer.
- slice(start: Numéro , end: Numéro ): Tampon
- Renvoie les octets spécifiés dans un tampon sous la forme d'un nouveau tampon. Les octets sont sélectionnés
à partir de l'argument de début donné et se terminant à l'argument de fin (sans inclure).
- start: Numéro
- Entier qui indique où commencer la sélection. Spécifiez les nombres négatifs à sélectionner à la fin d'une zone tampon. Il s'agit d'une base zéro.
- end: Numéro
- Nombre entier facultatif qui indique où terminer la sélection. En cas d'omission, tous les éléments situés entre la position de départ et la fin de la zone tampon seront sélectionnés. Spécifiez les nombres négatifs à sélectionner à la fin d'une zone tampon. Il s'agit d'une base zéro.
- toString(format: Corde ): Corde
- Convertit le buffer en chaîne. Le paramètre suivant est facultatif :
- format: Corde
- Le format avec lequel encoder la chaîne. Si aucun encodage n'est spécifié, la chaîne n'est
pas encodée. Les formats de codage suivants sont valides :
- base64
- base64url
- hex
- unpack(format: Corde , offset: Numéro ): Array
- Traite les données binaires ou à largeur fixe à partir de n'importe quel objet tampon, tel que celui renvoyé par
HTTP.payload, Flow.client.payload, ou
Flow.sender.payload, selon la chaîne de format donnée et,
éventuellement, selon le décalage spécifié.
Renvoie un tableau JavaScript contenant un ou plusieurs champs décompressés et contenant la position absolue en octets de charge utile +1 du dernier octet de l'objet décompressé. La valeur en octets peut être spécifiée comme décalage lors d' appels ultérieurs pour décompresser un tampon.
Remarque : - Le buffer.unpack La méthode interprète les octets dans l'ordre big-endian par défaut. Pour interpréter les octets dans l'ordre little-endian, préfixez la chaîne de format avec un signe inférieur à (<).
- Le format ne doit pas nécessairement consommer la totalité de la mémoire tampon.
- Les octets nuls ne sont pas inclus dans les chaînes décompressées. Par exemple : buf.unpack('4s')[0] - > 'example'.
- Le caractère de format z représente des chaînes de longueur variable terminées par des valeurs nulles. Si le dernier champ est z, la chaîne est produite, que le caractère nul soit présent ou non.
- Une exception est déclenchée lorsque tous les champs ne peuvent pas être décompressés car la mémoire tampon ne contient pas suffisamment de données.
Le tableau ci-dessous répertorie les formats de chaîne de mémoire tampon pris en charge :
Formater Type C Type de JavaScript Taille standard x pad type aucune valeur A struct in6_addr IPAddress 16 a struct in_addr IPAddress 4 b signed char string of length 1 1 B unsigned char number 1 ? _Bool boolean 1 H court métrage non signé number 2 h short number 2 i int number 4 I unsigned int number 4 l long number 4 L unsigned long number 4 q long long number 8 Q unsigned long long number 8 f number number 4 d double number 4 s char[] string z char[] string
Detection
Le Detection class vous permet de récupérer des informations sur les détections sur le système ExtraHop.
Remarque : | Les détections par apprentissage automatique nécessitent connexion aux services cloud ExtraHop. |
Évènements
- DETECTION_UPDATE
- S'exécute lorsqu'une détection est créée ou mise à jour sur le système ExtraHop.
Important : Cet événement s'exécute pour toutes les détections, quel que soit l'accès au module accordé à l'utilisateur qui crée le déclencheur. Par exemple, les déclencheurs créés par les utilisateurs ayant accès au module NPM s'exécutent sur DETECTION_UPDATE événements pour les détections de sécurité et de performance. Remarque : Cet événement ne s'exécute pas lorsque l'état d'un ticket de détection est mis à jour. Par exemple, la modification d'un responsable de la détection ne provoquera pas l'exécution de l'événement DETECTION_UPDATE. Cet événement ne s'exécute pas non plus pour les détections masquées. Remarque : Vous ne pouvez pas attribuer des déclencheurs qui s'exécutent uniquement lors de cet événement à des appareils ou à des groupes d'équipements spécifiques. Les déclencheurs qui s'exécutent lors de cet événement seront exécutés chaque fois que cet événement se produira.
Propriétés
- applianceId: Numéro
- Si vous faites appel à un console, renvoie l'ID de la sonde connectée sur laquelle la détection a eu lieu. En cas d'appel sur une sonde, renvoie 0.
- assignee: Corde
- L'assigné du ticket associé à la détection.
- categories: Tableau de cordes
- Liste des catégories auxquelles appartient la détection.
Les valeurs suivantes sont valides :
Valeur Catégorie sec Sécurité sec.action Actions par rapport à l'objectif sec.botnet botnet sec.caution Attention sec.command Commandement et contrôle sec.cryptomining Cryptominage sec.dos Déni de service sec.exfil Exfiltration sec.exploit Exploitation sec.hardening Durcissement sec.lateral Mouvement latéral sec.ransomware Un ransomware sec.recon Reconnaissance perf Rendement perf.auth Autorisation et contrôle d'accès perf.db Base de données perf.network Infrastructure réseau perf.service Dégradation du service perf.storage Rangement perf.virtual Virtualisation des ordinateurs de bureau et des applications perf.web Application Web - description: Corde
- Description de la détection.
Conseil : Il est souvent plus facile d'extraire des informations relatives à une détection à partir du Detection.properties propriété plutôt que d'analyser la Detection.description texte. Pour plus d'informations, consultez Detection.properties description. Le tableau suivant répertorie les formats Markdown courants que vous pouvez inclure dans la description :
Formater Descriptif Exemple Rubriques Placez un signe numérique (#) et un espace devant votre texte pour mettre en forme les titres. Le niveau du titre est déterminé par le nombre de signes numériques. #### Example H4 heading Listes non ordonnées Placez un astérisque (*) avant votre texte. Si possible, placez chaque élément de la liste sur une ligne distincte. * First example * Second example
Listes ordonnées Placez le chiffre 1 et le point (1.) avant votre texte pour chaque élément de ligne ; Markdown incrémentera automatiquement le numéro de liste. Si possible, placez chaque élément de la liste sur une ligne distincte. 1. First example 1. Second example
AUDACIEUX Placez un double astérisque avant et après votre texte. **bold text** Italiques Placez un trait de soulignement avant et après votre texte. _italicized text_ Hyperliens Placez le texte du lien entre crochets avant l'URL entre parenthèses. Ou saisissez votre URL.
Les liens vers des sites Web externes s'ouvrent dans un nouvel onglet du navigateur. Les liens du système ExtraHop, tels que les tableaux de bord, s'ouvrent dans l'onglet actuel du navigateur.
[Visit our home page](https://www.extrahop.com)
https://www.extrahop.com
Citations en blocs Placez un crochet à angle droit et un espace devant votre texte. On the ExtraHop website:
> Access the live demo and review case studies.
Emojis Copiez et collez une image emoji dans la zone de texte. Consultez les Graphique Emoji Unicode site web pour les images. La syntaxe Markdown ne prend pas en charge les shortcodes emoji.
- endTime: Numéro
- Heure à laquelle la détection s'est terminée, exprimée en millisecondes depuis l'époque.
- id: Numéro
- L'identifiant unique pour la détection.
- isCustom: Booléen
- La valeur est true s'il s'agit d'une détection personnalisée générée par un déclencheur.
- isEventCreate: Booléen
- Si la valeur est vraie, UPDATE_DETECTION événement exécuté lors de la création de la détection. Si la valeur est fausse, UPDATE_DETECTION événement exécuté lors de la mise à jour de la détection.
- mitreCategories: Tableau d'objets
- Ensemble d'objets contenant les techniques et tactiques MITRE associées à la
détection. Chaque objet contient les propriétés suivantes :
- id
- L'identifiant de la technique ou de la tactique MITRE.
- name
- Nom de la technique ou de la tactique MITRE.
- url
- Adresse Web de la technique ou de la tactique sur le site Web du MITRE.
- participants: Tableau d'objets
- Un ensemble d'objets participants associés à la détection. Un objet participant
contient les propriétés suivantes :
- object: Objet
- L'appareil, l'application ou l'objet d'adresse IP associé au participant.
- id: Numéro
- L'identifiant du participant.
- role: Corde
- Le rôle du participant dans la détection. Les valeurs suivantes sont valides :
- offender
- victim
- properties: Objet
- Objet contenant les propriétés de la détection. Seuls les types de détection intégrés
incluent des propriétés de détection. Le type de détection détermine les propriétés
disponibles.
Les noms de champs de l'objet sont les noms des propriétés de détection. Par exemple, le type de détection Anonymous FTP Auth Enabled inclut le client_port propriété, à laquelle vous pouvez accéder à l'aide du code suivant :
Detection.properties.client_port
Pour afficher les noms des propriétés de détection, affichez les types de détection à l'aide du GET /detections/formats opération dans l'API REST ExtraHop.
Conseil : Dans l'éditeur de déclencheurs, vous pouvez afficher les propriétés de détection valides à l'aide de la fonctionnalité de saisie semi-automatique si vous incluez une logique qui détermine le type de détection. Par exemple, si le déclencheur contient le code suivant et que vous saisissez un point après « propriétés », l'éditeur de déclencheurs affiche les propriétés valides pour la détection Anonymous FTP Auth Enabled : if (Detection.type === 'anonymous_ftp') { Detection.properties }
- resolution: Corde
- Résolution du ticket associé à la détection. Les valeurs valides sont action_taken et no_action_taken.
- riskScore: nombre | nul
- L'indice de risque de la détection.
- startTime: Numéro
- Heure à laquelle la détection a commencé, exprimée en millisecondes depuis l'époque.
- status: Corde
- État du ticket associé à la détection. Les valeurs valides sont acknowledged, new, in_progress, et closed.
- ticketId: Corde
- L'ID du ticket associé à la détection.
- title: Corde
- Titre de la détection.
- type: Corde
- Type de détection. Pour les détections personnalisées, « custom » est ajouté au début de la chaîne définie par l' utilisateur. Par exemple, si vous spécifiez brute_force_attack dans le commitDetection fonction, le type de détection est custom.brute_force_attack.
- updateTime: Numéro
- Dernière mise à jour de la détection, exprimée en millisecondes depuis l' époque.
Device
Le Device La classe vous permet de récupérer les attributs de l'équipement et d'ajouter des mesures personnalisées au niveau de l'équipement.
Méthodes
- Device(id: Corde )
- Constructeur de l'objet Device qui accepte un paramètre, qui est un identifiant de chaîne unique de
16 caractères.
S'il est fourni avec un identifiant provenant d'un objet Device existant, le constructeur crée une copie de cet objet avec toutes les propriétés de l'objet, comme illustré dans l' exemple suivant :
myDevice = new Device(Flow.server.device.id); debug("myDevice MAC: " + myDevice.hwaddr);
Métriques associées à un objet Device par le biais d'un metricAdd* les fonctions sont conservées dans la banque de données
- lookupByIP(addr: Adresse IP | Corde , vlan: Numéro ): Appareil
- Renvoie l'équipement L3 qui correspond à l'adresse IP et à l'ID de VLAN spécifiés. Retours
null si aucune correspondance n'est trouvée.
- addr: Adresse IP | Corde
- L'adresse IP de l'équipement. L'adresse IP peut être spécifiée en tant que IPAddress objet ou sous forme de chaîne.
- vlan: nombre
- L'ID VLAN de l'équipement. Renvoie une valeur par défaut de 0 si aucun ID de VLAN n'est fourni ou si la valeur du devices_across_vlans les paramètres sont définis sur true dans le fichier de configuration en cours d'exécution.
- lookupByMAC(addr: Corde , vlan: Numéro ): Appareil
- Renvoie l'équipement L2 qui correspond à l'adresse MAC et à l'ID VLAN spécifiés. Retours
null si aucune correspondance n'est trouvée.
- addr: Corde
- L'adresse MAC de l'équipement.
- vlan: Numéro
- L'ID VLAN de l'équipement. Renvoie une valeur par défaut de 0 si aucun ID de VLAN n'est fourni ou si la valeur du devices_across_vlans les paramètres sont définis sur true dans le fichier de configuration en cours d'exécution.
- toString(): Corde
- Renvoie l'objet Device sous forme de chaîne au
format suivant :
[object Device <discovery_id>]
Méthodes d'instance
Les méthodes décrites dans cette section ne sont présentes que sur les instances de la classe Device. La plupart des méthodes vous permettent de créer des mesures personnalisées au niveau de l'appareil, comme illustré dans l'exemple suivant :
Flow.server.device.metricAddCount("slow_rsp", 1);
Remarque : | Un équipement peut parfois agir en tant que client et parfois en tant que serveur sur un flux.
|
- equals(device: Appareil ): Booléen
- Effectue un test d'égalité entre les objets Device, où device est l' objet à comparer.
- metricAddCount(metric_name: Corde , count: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique de comptage. Valide les données métriques vers l'équipement spécifié.
- metric_name: Corde
- Le nom de la métrique de comptage de niveau supérieur.
- count: Numéro
- La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir la propriété suivante :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailCount(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique de comptage par lequel vous pouvez approfondir. Valide les données
métriques vers l'équipement spécifié.
- metric_name: Corde
- Nom de la métrique du nombre de détails.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- count: Numéro
- La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir la propriété suivante :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDataset(metric_name: Corde , val: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique de l'ensemble de données. Valide les données métriques vers l'équipement
spécifié.
- metric_name: Corde
- Nom de la métrique du jeu de données de niveau supérieur.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- freq: Numéro
- Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailDataset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique de l'ensemble de données par lequel vous pouvez approfondir.
Valide les données métriques vers l'équipement spécifié.
- metric_name: Corde
- Nom de la métrique du nombre de détails.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- freq: Numéro
- Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDistinct(metric_name: Corde , item: Numéro | Corde | Adresse IP :void
- Crée une personnalisation niveau supérieur
métrique de comptage distincte. Valide les
données métriques vers l'équipement spécifié.
- metric_name: Corde
- Le nom de la métrique de comptage distincte de niveau supérieur.
- item: Numéro | Corde | Adresse IP
- La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
- metricAddDetailDistinct(metric_name: Corde , key: Corde | Adresse IP , item: Numéro | Corde | Adresse IP :void
- Crée une personnalisation détail
métrique de comptage distincte par lequel vous pouvez
approfondir. Valide les données métriques vers l'équipement spécifié.
- metric_name: Corde
- Nom de la métrique de comptage distincte détaillée.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- item: Numéro | Corde | Adresse IP
- La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
- metricAddMax(metric_name: Corde , val: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique maximale. Valide les données métriques vers l'équipement
spécifié.
- metric_name: Corde
- Le nom de la métrique maximale de niveau supérieur.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailMax(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique maximale par lequel vous pouvez approfondir.
Valide les données métriques vers l'équipement spécifié.
- metric_name: Corde
- Nom de la métrique maximale de détail.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddSampleset(metric_name: Corde , val: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
Sampleset métrique. Valide les données métriques vers
l'équipement spécifié.
- metric_name: Corde
- Le nom de la métrique de l'ensemble d'échantillons de niveau supérieur.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailSampleset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
- Crée une personnalisation détail
Sampleset métrique par lequel vous pouvez
approfondir. Valide les données métriques vers l'équipement spécifié.
- metric_name: Corde
- Nom de la métrique détaillée de l'ensemble d'échantillons.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddSnap(metric_name: Corde , count: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique de capture d'écran. Valide les données métriques vers
l'équipement spécifié.
- metric_name: Corde
- Nom de la métrique de capture instantanée de niveau supérieur.
- count: Numéro
- La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailSnap(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique de capture d'écran par lequel vous pouvez approfondir.
Valide les données métriques vers l'équipement spécifié.
- metric_name: Corde
- Nom de la métrique détaillée de l'ensemble d'échantillons.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- count: Numéro
- La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
Propriétés de l'instance
Les propriétés suivantes vous permettent de récupérer les attributs de l'équipement et ne sont présentes que sur les instances de la classe Device.
- cdpName: Corde
- Le nom CDP associé à l'équipement, s'il est présent.
- dhcpName: Corde
- Le DHCP nom associé à l'équipement, le cas échéant.
- discoverTime: Numéro
- La dernière fois que le processus de capture a découvert l'équipement (et non l'
heure de découverte initiale), exprimée en millisecondes depuis l'époque (1er janvier 1970). Les appareils
découverts précédemment peuvent être redécouverts par le processus de capture s'ils deviennent inactifs
puis redeviennent actifs, ou si le processus de capture est redémarré.
Pour demander à un déclencheur de s'exécuter uniquement lors de la découverte initiale d'un équipement, consultez le NEW_DEVICE événement discuté dans le Discover classe.
- dnsNames: Array
- Tableau de chaînes répertoriant les noms DNS associés à l'équipement, le cas échéant.
- hasTrigger: Booléen
- La valeur est true si un déclencheur attribué à l'objet Device
est en cours d'exécution.
Si le déclencheur est exécuté sur un événement associé à un Flow objet, le hasTrigger la valeur de la propriété est true sur au moins l'un des objets Device du flux.
Le hasTrigger cette propriété est utile pour distinguer les rôles des équipements. Par exemple, si un déclencheur est attribué à un groupe de serveurs proxy, vous pouvez facilement déterminer si un équipement agit en tant que client ou en tant que serveur, plutôt que de vérifier les adresses IP ou les identifiants des appareils, comme dans l'exemple suivant :
//Event: HTTP_REQUEST if (Flow.server.device.hasTrigger) { // Incoming request } else { // Outgoing request }
- hwaddr: Corde
- L'adresse MAC de l'équipement, le cas échéant.
- id: Corde
- L'identifiant unique à 16 caractères de l'équipement, tel qu'indiqué dans le système ExtraHop sur la page de cet appareil.
- ipaddrs: Array
- Une gamme de IPAddress objets représentant les adresses IP connues de l' appareil. Pour L3 appareils, la matrice contient toujours une adresse IP.
- isGateway: Booléen
- La valeur est true si l'équipement est une passerelle.
- isL3: Booléen
- La valeur est true si l'équipement est un L3
équipement pour enfants.
Important : Si vous n'avez pas activé le système ExtraHop pour découvrir les appareils par adresse IP, la propriété iS3 est toujours définie sur False car le système ne fait pas de distinction entre les appareils enfants L3 et parents L2. - netbiosName: Corde
- Le nom NetBIOS associé à l'équipement, s'il est présent.
- vlanId: Numéro
- L'ID VLAN de l'équipement.
Exemples de déclencheurs
- Exemple : surveillance des actions CIFS sur les appareils
- Exemple : suivi des réponses HTTP de niveau 500 par ID client et URI
- Exemple : collecte des mesures de réponse sur les requêtes de base de données
- Exemple : envoyer les données de l'équipement découvert à un serveur Syslog distant
- Exemple : accéder aux attributs d'en-tête HTTP
- Exemple : enregistrer les succès et les échecs de Memcache
- Exemple : analyse des clés de cache mémoire
- Exemple : analyse de messages PoS personnalisés avec une analyse de charge utile universelle
- Exemple : ajouter des métriques au magasin du cycle métrique
Discover
Le Discover La classe vous permet de récupérer des informations sur les appareils et applications récemment découverts.
Évènements
- NEW_APPLICATION
- S'exécute lorsqu'une application est découverte pour la première fois. Cet événement consomme des
ressources de capture.
Remarque : Vous ne pouvez pas attribuer des déclencheurs qui s'exécutent uniquement lors de cet événement à des appareils ou à des groupes d'équipements spécifiques. Les déclencheurs qui s'exécutent lors de cet événement seront exécutés chaque fois que cet événement se produira. - NEW_DEVICE
- S'exécute lorsque l'activité est observée pour la première fois sur un équipement. Cet événement consomme des
ressources de capture.
Remarque : Vous ne pouvez pas attribuer des déclencheurs qui s'exécutent uniquement lors de cet événement à des appareils ou à des groupes d'équipements spécifiques. Les déclencheurs qui s'exécutent lors de cet événement seront exécutés chaque fois que cet événement se produira.
Propriétés
- application: Demande
- Une application récemment découverte.
S'applique uniquement à NEW_APPLICATION événements.
- device: Appareil
- Un équipement récemment découvert.
S'applique uniquement à NEW_DEVICE événements.
Remarque : Vous ne pouvez pas spécifier cette propriété en tant que participant au commitDetection fonction.
ExternalData
Le ExternalData class vous permet de récupérer les données envoyées depuis des sources externes à l'API Trigger via l'API REST ExtraHop.
Évènements
- EXTERNAL_DATA
- S'exécute chaque fois que des données sont envoyées au système ExtraHop via le Déclencheurs POST/données externes opération.
Flow
Le flux fait référence à une conversation entre deux terminaux sur un protocole tels que TCP, UDP ou ICMP. Le Flow class donne accès à des éléments de ces conversations, tels que les adresses IP des points de terminaison et l'âge du flux. La classe Flow contient également un magasin de flux conçu pour transmettre des objets de la demande à la réponse sur le même flux.
Remarque : | Vous pouvez appliquer la classe Flow sur la plupart L7 événements de protocole, mais il n' est pas pris en charge pour les événements de session ou de banque de données. |
Évènements
Si un flux est associé à un ExtraHop surveillé L7 protocole, les événements qui sont en corrélation avec le protocole seront exécutés en plus des événements de flux. Par exemple, un flux associé à HTTP exécutera également le HTTP_REQUEST et HTTP_RESPONSE événements.
- FLOW_CLASSIFY
- S'exécute chaque fois que le système ExtraHop classe initialement un flux comme étant associé à
un protocole spécifique.
Remarque : Pour les flux TCP, FLOW_CLASSIFY l'événement se déroule après le TCP_OPEN événement. Grâce à une combinaison de L7 analyse de la charge utile, observation des poignées de main TCP et heuristique basée sur les numéros de port , le FLOW_CLASSIFY l'événement identifie le protocole L7 et les rôles des équipements pour les points de terminaison d'un flux tel que client/serveur ou expéditeur/récepteur.
La nature d'un flux peut changer au cours de sa durée de vie, par exemple en cas de tunneling via HTTP ou de passage du SMTP au SMTP-SSL. Dans ces cas, FLOW_CLASSIFY s'exécute à nouveau après le changement de protocole.
Le FLOW_CLASSIFY cet événement est utile pour lancer une action sur un flux sur la base de la connaissance la plus précoce des informations de flux, telles que le protocole L7, les adresses IP client/serveur ou les ports expéditeur/récepteur.
Actions communes initiées le FLOW_CLASSIFY inclure le démarrage d' une PCAP via captureStart() procédé ou association du flux à un contenant d'application via le addApplication() méthode.
Des options supplémentaires sont disponibles lorsque vous créez un déclencheur qui s'exécute sur cet événement. Par défaut, FLOW_CLASSIFY ne s'exécute pas à l' expiration du flux ; toutefois, vous pouvez configurer un déclencheur pour le faire afin de cumuler des métriques pour les flux qui n'étaient pas classés avant leur expiration. Voir Options de déclencheur avancées pour plus d'informations.
- FLOW_DETACH
- S'exécute lorsque l'analyseur a rencontré une erreur inattendue ou est à court de mémoire et
cesse de suivre le flux. De plus, un flux de données de faible qualité avec des paquets manquants peut
provoquer le détachement de l'analyseur.
Le FLOW_DETACH cet événement est utile pour détecter le contenu malveillant envoyé par clients et serveurs. Voici un exemple de la façon dont un déclencheur peut détecter une erreur DNS réponses sur FLOW_DETACH événements :
if (event == "FLOW_DETACH" && Flow.l7proto== "DNS") { Flow.addApplication("Malformed DNS"); }
- FLOW_RECORD
- Permet l'enregistrement des informations relatives à un flux à des intervalles chronométrés. Après FLOW_CLASSIFY a couru, le FLOW_RECORD cet événement aura lieu tous les N secondes et chaque fois qu'un flux se ferme. La valeur par défaut pour N, appelé intervalle de publication, est de 30 minutes ; la valeur minimale est de 60 secondes. Vous pouvez définir l'intervalle de publication dans les paramètres d'administration.
- FLOW_TICK
- Vous permet d'enregistrer des informations sur un flux par quantité de données ou par tour. Le
FLOW_TICK cet événement aura lieu tous les FLOW_TURN ou tous les
128 paquets, selon la première éventualité. Également, L2 les données sont réinitialisées à
chaque FLOW_TICK événement qui vous permet d'additionner des données à chaque
coche. Si vous comptez le débit, collectez les données auprès de FLOW_TICK événements qui
fournissent des mesures plus complètes que
FLOW_TURN.
FLOW_TICK fournit un moyen de vérifier périodiquement l'existence de certaines conditions sur le flux, telles que l'absence de fenêtre ou les délais de Nagle, puis de prendre une action, telle que le lancement d'une PCAP ou l'envoi d'un message syslog.
Voici un exemple de FLOW_TICK:
log("RTT " + Flow.roundTripTime); Remote.Syslog.info( " eh_event=FLOW_TICK" + " ClientIP="+Flow.client.ipaddr+ " ServerIP="+Flow.server.ipaddr+ " ServerPort="+Flow.server.port+ " ServerName="+Flow.server.device.dnsNames[0]+ " RTT="+Flow.roundTripTime);
- FLOW_TURN
- S'exécute à chaque tour TCP ou UDP. Un tour représente un cycle complet d'un client transfert des données de demande suivi du
transfert d'une réponse par un serveur.
FLOW_TURN expose également un Turn objet.
Points de terminaison
Le flux fait référence à une conversation entre deux points de terminaison via un protocole ; un point de terminaison peut être l'un des composants suivants :
- client
- server
- sender
- receiver
Les méthodes et propriétés décrites dans cette section sont appelées ou accessibles pour un point de terminaison spécifié sur le flux. Par exemple, pour accéder au device propriété d'un client HTTP, la syntaxe est Flow.client.device.
Le point de terminaison que vous spécifiez dépend des événements associés au déclencheur. Par exemple, le ACTIVEMQ_MESSAGE L'événement ne prend en charge que les points de terminaison de l'expéditeur et du destinataire. Le tableau suivant affiche la liste des événements qui peuvent être associés à un flux et les points de terminaison pris en charge pour chaque événement :
Événement | Client/Serveur | Expéditeur/récepteur |
---|---|---|
AAA_REQUEST | oui | oui |
AAA_RESPONSE | oui | oui |
AJP_REQUEST | oui | oui |
AJP_RESPONSE | oui | oui |
ACTIVEMQ_MESSAGE | non | oui |
CIFS_REQUEST | oui | oui |
CIFS_RESPONSE | oui | oui |
DB_REQUEST | oui | oui |
DB_RESPONSE | oui | oui |
DHCP_REQUEST | oui | oui |
DHCP_RESPONSE | oui | oui |
DICOM_REQUEST | oui | oui |
DICOM_RESPONSE | oui | oui |
DNS_REQUEST | oui | oui |
DNS_RESPONSE | oui | oui |
FIX_REQUEST | oui | oui |
FIX_RESPONSE | oui | oui |
FLOW_CLASSIFY | oui | non |
FLOW_DETACH | oui | non |
FLOW_RECORD | oui | non |
FLOW_TICK | oui | non |
FLOW_TURN | oui | non |
FTP_REQUEST | oui | oui |
FTP_RESPONSE | oui | oui |
HL7_REQUEST | oui | oui |
HL7_RESPONSE | oui | oui |
HTTP_REQUEST | oui | oui |
HTTP_RESPONSE | oui | oui |
IBMMQ_REQUEST | oui | oui |
IBMMQ_RESPONSE | oui | oui |
ICA_AUTH | oui | non |
ICA_CLOSE | oui | non |
ICA_OPEN | oui | non |
ICA_TICK | oui | non |
ICMP_MESSAGE | non | oui |
KERBEROS_REQUEST | oui | oui |
KERBEROS_RESPONSE | oui | oui |
LDAP_REQUEST | oui | oui |
LDAP_RESPONSE | oui | oui |
MEMCACHE_REQUEST | oui | oui |
MEMCACHE_RESPONSE | oui | oui |
MOBUS_REQUEST | oui | oui |
MODBUS_RESPONSE | oui | oui |
MONGODB_REQUEST | oui | oui |
MONGODB_RESPONSE | oui | oui |
MSMQ_MESSAGE | non | oui |
NFS_REQUEST | oui | oui |
NFS_RESPONSE | oui | oui |
POP3_REQUEST | oui | oui |
POP3_RESPONSE | oui | oui |
REDIS_REQUEST | oui | oui |
REDIS_RESPONSE | oui | oui |
RDP_CLOSE | oui | non |
RDP_OPEN | oui | non |
RDP_TICK | oui | non |
RTCP_MESSAGE | non | oui |
RTP_CLOSE | non | oui |
RTP_OPEN | non | oui |
RTP_TICK | non | oui |
SCCP_MESSAGE | non | oui |
SIP_REQUEST | oui | oui |
SIP_RESPONSE | oui | oui |
SMPP_REQUEST | oui | oui |
SMPP_RESPONSE | oui | oui |
SMTP_REQUEST | oui | oui |
SMTP_RESPONSE | oui | oui |
SSL_ALERT | oui | oui |
SSL_CLOSE | oui | non |
SSL_HEARTBEAT | oui | oui |
SSL_OPEN | oui | non |
SSL_PAYLOAD | oui | oui |
SSL_RECORD | oui | oui |
SSL_RENEGOTIATE | oui | non |
TCP_CLOSE | oui | non |
TCP_OPEN | oui | non |
TCP_PAYLOAD | oui | oui |
UDP_PAYLOAD | oui | oui |
TELNET_MESSAGE | oui | oui |
WEBSOCKET_OPEN | oui | non |
WEBSOCKET_CLOSE | oui | non |
WEBSOCKET_MESSAGE | oui | oui |
- Méthodes de terminaison
-
- commitRecord(): vide
- Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur
FLOW_RECORD événement. Les validations d'enregistrement ne sont pas prises en charge sur
FLOW_CLASSIFY, FLOW_DETACH,
FLOW_TICK, ou FLOW_TURN événements.
Sur un flux, le trafic se déplace dans chaque direction entre deux points terminaux. Le commitRecord() Cette méthode n'enregistre les détails du flux que dans une seule direction, par exemple du client au serveur. Pour enregistrer les détails de l' ensemble du flux, vous devez appeler commitRecord() deux fois, une fois pour chaque direction, et spécifiez le point de terminaison dans la syntaxe, par exemple Flow.client.commitRecord() et Flow.server.commitRecord().
Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si commitRecord() La méthode est appelée plusieurs fois pour le même enregistrement unique.
Pour afficher les propriétés par défaut validées pour l' objet d'enregistrement, consultez record propriété ci-dessous.
- Propriétés des terminaux
-
- bytes: Numéro
- Le nombre de L4 octets de charge utile transmis par un
équipement. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple,
Flow.client.bytes ou
Flow.receiver.bytes.
Accès uniquement sur FLOW_TICK, FLOW_TURN, ou FLOW_RECORD événements ; sinon, une erreur se produira.
- customDevices: Array
- Un ensemble de périphériques personnalisés dans le flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.customDevices ou Flow.receiver.customDevices.
- device: Appareil
- Le Device objet associé à un équipement.
Spécifiez le rôle de l'équipement dans la syntaxe. Par exemple, pour accéder à l'adresse MAC
du client équipement, spécifiez
Flow.client.device.hwaddr.
- equals: Booléen
- Effectue un test d'égalité entre Device objets.
- dscp: Numéro
- Le nombre représentant la dernière valeur du point de code de services différenciés (DSCP) du paquet
de flux.
Spécifiez le rôle de l'équipement dans la syntaxe, par exemple, Flow.client.dscp ou Flow.server.dscp.
- dscpBytes: Array
- Un tableau contenant le nombre de L2 octets pour une valeur de point de code de services différenciés (DSCP)
spécifique transmise par un équipement
du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple,
Flow.client.dscpBytes ou
Flow.server.dscpBytes.
La valeur est zéro pour chaque entrée qui ne contient aucun octet du DSCP spécifique depuis la dernière FLOW_TICK événement.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- dscpName1: Corde
- Le nom associé à la valeur DSCP transmise par le périphérique 1 dans le flux. Le tableau
suivant répertorie les noms DSCP les plus connus :
Numéro Nom 8 CS1 10 AF11 12 AF12 14 AF13 16 CS2 18 AF21 20 AF22 22 AF23 24 CS3 26 AF31 28 AF32 30 AF33 32 CS4 34 AF41 36 AF42 38 AF43 40 CS5 44 VA 46 EF 48 CS6 56 CS7 - dscpName2: Corde
- Le nom associé à la valeur DSCP transmise par le périphérique 2 dans le flux. Le tableau
suivant répertorie les noms DSCP les plus connus :
Numéro Nom 8 CS1 10 AF11 12 AF12 14 AF13 16 CS2 18 AF21 20 AF22 22 AF23 24 CS3 26 AF31 28 AF32 30 AF33 32 CS4 34 AF41 36 AF42 38 AF43 40 CS5 44 VA 46 EF 48 CS6 56 CS7 - dscpPkts: Array
- Un tableau contenant le nombre de L2 paquets pour une valeur de point de code de services différenciés (DSCP)
donnée transmis par un équipement
du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple,
Flow.client.dscpPkts ou
Flow.server.dscpPkts.
La valeur est zéro pour chaque entrée qui ne contient aucun paquet du DSCP spécifique depuis la dernière FLOW_TICK événement.
S'applique uniquement à FLOW_TICK ou FLOW_TURN événements.
- fragPkts: Numéro
- Nombre de paquets résultant de la fragmentation IP transmis par un client ou un équipement
serveur dans le flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple,
Flow.client.fragPkts ou
Flow.server.fragPkts.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- ipaddr1: Adresse IP
- Le IPAddress objet associé à l'appareil 1
dans le flux.
- equals: Booléen
- Effectue un test d'égalité entre IPAddress objets.
- ipaddr2: Adresse IP
- Le IPAddress objet associé à l'appareil 2
dans le flux.
- equals: Booléen
- Effectue un test d'égalité entre IPAddress objets.
- isAborted: Booléen
- La valeur est true si un flux TCP a été interrompu par une
réinitialisation TCP (RST). Le flux peut être interrompu par un équipement. Le cas échéant, spécifiez le rôle de l'
équipement dans la syntaxe, par exemple, Flow.client.isAborted ou
Flow.receiver.isAborted.
Cette condition peut être détectée dans TCP_CLOSE événement et quel que soit l'impact L7 événements (par exemple, HTTP_REQUEST ou DB_RESPONSE).
Remarque : - Un L4 l'abandon se produit lorsqu'une connexion TCP est fermée par un RST au lieu d'un arrêt progressif.
- Un abandon de réponse L7 se produit lorsqu'une connexion se ferme au milieu d'une réponse. Cela peut être dû à un RST, à un arrêt progressif du FIN ou à une expiration.
- L'abandon d'une demande L7 se produit lorsqu'une connexion se ferme au milieu d'une demande. Cela peut également être dû à un RST, à un arrêt progressif du FIN ou à une expiration.
- isShutdown: Booléen
- La valeur est true si l'équipement a initié l'arrêt de la connexion TCP. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple, Flow.client.isShutdown ou Flow.receiver.isShutdown.
- l2Bytes: Numéro
- Le nombre de L2 octets, y compris les en-têtes Ethernet,
transmis par un équipement du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple
Flow.client.l2Bytes ou
Flow.server.l2Bytes.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- nagleDelay: Numéro
- Le nombre de retards Nagle associés à un équipement dans le flux. Spécifiez le rôle de l'
équipement dans la syntaxe, par exemple Flow.client.nagleDelay ou
Flow.server.nagleDelay.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- overlapFragPkts: Numéro
- Nombre de paquets de fragments IP non identiques dont les données se chevauchent et
transmis par un équipement du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple
Flow.client.overlapFragPkts ou
Flow.server.overlapFragPkts.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- overlapSegments: Numéro
- Le nombre de segments TCP non identiques, transmis par un équipement du flux,
où deux segments TCP ou plus contiennent des données pour la même partie du flux. Spécifiez
le rôle de l'équipement dans la syntaxe, par exemple
Flow.client.overlapSegments ou
Flow.server.overlapSegments.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- payload: Tampon
- La charge utile Tampon associé à un équipement
du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple,
Flow.client.payload ou
Flow.receiver.payload.
Accès uniquement sur TCP_PAYLOAD, UDP_PAYLOAD, ou SSL_PAYLOAD événements ; sinon, une erreur se produira.
- pkts: Numéro
- Le nombre de paquets transmis par un équipement dans le flux. Spécifiez le
rôle de l'équipement dans la syntaxe, par exemple Flow.client.pkts ou
Flow.server.pkts.
Accès uniquement sur FLOW_TICK, FLOW_TURN, ou FLOW_RECORD événements ; dans le cas contraire, une erreur se produira.
- port: Numéro
- Numéro de port associé à un équipement du flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.port ou Flow.receiver.port.
- rcvWndThrottle: Numéro
- Le nombre de régulateurs de fenêtre de réception envoyés depuis un équipement du flux. Spécifiez
le rôle de l'équipement dans la syntaxe, par exemple
Flow.client.rcvWndThrottle ou
Flow.server.rcvWndThrottle.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- record: Objet
- L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à
Flow.commitRecord() sur un FLOW_RECORD événement.
L'objet d'enregistrement représente les données provenant d'une seule direction du flux.
L'objet d'enregistrement par défaut peut contenir les propriétés suivantes :
- age
-
bytes (L3)
Remarque : Cette propriété représente le nombre total d'octets transmis par le flux au moment de l'exécution de l'événement FLOW_RECORD . L'événement FLOW_RECORD s'exécute plusieurs fois au cours de chaque flux, de sorte que la valeur augmente à chaque exécution de l'événement. - clientIsExternal
- dscpName
- first
-
firstPayloadBytes
Représentation hexadécimale des 16 premiers octets de charge utile du flux.
- last
- pkts
- proto
- receiverAddr
- receiverIsExternal
- receiverPort
-
roundTripTime
Le temps aller-retour (RTT) le plus récent de ce flux. Un RTT est le temps qu'il a fallu à un équipement pour envoyer un paquet et recevoir un accusé de réception immédiat (ACK).
- senderAddr
- senderIsExternal
- senderPort
- serverIsExternal
- tcpFlags
Spécifiez le rôle de l'équipement dans la syntaxe, par exemple, Flow.client.record ou Flow.server.record.
Accédez à l'objet d'enregistrement uniquement sur FLOW_RECORD événements ; dans le cas contraire, une erreur se produira.
- rto: Numéro
- Le nombre de délais de retransmission
(RTO) associé à un équipement du flux. Spécifiez le
rôle de l'équipement dans la syntaxe, par exemple Flow.client.rto ou
Flow.server.rto.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- totalL2Bytes
- Le nombre d'octets L2 envoyés par un équipement pendant le flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.totalL2Bytes ou Flow.server.totalL2Bytes.
- totalL2Bytes1: Numéro
- Le nombre d'octets L2 envoyés pendant le flux par le périphérique 1.
- totalL2Bytes2: Numéro
- Le nombre d'octets L2 envoyés pendant le flux par le périphérique 2.
- zeroWnd: Numéro
- Nombre de fenêtres nulles envoyées depuis un équipement du flux. Spécifiez le
rôle de l'équipement dans la syntaxe, par exemple Flow.client.zeroWnd ou
Flow.server.zeroWnd.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
Méthodes
- addApplication(name: Corde , turnTiming: Booléen ): vide
- Crée une application portant le nom spécifié et collecte les métriques L2-L4 à partir du flux.
L'application peut être consultée dans le système ExtraHop et les métriques sont affichées
sur une page L4 de l'application. Un flux peut être associé à une ou plusieurs applications
à un instant donné ; les métriques L2-L4 collectées par chaque application seront les mêmes.
Appel Flow.addApplication(name) sur un FLOW_CLASSIFY cet événement est courant sur les protocoles non pris en charge. Pour les flux sur les protocoles pris en charge avec L7 événements déclencheurs, il est recommandé d'appeler le Application(name).commit() méthode, qui collecte un ensemble plus important de métriques de protocole.
L'optionnel turnTiming flag est défini sur false par défaut. S'il est défini sur true, le système ExtraHop collecte des mesures supplémentaires de chronométrage des tours pour le flux. Si cet indicateur est omis, aucune métrique de chronométrage des tours n'est enregistrée pour l'application sur le flux associé. Analyses d'analyse du temps de rotation L4 comportement afin de déduire les temps de traitement L7 lorsque le protocole surveillé suit un modèle de demande client et de réponse du serveur et dans lequel le client envoie le premier message. Les protocoles « bannières » (dans lesquels le serveur envoie le premier message) et les protocoles dans lesquels les données circulent simultanément dans les deux sens ne sont pas recommandés pour l'analyse de la synchronisation des tours.
- captureStart(name: Corde , options: Objet ): Corde
- Lance une capture de paquets de précision (PPCAP) pour le flux et renvoie un
identifiant unique de la capture de paquets sous la forme d'un nombre décimal sous forme de chaîne. Retours
null si la PCAP ne démarre pas.
- name: Corde
- Le nom du fichier de capture de paquets.
- La longueur maximale est de 256 caractères
- Une capture distincte est créée pour chaque flux.
- Les fichiers de capture portant le même nom sont différenciés par des horodatages.
- options: Objet
- Les options contenues dans l'objet de capture. Omettez l'une des options pour indiquer une taille
illimitée pour cette option. Toutes les options s'appliquent à l'ensemble du flux, à l'exception des options
« rétrospectives » qui s'appliquent uniquement à la partie du flux précédant l'événement déclencheur
qui a lancé la capture de paquets.
- maxBytes: Numéro
- Le nombre maximum total d'octets.
- maxBytesLookback: Numéro
- Le nombre maximum total d'octets provenant de la mémoire tampon de visualisation. Le tampon de retour fait référence aux paquets capturés avant l'appel à Flow.captureStart().
- maxDurationMSec: Numéro
- Durée maximale de la PCAP, exprimée en millisecondes.
- maxPackets: Numéro
- Le nombre maximum total de paquets. La valeur maximale peut être dépassée si charge du déclencheur est lourd.
- maxPacketsLookback: Numéro
- Le nombre maximum de paquets provenant de la mémoire tampon de visualisation. Le tampon de retour fait référence aux paquets capturés avant l'appel à Flow.captureStart().
Voici un exemple de Flow.captureStart():
// EVENT: HTTP_REQUEST // capture facebook HTTP traffic flows if (HTTP.uri.indexOf("www.facebook.com") !== -1) { var name = "facebook-" + HTTP.uri; //packet capture options: capture 20 packets, up to 10 from the lookback buffer var opts = { maxPackets: 20, maxPacketsLookback: 10 }; Flow.captureStart(name, opts); }
Remarque : - Le Flow.captureStart() L'appel de fonction nécessite que vous disposiez d'une licence pour la capture de paquets de précision.
- Vous pouvez spécifier le nombre d'octets par paquet (snaplen) que vous souhaitez capturer lors de la configuration du déclencheur dans le système ExtraHop. Cette option n'est disponible que pour certains événements. Voir Options de déclencheur avancées pour plus d' informations.
- Sur les systèmes ExtraHop Performance, les fichiers capturés sont disponibles dans les paramètres d'administration. Sur les systèmes RevealX, les fichiers capturés sont disponibles sur la page Paquets du système ExtraHop.
- Sur les systèmes ExtraHop Performance, si le disque de capture de paquets de précision est plein, aucune nouvelle capture n'est enregistrée tant que l'utilisateur n'a pas supprimé les fichiers manuellement. Sur les systèmes Reveal, les anciennes captures de paquets sont supprimées lorsque le disque de capture de paquets de précision est plein pour permettre au système de continuer à enregistrer de nouvelles captures de paquets.
- La longueur maximale de la chaîne de nom de fichier est de 256 caractères. Si le nom dépasse 256 caractères, il sera tronqué et un message d'avertissement sera visible dans le journal de débogage, mais le déclencheur continuera à s'exécuter.
- La taille du fichier de capture est la valeur maximale atteinte en premier entre maxPackets et maxBytes options.
- La taille de la mémoire tampon de capture est la valeur maximale atteinte en premier entre maxPacketsLookback et maxBytesLookback options.
- Chacun a réussi max* le paramètre capturera jusqu'à la limite de paquet suivante.
- Si la PCAP a déjà été lancée sur le flux en cours, Flow.captureStart() les appels génèrent un avertissement visible dans le journal de débogage, mais le déclencheur continuera à fonctionner.
- Il existe un maximum de 128 captures de paquets simultanées dans le système. Si cette limite est atteinte, les appels suivants à Flow.captureStart() générera un avertissement visible dans le journal de débogage, mais le déclencheur continuera à s'exécuter.
- captureStop(): Booléen
- Arrête une PCAP en cours sur le flux actuel.
- commitRecord1(): vide
- Envoie un enregistrement à l'espace de stockage des enregistrements configuré qui représente les données envoyées depuis
device1 dans une seule direction sur le flux.
Vous ne pouvez appeler cette méthode que sur FLOW_RECORD événements, et chaque enregistrement unique n'est validé qu'une seule fois pour les enregistrements intégrés.
Pour afficher les propriétés validées pour l'objet d'enregistrement, consultez record propriété ci-dessous.
- commitRecord2(): vide
- Envoie un enregistrement à l'espace de stockage des enregistrements configuré qui représente les données envoyées depuis
device2 dans une seule direction sur le flux.
Vous ne pouvez appeler cette méthode que sur FLOW_RECORD événements, et chaque enregistrement unique n'est validé qu'une seule fois pour les enregistrements intégrés.
Pour afficher les propriétés validées pour l'objet d'enregistrement, consultez record propriété ci-dessous.
- findCustomDevice(deviceID: Corde ): Appareil
- Renvoie un seul Device objet qui correspond au paramètre DeviceID spécifié si l'équipement est situé de part et d'autre du flux. Retours null si aucun équipement correspondant n'est trouvé.
- getApplications(): Corde
- Récupère toutes les applications associées au flux.
Propriétés
Les propriétés et méthodes de l'objet Flow décrites dans cette section sont accessibles à tous L7 événement déclencheur associé au flux.
Par défaut, le système ExtraHop utilise une classification des protocoles mal initiée. Il essaiera donc de classer les flux même après le lancement de la connexion. L'initiation libre peut être désactivée pour les ports qui ne transportent pas toujours le trafic du protocole (par exemple, le port générique 0). Pour de tels flux, device1, port1, et ipaddr1 représenter l'équipement dont l'adresse IP est numériquement inférieure et device2, port2, et ipaddr2 représente l'équipement dont l'adresse IP est numériquement la plus élevée.
- age: Numéro
- Le temps écoulé depuis le début du flux, exprimé en secondes.
- bytes1: Numéro
- Le nombre de L4 octets de charge utile transmis par l'un des deux
périphériques du flux ; l'autre équipement est représenté par bytes2. L'
équipement représenté par bytes1 reste constant pour le flux.
Accès uniquement sur FLOW_TICK, FLOW_TURN, ou FLOW_RECORD événements ; sinon, une erreur se produira.
- bytes2: Numéro
- Le nombre de L4 octets de charge utile transmis par l'un des deux
périphériques du flux ; l'autre équipement est représenté par bytes1. L'
équipement représenté par bytes2 reste constant pour le flux.
Accès uniquement sur FLOW_TICK, FLOW_TURN, ou FLOW_RECORD événements ; sinon, une erreur se produira.
- customDevices1: Array
- Une gamme de produits personnalisés Device objets d'un flux. Les appareils personnalisés situés de l'autre côté du flux sont disponibles en accédant customDevices2. L'équipement représenté par customDevices1 reste constant pour le flux.
- customDevices2: Array
- Une gamme de produits personnalisés Device objets d'un flux. Les appareils personnalisés situés de l'autre côté du flux sont disponibles en accédant customDevices1. L'équipement représenté par customDevices2 reste constant pour le flux.
- device1: Appareil
- Le Device objet associé à l'un des deux
appareils du flux ; l'autre équipement est représenté par device2. L'
équipement représenté par device1 reste constant pour le flux. Par
exemple, Flow.device1.hwaddr accède aux adresses MAC de cet équipement
dans le flux.
- equals: Booléen
- Effectue un test d'égalité entre Device objets.
- device2: Appareil
- Le Device objet associé à l'un des deux
appareils du flux ; l'autre équipement est représenté par device1. L'
équipement représenté par device2 reste constant pour le flux. Par
exemple, Flow.device2.hwaddr accède aux adresses MAC de cet équipement
dans le flux.
- equals: Booléen
- Effectue un test d'égalité entre Device objets.
- dscp1: Numéro
- Le numéro représentant la dernière valeur de point de code de services différenciés (DSCP) transmise par l'un des deux appareils du flux ; l'autre équipement est représenté par dscp2. L'équipement représenté par dscp1 reste constant pour le flux.
- dscp2: Numéro
- Le lnumber représentant la dernière valeur de point de code de services différenciés (DSCP) transmise par l'un des deux appareils du flux ; l'autre équipement est représenté par dscp1. L'équipement représenté par dscp2 reste constant pour le flux.
- dscpBytes1: Array
- Un tableau contenant le nombre de L2 octets pour une valeur de point de code de services
différenciés (DSCP) spécifique transmise par l'un des deux périphériques du
flux ; l'autre équipement est représenté par dscpBytes2. L'équipement
représenté par dscpBytes1 reste constant pour le flux.
La valeur est zéro pour chaque entrée qui ne contient aucun octet du DSCP spécifique depuis la dernière FLOW_TICK événement.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- dscpBytes2: Array
- Un tableau contenant le nombre de L2 octets pour une valeur de point de code de services
différenciés (DSCP) spécifique transmise par l'un des deux périphériques du
flux ; l'autre équipement est représenté par dscpBytes1. L'équipement
représenté par dscpBytes2 reste constant pour le flux.
La valeur est zéro pour chaque entrée qui ne contient aucun octet du DSCP spécifique depuis la dernière FLOW_TICK événement.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- dscpName1: Corde
- Le nom associé à la valeur DSCP transmise par l'un des deux périphériques du flux ;
l'autre équipement est représenté par dscpName2. L'équipement représenté par
dscpName1 reste constant pour le flux.
Consultez les dscpName propriété dans le Points de terminaison section pour une liste des noms de code DSCP pris en charge.
- dscpName2: Corde
- Le nom associé à la valeur DSCP transmise par l'un des deux périphériques du flux ;
l'autre équipement est représenté par dscpName1. L'équipement représenté par
dscpName2 reste constant pour le flux.
Consultez les dscpName propriété dans le Points de terminaison section pour une liste des noms de code DSCP pris en charge.
- dscpPkts1: Array
- Un tableau contenant le nombre de L2 paquets pour une valeur de point de code de services
différenciés (DSCP) donnée transmis par l'un des deux périphériques du
flux ; l'autre équipement est représenté par dscpPkts2. L'équipement
représenté par dscpPkts1 reste constant pour le flux.
La valeur est zéro pour chaque entrée qui ne contient aucun paquet du DSCP spécifique depuis la dernière FLOW_TICK événement.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- dscpPkts2: Array
- Un tableau contenant le nombre de L2 paquets pour une valeur de point de code de services
différenciés (DSCP) donnée transmis par l'un des deux périphériques du
flux ; l'autre équipement est représenté par dscpPkts1. L'équipement
représenté par dscpPkts2 reste constant pour le flux.
La valeur est zéro pour chaque entrée qui ne contient aucun paquet du DSCP spécifique depuis la dernière FLOW_TICK événement.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- fragPkts1: Numéro
- Le nombre de paquets résultant de la fragmentation IP transmis par l'un des deux
appareils du flux ; l'autre équipement est représenté par fragPkts2. L'
équipement représenté par fragPkts1 reste constant pour le
flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- fragPkts2: Numéro
- Le nombre de paquets résultant de la fragmentation IP transmis par l'un des deux
appareils du flux ; l'autre équipement est représenté par fragPkts1. L'
équipement représenté par fragPkts2 reste constant pour le
flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- id: Corde
- L'identifiant unique d'un enregistrement Flow.
- ipaddr: Adresse IP
- LeIPAddress objet associé à un équipement du
flux. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple
Flow.client.ipaddr ou Flow.receiver.ipaddr.
- equals: Booléen
- Effectue un test d'égalité entre IPAddress objets.
- ipproto: Corde
- Le protocole IP associé au flux, tel que TCP ou UDP.
- ipver: Corde
- Version IP associée au flux, telle que IPv4 ou IPv6.
- isAborted: Booléen
- La valeur est true si un flux TCP a été interrompu par une réinitialisation TCP
(RST). Le flux peut être interrompu par un équipement. Le cas échéant, spécifiez le rôle de l'équipement dans
la syntaxe, par exemple, Flow.client.isAborted ou
Flow.receiver.isAborted.
Cette condition peut être détectée dans TCP_CLOSE événement et quel que soit l'impact L7 événements (par exemple, HTTP_REQUEST ou DB_RESPONSE).
Remarque : - Un L4 l'abandon se produit lorsqu'une connexion TCP est fermée par un RST au lieu d'un arrêt progressif.
- Un abandon de réponse L7 se produit lorsqu'une connexion se ferme alors qu'une réponse est en cours de réponse. Cela peut être dû à un RST, à un arrêt progressif du FIN ou à une expiration.
- L'abandon d'une demande L7 se produit lorsqu'une connexion se ferme au milieu d'une demande. Cela peut également être dû à un RST, à un arrêt progressif du FIN ou à une expiration.
- isExpired: Booléen
- La valeur est true si le flux a expiré au moment de l'événement.
- isShutdown: Booléen
- La valeur est true si l'équipement a initié l'arrêt de la connexion TCP. Spécifiez le rôle de l'équipement dans la syntaxe, par exemple Flow.client.isShutdown ou Flow.receiver.isShutdown.
- l2Bytes1: Numéro
- Le nombre de L2 octets, y compris les en-têtes Ethernet,
transmis par l'un des deux périphériques du flux ; l'autre équipement est représenté par
l2Bytes2. L'équipement représenté par l2Bytes1 reste
constant pour le flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- l2Bytes2: Numéro
- Le nombre de L2 octets, y compris les en-têtes Ethernet,
transmis par l'un des deux périphériques du flux ; l'autre équipement est représenté par
l2Bytes1. L'équipement représenté par l2Bytes2 reste
constant pour le flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- l7proto: Corde
- Le protocole L7 associé au flux. Pour les protocoles connus, la propriété renvoie une
chaîne représentant le nom du protocole, tel que HTTP, DHCP,
Memcache. Pour les protocoles moins connus, la propriété
renvoie une chaîne au format ipproto:port—tcp:13724
ou udp:11258 Pour les noms de protocoles personnalisés, la propriété renvoie une chaîne
représentant le nom défini dans la section Classification des protocoles des paramètres d'
administration.
Cette propriété n'est pas valide pendant TCP_OPEN événements.
- nagleDelay1: Numéro
- Le nombre de retards de Nagle associés à l'un des deux appareils du flux ; l'autre
équipement est représenté par nagleDelay2. L'équipement représenté par
nagleDelay1 reste constant pour le flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- nagleDelay2: Numéro
- Le nombre de retards de Nagle associés à l'un des deux appareils du flux ; l'autre
équipement est représenté par nagleDelay1. L'équipement représenté par
nagleDelay2 reste constant pour le flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- overlapFragPkts1: Numéro
- Le nombre de paquets de fragments IP non identiques transmis par l'un des deux périphériques
du flux ; l'autre équipement est représenté par overlapFragPkts2. L'
équipement représenté par overlapFragPkts1 reste constant pour le
flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- overlapFragPkts2: Numéro
- Le nombre de paquets de fragments IP non identiques transmis par l'un des deux périphériques
du flux ; l'autre équipement est représenté par overlapFragPkts1. L'
équipement représenté par overlapFragPkts2 reste constant pour le
flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- overlapSegments1: Numéro
- Le nombre de segments TCP non identiques dans lesquels deux segments ou plus contiennent des données pour
la même partie du flux. Les segments TCP sont transmis par l'un des deux équipements du
flux ; l'autre équipement est représenté par overlapSegments2. L'équipement
représenté par overlapSegments1 reste constant pour le
flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- overlapSegments2: Numéro
- Le nombre de segments TCP non identiques dans lesquels deux segments ou plus contiennent des données pour
la même partie du flux. Les segments TCP sont transmis par l'un des deux équipements du
flux ; l'autre équipement est représenté par overlapSegments1. L'équipement
représenté par overlapSegments2 reste constant pour le
flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- payload1: Tampon
- La charge utile Tampon associé à l'un des deux
appareils du flux ; l'autre équipement est représenté par payload2. L'
équipement représenté par payload1 reste constant pour le
flux.
Accès uniquement sur TCP_PAYLOAD, UDP_PAYLOAD, et SSL_PAYLOAD événements ; sinon, une erreur se produira.
- payload2: Tampon
- La charge utile Tampon associé à l'un des deux
appareils du flux ; l'autre équipement est représenté par payload1. L'
équipement représenté par payload2 reste constant pour le
flux.
Accès uniquement sur TCP_PAYLOAD, UDP_PAYLOAD, ou SSL_PAYLOAD événements ; sinon, une erreur se produira.
- pkts1: Numéro
- Le nombre de paquets transmis par l'un des deux appareils du flux ; l'autre équipement
est représenté par pkts2. L'équipement représenté par
pkts1 reste constant pour le flux.
Accès uniquement sur FLOW_TICK, FLOW_TURN, ou FLOW_RECORD événements ; sinon, une erreur se produira.
- pkts2: Numéro
- Le nombre de paquets transmis par l'un des deux appareils du flux ; l'autre équipement
est représenté par pkts1. L'équipement représenté par
pkts2 reste constant pour le flux.
Accès uniquement sur FLOW_TICK, FLOW_TURN, ou FLOW_RECORD événements ; sinon, une erreur se produira.
- port1: Numéro
- Le numéro de port associé à l'un des deux périphériques d'un flux ; l'autre appareil est représenté par port2. L'équipement représenté par port1 reste constant pour le flux.
- port2: Numéro
- Le numéro de port associé à l'un des deux périphériques d'un flux ; l'autre appareil est représenté par port1. L'équipement représenté par port2 reste constant pour le flux.
- rcvWndThrottle1: Numéro
- Le nombre de régulateurs de fenêtre de réception envoyés par l'un des deux appareils du flux ; l'autre
appareil est représenté par rcvWndThrottle2. L'équipement représenté
par rcvWndThrottle1 reste constant pour le flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- rcvWndThrottle2: Numéro
- Le nombre de régulateurs de fenêtre de réception envoyés par l'un des deux appareils du flux ; l'autre
appareil est représenté par rcvWndThrottle1. L'équipement représenté
par rcvWndThrottle2 reste constant pour le flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- record1: Objet
- L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à
Flow.commitRecord1() sur un FLOW_RECORD événement.
L' objet représente le trafic envoyé dans une seule direction depuis l'un des deux appareils du flux ; l'autre appareil est représenté par le record2 propriété. L' équipement représenté par record1 la propriété reste constante pour le flux.
Accédez à l'objet d'enregistrement uniquement sur FLOW_RECORD événements ; sinon, une erreur se produira.
L'objet d'enregistrement par défaut peut contenir les propriétés suivantes :
- age
- bytes (L3)
- clientIsExternal
- dscpName
- first
- last
- pkts
- proto
- receiverAddr
- receiverIsExternal
- receiverPort
-
roundTripTime
Le temps aller-retour (RTT) le plus récent de ce flux. Un RTT est le temps qu'il a fallu à un équipement pour envoyer un paquet et recevoir un accusé de réception immédiat (ACK).
- senderAddr
- senderIsExternal
- senderPort
- serverIsExternal
-
tcpOrigin
Ce champ d'enregistrement n'est inclus que si l'enregistrement représente le trafic envoyé depuis un équipement client ou expéditeur.
- tcpFlags
- record2: Objet
- L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à
Flow.commitRecord2() sur un FLOW_RECORD événement.
L' objet représente le trafic envoyé dans une seule direction depuis l'un des deux appareils du flux ; l'autre appareil est représenté par le record1 propriété. L' équipement représenté par record2 la propriété reste constante pour le flux.
Accédez à l'objet d'enregistrement uniquement sur FLOW_RECORD événements ; sinon, une erreur se produira.
L'objet d'enregistrement par défaut peut contenir les propriétés suivantes :
- age
- bytes (L3)
- clientIsExternal
- dscpName
- first
- last
- pkts
- proto
- receiverAddr
- receiverIsExternal
- receiverPort
-
roundTripTime
Le temps aller-retour (RTT) le plus récent de ce flux. Un RTT est le temps qu'il a fallu à un équipement pour envoyer un paquet et recevoir un accusé de réception immédiat (ACK).
- senderAddr
- senderIsExternal
- senderPort
- serverIsExternal
-
tcpOrigin
Ce champ d'enregistrement n'est inclus que si l'enregistrement représente le trafic envoyé depuis un équipement client ou expéditeur.
- tcpFlags
- roundTripTime: Numéro
- Temps médian aller-retour (RTT) pendant la durée de l'événement, exprimé en
millisecondes. La valeur est
NaN
s'il
n'y a pas d'échantillons RTT.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- rto1: Numéro
- Le nombre de délais de retransmission
(RTO) associé à l'un des deux appareils du flux ; l'autre appareil est représenté par
rto2. L'équipement représenté par rto1 reste
constant pour le flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- rto2: Numéro
- Le nombre de délais de retransmission
(RTO) associé à l'un des deux appareils du flux ; l'autre appareil est représenté par
rto1. L'équipement représenté par rto2 reste
constant pour le flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- store: Objet
- Le magasin de flux est conçu pour transmettre des objets de la demande à la réponse sur le même flux.
Le store object est une instance d'un objet JavaScript vide. Les objets
peuvent être attachés au magasin en tant que propriétés en définissant la clé de propriété et la
valeur de la propriété. Par exemple :
Flow.store.myobject = "myvalue";
Pour les événements qui se produisent sur le même flux, vous pouvez appliquer le magasin de flux au lieu de la table de session pour partager des informations. Par exemple :
// request Flow.store.userAgent = HTTP.userAgent; // response var userAgent = Flow.store.userAgent;
Important : Les valeurs du magasin de flux persistent pour toutes les demandes et réponses transmises par ce flux. Lorsque vous utilisez le magasin de flux, il est recommandé de définir la variable de stockage de flux sur null lorsque sa valeur ne doit pas être transmise à la demande ou à la réponse suivante. Cette pratique présente l'avantage supplémentaire de conserver la mémoire de stockage des flux. La plupart des déclencheurs de stockage de flux doivent avoir une structure similaire à l' exemple suivant :
if (event === 'DB_REQUEST') { if (DB.statement) { Flow.store.stmt = DB.statement; } else { Flow.store.stmt = null; } } else if (event === 'DB_RESPONSE') { var stmt = Flow.store.stmt; Flow.store.stmt = null; if (stmt) { // Do something with 'stmt'; // for example, commit a metric } }
Remarque : Étant donné que les demandes DHCP se produisent souvent sur des flux différents des réponses DHCP correspondantes, nous vous recommandons de combiner les informations de demande et de réponse DHCP en stockant les ID de transaction DHCP dans la table de session. Par exemple, le code de déclencheur suivant crée une métrique qui permet de suivre le nombre de messages de découverte DHCP qui ont reçu un message d'offre DHCP correspondant : if (event === 'DHCP_REQUEST'){ var opts = { expire: 30 }; Session.add(DHCP.txId.toString(), DHCP.msgType, opts); } else if (event === 'DHCP_RESPONSE'){ var reqMsgType = Session.lookup(DHCP.txId.toString()); if (reqMsgType && DHCP.msgType === 'DHCPOFFER') { Device.metricAddCount('dhcp-discover-offer', 1); } }
- tcpOrigin: Adresse IP | Null
- L'adresse IP d'origine du client ou de l'expéditeur si elle est spécifiée par un proxy réseau dans l' option TCP 28.
- vlan: Numéro
- Le numéro de VLAN associé au flux. Si aucune balise VLAN n'est présente, cette valeur est définie sur 0.
- vxlanVNI: Numéro
- Numéro d'identifiant réseau VXLAN associé au flux. Si aucune balise VXLAN n'est présente, cette valeur est définie sur NaN .
- zeroWnd1: Numéro
- Le nombre de fenêtres nulles associées à l'un des deux appareils du flux ; l'autre
équipement est représenté par zeroWnd2. L'équipement représenté par
zeroWnd1 reste constant pour le flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
- zeroWnd2: Numéro
- Le nombre de fenêtres nulles associées à l'un des deux appareils du flux ; l'autre
équipement est représenté par zeroWnd1. L'équipement représenté par
zeroWnd2 reste constant pour le flux.
Accès uniquement sur FLOW_TICK ou FLOW_TURN événements ; sinon, une erreur se produira.
Exemples de déclencheurs
- Exemple : surveillance des actions CIFS sur les appareils
- Exemple : suivi des réponses HTTP de niveau 500 par ID client et URI
- Exemple : analyse de messages PoS personnalisés avec une analyse de charge utile universelle
- Exemple : analyse du syslog sur TCP avec une analyse de charge utile universelle
- Exemple : analyse NTP avec analyse de charge utile universelle
- Exemple : suivre les requêtes SOAP
FlowInterface
Le FlowInterface La classe vous permet de récupérer les attributs de l'interface de flux et d'ajouter des métriques personnalisées au niveau de l'interface.
Méthodes
- FlowInterface(id: chaîne )
- Constructeur de l'objet FlowInterface qui accepte un ID d'interface de flux. Une erreur se produit si l'identifiant de l'interface de flux n'existe pas sur le système ExtraHop.
Méthodes d'instance
Les méthodes décrites dans cette section vous permettent de créer des mesures personnalisées sur une interface de flux. Les méthodes ne sont présentes que sur les instances de NetFlow classe. Par exemple, l'instruction suivante collecte des métriques du trafic NetFlow sur l'interface d' entrée :
NetFlow.ingressInterface.metricAddCount("slow_rsp", 1);
Cependant, vous pouvez appeler la méthode FlowInterface en tant que méthode statique sur NETFLOW_RECORD événements. Par exemple, l'instruction suivante collecte des métriques du trafic NetFlow sur les interfaces d'entrée et de sortie :
FlowInterface.metricAddCount("slow_rsp", 1);
- metricAddCount(metric_name: Corde , count: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique de comptage. Valide les données métriques dans l'interface de
flux spécifiée.
- metric_name: Corde
- Le nom de la métrique de comptage de niveau supérieur.
- count: Numéro
- La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir la propriété suivante :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailCount(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique de comptage par lequel vous pouvez approfondir. Valide les données
métriques dans l'interface de flux spécifiée.
- metric_name: Corde
- Nom de la métrique du nombre de détails.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- count: Numéro
- La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir la propriété suivante :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDataset(metric_name: Corde , val: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique de l'ensemble de données. Valide les données métriques dans l'interface de flux
spécifiée.
- metric_name: Corde
- Nom de la métrique du jeu de données de niveau supérieur.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- freq: Numéro
- Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailDataset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique de l'ensemble de données par lequel vous pouvez approfondir.
Valide les données métriques dans l'interface de flux spécifiée.
- metric_name: Corde
- Nom de la métrique du nombre de détails.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- freq: Numéro
- Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDistinct(metric_name: Corde , item: Numéro | Corde | Adresse IP :void
- Crée une personnalisation niveau supérieur
métrique de comptage distincte. Valide les
données métriques dans l'interface de flux spécifiée.
- metric_name: Corde
- Nom de la métrique de comptage distincte de niveau supérieur.
- item: Numéro | Corde | Adresse IP
- La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
- metricAddDetailDistinct(metric_name: Corde , key: Corde | Adresse IP , item: Numéro | Corde | Adresse IP :void
- Crée une personnalisation détail
métrique de comptage distincte par lequel vous pouvez
approfondir. Valide les données métriques dans l'interface de flux spécifiée.
- metric_name: Corde
- Nom de la métrique de comptage distincte détaillée.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- item: Numéro | Corde | Adresse IP
- La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
- metricAddMax(metric_name: Corde , val: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique maximale. Valide les données métriques dans l'interface de flux
spécifiée.
- metric_name: Corde
- Le nom de la métrique maximale de niveau supérieur.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailMax(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique maximale par lequel vous pouvez approfondir.
Valide les données métriques dans l'interface de flux spécifiée.
- metric_name: Corde
- Nom de la métrique maximale de détail.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddSampleset(metric_name: Corde , val: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
Sampleset métrique. Valide les données métriques
dans l'interface de flux spécifiée.
- metric_name: Corde
- Le nom de la métrique de l'ensemble d'échantillons de niveau supérieur.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailSampleset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
- Crée une personnalisation détail
Sampleset métrique par lequel vous pouvez
approfondir. Valide les données métriques dans l'interface de flux spécifiée.
- metric_name: Corde
- Nom de la métrique détaillée de l'ensemble d'échantillons.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddSnap(metric_name: Corde , count: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique de capture d'écran. Valide les données métriques
dans l'interface de flux spécifiée.
- metric_name: Corde
- Nom de la métrique de capture instantanée de niveau supérieur.
- count: Numéro
- La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailSnap(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique de capture d'écran par lequel vous pouvez approfondir.
Valide les données métriques dans l'interface de flux spécifiée.
- metric_name: Corde
- Nom de la métrique détaillée de l'ensemble d'échantillons.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- count: Numéro
- La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
FlowNetwork
Le FlowNetwork class vous permet de récupérer les attributs du réseau de flux et d'ajouter des métriques personnalisées au niveau du réseau de flux.
Méthodes
- FlowNetwork(id: chaîne )
- Un constructeur pour l'objet FlowNetwork qui accepte un identifiant de réseau de flux. Une erreur se produit si l'identifiant du réseau de flux n'existe pas sur le système ExtraHop.
Méthodes d'instance
Les méthodes décrites dans cette section vous permettent de créer des mesures personnalisées sur un réseau de flux. Les méthodes ne sont présentes que sur les instances de NetFlow classe. Par exemple, l'instruction suivante collecte des métriques du trafic NetFlow sur un réseau individuel :
NetFlow.network.metricAddCount("slow_rsp", 1);
Cependant, vous pouvez appeler la méthode FlowNetwork en tant que méthode statique sur NETFLOW_RECORD événements. Par exemple, l'instruction suivante collecte des mesures du trafic NetFlow sur les deux appareils du réseau de flux :
FlowNetwork.metricAddCount("slow_rsp", 1);
- metricAddCount(metric_name: Corde , count: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique de comptage. Valide les données métriques dans le réseau de
flux spécifié.
- metric_name: Corde
- Le nom de la métrique de comptage de niveau supérieur.
- count: Numéro
- La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir la propriété suivante :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailCount(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique de comptage par lequel vous pouvez approfondir. Valide les données
métriques dans le réseau de flux spécifié.
- metric_name: Corde
- Nom de la métrique du nombre de détails.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- count: Numéro
- La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir la propriété suivante :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDataset(metric_name: Corde , val: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique de l'ensemble de données. Valide les données métriques dans le réseau de flux
spécifié.
- metric_name: Corde
- Nom de la métrique du jeu de données de niveau supérieur.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- freq: Numéro
- Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailDataset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique de l'ensemble de données par lequel vous pouvez approfondir.
Valide les données métriques dans le réseau de flux spécifié.
- metric_name: Corde
- Nom de la métrique du nombre de détails.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- freq: Numéro
- Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDistinct(metric_name: Corde , item: Numéro | Corde | Adresse IP :void
- Crée une personnalisation niveau supérieur
métrique de comptage distincte. Valide les
données métriques dans le réseau de flux spécifié.
- metric_name: Corde
- Nom de la métrique de comptage distincte de niveau supérieur.
- item: Numéro | Corde | Adresse IP
- La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
- metricAddDetailDistinct(metric_name: Corde , key: Corde | Adresse IP , item: Numéro | Corde | Adresse IP :void
- Crée une personnalisation détail
métrique de comptage distincte par lequel vous pouvez
approfondir. Valide les données métriques dans le réseau de flux spécifié.
- metric_name: Corde
- Nom de la métrique de comptage distincte détaillée.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- item: Numéro | Corde | Adresse IP
- La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
- metricAddMax(metric_name: Corde , val: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique maximale. Valide les données métriques dans le réseau de flux
spécifié.
- metric_name: Corde
- Le nom de la métrique maximale de niveau supérieur.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailMax(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique maximale par lequel vous pouvez approfondir.
Valide les données métriques dans le réseau de flux spécifié.
- metric_name: Corde
- Nom de la métrique maximale de détail.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddSampleset(metric_name: Corde , val: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
Sampleset métrique. Valide les données métriques
dans le réseau de flux spécifié.
- metric_name: Corde
- Le nom de la métrique de l'ensemble d'échantillons de niveau supérieur.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailSampleset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
- Crée une personnalisation détail
Sampleset métrique par lequel vous pouvez
approfondir. Valide les données métriques dans le réseau de flux spécifié.
- metric_name: Corde
- Nom de la métrique détaillée de l'ensemble d'échantillons.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddSnap(metric_name: Corde , count: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique de capture d'écran. Valide les données métriques
dans le réseau de flux spécifié.
- metric_name: Corde
- Nom de la métrique de capture instantanée de niveau supérieur.
- count: Numéro
- La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailSnap(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique de capture d'écran par lequel vous pouvez approfondir.
Valide les données métriques dans le réseau de flux spécifié.
- metric_name: Corde
- Nom de la métrique détaillée de l'ensemble d'échantillons.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- count: Numéro
- La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
GeoIP
Le GeoIP class vous permet de récupérer l'emplacement approximatif d'une adresse spécifique au niveau du pays ou de la ville.
Méthodes
Les valeurs renvoyées par les méthodes GeoIP sont obtenues à partir du MaxMind GeoLite2, base de données par pays ou le Base de données MaxMind GeoLite2 City sauf configuration contraire par le Source de données Geomap paramètres dans les paramètres d'administration.
À partir des paramètres de la source de données Geomap, vous pouvez télécharger des bases de données personnalisées et spécifier la base de données à référencer par défaut pour les recherches de villes ou de pays.
Nous vous recommandons de télécharger uniquement une base de données personnalisée au niveau de la ville si vous avez l'intention d'appeler les deux GeoIP.getCountry() et GeoIP.getPreciseLocation() méthodes dans les déclencheurs. Si les deux types de bases de données personnalisées sont téléchargés, le système ExtraHop extrait les valeurs des deux méthodes dans la base de données au niveau de la ville et ignore la base de données au niveau du pays, qui est considérée comme un sous-ensemble de la base de données au niveau de la ville.
- getCountry(ipaddr: Adresse IP ): Objet
- Renvoie le détail au niveau du pays pour le paramètre spécifié IPAddress dans un objet contenant les
champs suivants :
- continentName: Corde
- Le nom du continent, tel que Europe, qui est associé au pays d'origine de l'adresse IP spécifiée. La valeur est identique à continentName champ renvoyé par getPreciseLocation() méthode.
- continentCode: Numéro
- Le code du continent, tel que EU, qui est associé à la valeur du countryCode champ, conformément à la norme ISO 3166. La valeur est identique à continentCode champ renvoyé par getPreciseLocation() méthode.
- countryName: Corde
- Le nom du pays d'où provient l'adresse IP spécifiée, tel que United States. La valeur est identique à countryName champ renvoyé par getPreciseLocation() méthode.
- countryCode: Corde
- Le code associé au pays, conformément à la norme ISO 3166, tel que US. La valeur est identique à countryCode champ renvoyé par le getPreciseLocation() méthode.
Retours null dans un champ pour lequel aucune donnée n'est disponible, ou renvoie un null objet si toutes les données du champ ne sont pas disponibles.
Remarque : Le getCountry() La méthode nécessite 20 Mo de RAM totale sur le système ExtraHop, ce qui peut affecter les performances du système. La première fois que cette méthode est appelée dans un déclencheur, le système ExtraHop réserve la quantité de RAM requise, sauf si getPreciseLocation() la méthode a déjà été appelée. Le getPreciseLocation() la méthode nécessite 100 Mo de RAM, donc suffisamment de RAM sera déjà disponible pour appeler le getCountry() méthode. La quantité de RAM requise n'est pas par déclencheur ou par appel de méthode ; le système ExtraHop ne réserve la quantité de RAM requise qu'une seule fois. Dans l'exemple de code suivant , getCountry() la méthode est appelée pour chaque événement spécifié et récupère des données de localisation approximatives pour chaque adresse IP du client :
// ignore if the IP address is non-routable if (Flow.client.ipaddr.isRFC1918) return; var results=GeoIP.getCountry(Flow.client.ipaddr); if (results) { countryCode=results.countryCode; // log the 2-letter country code of each IP address debug ("Country Code is " + results.countryCode); }
- getPreciseLocation(ipaddr: Adresse IP ): Objet
- Renvoie les détails au niveau de la ville pour le paramètre spécifié IPAddress dans un objet contenant les champs suivants :
- continentName: Corde
- Le nom du continent, tel que Europe, qui est associé au pays d'origine de l'adresse IP spécifiée. La valeur est identique à continentName champ renvoyé par getCountry() méthode.
- continentCode: Numéro
- Le code du continent, tel que EU, qui est associé à la valeur du countryCode champ, conformément à la norme ISO 3166. La valeur est identique à continentCode champ renvoyé par getCountry() méthode.
- countryName: Corde
- Le nom du pays d'où provient l'adresse IP spécifiée, tel que United States. La valeur est identique à countryName champ renvoyé par getCountry() méthode.
- countryCode: Corde
- Le code associé au pays, conformément à la norme ISO 3166, tel que US. La valeur est identique à countryCode champ renvoyé par le getCountry() méthode.
- region: Corde
- La région, telle qu'un État ou une province, telle que Washington.
- city: Corde
- La ville d'où provient l'adresse IP, telle que Seattle.
- latitude: Numéro
- Latitude de l'emplacement de l'adresse IP.
- longitude: Numéro
- Longitude de l'emplacement de l'adresse IP.
- radius: Numéro
- Rayon, exprimé en kilomètres, autour des coordonnées de longitude et de latitude de l'adresse IP.
Retours null dans un champ pour lequel aucune donnée n'est disponible, ou renvoie un null objet si toutes les données du champ ne sont pas disponibles.
Remarque : Le getPreciseLocation() La méthode nécessite 100 Mo de RAM totale sur le système ExtraHop, ce qui peut affecter les performances du système. La première fois que cette méthode est appelée dans un déclencheur, le système ExtraHop réserve la quantité de RAM requise, sauf si getCountry() la méthode a déjà été appelée. Le getCountry() La méthode nécessite 20 Mo de RAM, le système ExtraHop réserve donc 80 Mo de RAM supplémentaires. La quantité de RAM requise n'est pas par déclencheur ou par appel de méthode ; le système ExtraHop ne réserve la quantité de RAM requise qu' une seule fois.
IPAddress
Le IPAddress La classe vous permet de récupérer les attributs de l'adresse IP. La classe IPAddress est également disponible en tant que propriété pour la classe Flow.
Méthodes
- IPAddress(ip: Corde | Numéro , mask: Numéro )
- Constructeur pour la classe IPAddress qui prend deux paramètres :
- ip: Corde
- La chaîne d'adresse IP au format CIDR.
- mask: Numéro
- Le masque de sous-réseau facultatif au format numérique, représentant le nombre de bits « 1 » situés le plus à gauche du masque (facultatif).
Méthodes d'instance
- equals(equals: Adresse IP ): Booléen
- Effectue un test d'égalité entre les objets IPAddress, comme illustré dans l'
exemple suivant :
if (Flow.client.ipaddr.toString() === "10.10.10.10") { // perform a task }
- mask(mask: Numéro ): Adresse IP
- Définit le masque de sous-réseau de l'objet IPAddress comme illustré dans l'exemple suivant :
if ((Flow.ipaddr1.mask(24).toString() === "173.194.33.0")|| (Flow.ipaddr2.mask(24).toString() === "173.194.33.0")) {Flow.setApplication("My L4 App");}
Le mask Le paramètre spécifie le masque de sous-réseau dans un format numérique, représentant le nombre de bits « 1 » situés le plus à gauche dans le masque (facultatif).
- toJSON(): Corde
- Convertit l'objet IPAddress au format JSON.
- toString(): Corde
- Convertit l'objet IPAddress en chaîne imprimable.
Propriétés
- hostNames: Tableau de chaînes
- Tableau de noms d'hôtes associés à l'adresse IP.
- isBroadcast: Booléen
- La valeur est true si l'adresse IP est une adresse de diffusion.
- isExternal: Booléen
- La valeur est true si l'adresse IP est externe à votre réseau.
- isLinkLocal: Booléen
- La valeur est true si l'adresse IP est une adresse locale de lien telle que (169.254.0.0/16).
- isMulticast: Booléen
- La valeur est true si l'adresse IP est une adresse de multidiffusion.
- isRFC1918: Booléen
- La valeur est true si l'adresse IP appartient à l'une des plages d'adresses IP privées de la RFC1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16). La valeur est toujours false pour les adresses IPv6.
- isV4: Booléen
- La valeur est true si l'adresse IP est une adresse IPv4.
- isV6: Booléen
- La valeur est true si l'adresse IP est une adresse IPv6.
- localityName: Corde | nul
- Le nom de la localité réseau dans laquelle se trouve l'adresse IP. Si l'adresse IP ne se trouve dans aucune localité réseau, la valeur est nulle.
Network
Le Network La classe vous permet d'ajouter des mesures personnalisées au niveau mondial.
Méthodes
- metricAddCount(metric_name: Corde , count: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique de comptage. Valide les données métriques sur le réseau spécifié.
- metric_name: Corde
- Le nom de la métrique de comptage de niveau supérieur.
- count: Numéro
- La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir la propriété suivante :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailCount(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique de comptage grâce auquel vous pouvez effectuer une analyse plus approfondie. Valide les données
métriques sur le réseau spécifié.
- metric_name: Corde
- Nom de la métrique du nombre de détails.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- count: Numéro
- La valeur de l'incrément. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir la propriété suivante :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDataset(metric_name: Corde , val: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique du jeu de données. Valide les données métriques sur le réseau
spécifié.
- metric_name: Corde
- Nom de la métrique du jeu de données de niveau supérieur.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- freq: Numéro
- Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailDataset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique du jeu de données grâce auquel vous pouvez effectuer une analyse plus approfondie.
Valide les données métriques sur le réseau spécifié.
- metric_name: Corde
- Nom de la métrique du nombre de détails.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- freq: Numéro
- Option qui vous permet d'enregistrer simultanément plusieurs occurrences de valeurs particulières dans l'ensemble de données lorsque le nombre d'occurrences est défini par le val paramètre. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDistinct(metric_name: Corde , item: Numéro | Corde | Adresse IP :void
- Crée une personnalisation niveau supérieur
métrique de comptage distincte. Valide les
données métriques sur le réseau spécifié.
- metric_name: Corde
- Nom de la métrique de comptage distincte de niveau supérieur.
- item: Numéro | Corde | Adresse IP
- La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
- MetricAddDetailDistinct (metric_name) : Corde, clé : Corde | Adresse IP, article : Numéro | Corde | Adresse IP: nul
- Crée une personnalisation détail
métrique de comptage distincte par lequel vous pouvez
approfondir. Valide les données métriques sur le réseau spécifié.
- metric_name: Corde
- Nom de la métrique de comptage distincte détaillée.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- item: Numéro | Corde | Adresse IP
- La valeur à placer dans l'ensemble. La valeur est convertie en chaîne avant d'être placée dans l'ensemble.
- metricAddMax(metric_name: Corde , val: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique maximale. Valide les données métriques sur le réseau
spécifié.
- metric_name: Corde
- Le nom de la métrique maximale de niveau supérieur.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailMax(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique maximale grâce auquel vous pouvez effectuer une analyse plus approfondie.
Valide les données métriques sur le réseau spécifié.
- metric_name: Corde
- Nom de la métrique maximale de détail.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddSampleset(metric_name: Corde , val: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
Sampleset métrique. Valide les données métriques
sur le réseau spécifié.
- metric_name: Corde
- Le nom de la métrique de l'ensemble d'échantillons de niveau supérieur.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailSampleset(metric_name: Corde , key: Corde | Adresse IP , val: Numéro , options: Objet ):void
- Crée une personnalisation détail
Sampleset métrique par lequel vous pouvez
approfondir. Valide les données métriques sur le réseau spécifié.
- metric_name: Corde
- Nom de la métrique détaillée de l'ensemble d'échantillons.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- val: Numéro
- La valeur observée, telle qu'un temps de traitement. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddSnap(metric_name: Corde , count: Numéro , options: Objet ):void
- Crée une personnalisation niveau supérieur
métrique de capture d'écran. Valide les données métriques
sur le réseau spécifié.
- metric_name: Corde
- Nom de la métrique de capture instantanée de niveau supérieur.
- count: Numéro
- La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
- metricAddDetailSnap(metric_name: Corde , key: Corde | Adresse IP , count: Numéro , options: Objet ):void
- Crée une personnalisation détail
métrique de capture d'écran grâce auquel vous pouvez effectuer une analyse plus approfondie.
Valide les données métriques sur le réseau spécifié.
- metric_name: Corde
- Nom de la métrique détaillée de l'ensemble d'échantillons.
- key: Corde | Adresse IP
- Clé spécifiée pour la métrique détaillée. UN null la valeur est ignorée silencieusement.
- count: Numéro
- La valeur observée, telle que les connexions actuellement établies. Il doit s'agir d'un entier de 64 bits signé positif différent de zéro. UN NaN la valeur est ignorée silencieusement.
- options: Objet
- Un objet facultatif qui peut contenir les propriétés suivantes :
- highPrecision: Booléen
- Un indicateur qui active une granularité en une seconde pour la métrique personnalisée lorsqu'elle est définie sur true.
Session
Le Session la classe donne accès à la table de session. Il est conçu pour faciliter la coordination entre plusieurs déclencheurs s'exécutant indépendamment. L'état global de la table de session signifie que toute modification apportée par un déclencheur ou un processus externe devient visible pour tous les autres utilisateurs de la table de session. La table de session étant en mémoire, les modifications ne sont pas enregistrées lorsque vous redémarrez le système ExtraHop ou le processus de capture.
Voici quelques informations importantes à connaître au sujet des tables de session :
- La table de session prend en charge les valeurs JavaScript ordinaires, ce qui vous permet d'ajouter des objets JS à la table.
- Les entrées de la table de session peuvent être supprimées lorsque la table devient trop grande ou lorsque l'expiration configurée est atteinte.
- Parce que la table de session sur un sonde n'est pas partagé avec console, les valeurs de la table de session ne sont pas partagées avec les autres utilisateurs connectés capteurs.
- L'API ExtraHop Open Data Context expose le tableau des sessions via le réseau de gestion, permettant ainsi la coordination avec les processus externes via le cache mémoire protocole.
Évènements
La classe Session ne se limite pas uniquement aux SESSION_EXPIRE événement. Vous pouvez appliquer la classe Session à n'importe quel événement ExtraHop.
- SESSION_EXPIRE
- S'exécute périodiquement (par incréments d'environ 30 secondes) tant que la table de session
est utilisée. Lorsque le SESSION_EXPIRE un événement se déclenche, les clés expirées
au cours des 30 secondes précédentes sont disponibles via le
Session.expiredKeys propriété.
Le SESSION_EXPIRE l'événement n'est associé à aucun flux particulier, il se déclenche donc SESSION_EXPIRE les événements ne peuvent pas valider les métriques de l'équipement via Device.metricAdd*() méthodes ou Flow.client.device.metricAdd*() méthodes. Pour valider les métriques de l'équipement lors de cet événement, vous devez ajouter Device objets vers le tableau de session par le biais du Device() méthode d'instance.
Remarque : Vous ne pouvez pas attribuer des déclencheurs qui s'exécutent uniquement lors de cet événement à des appareils ou à des groupes d'équipements spécifiques. Les déclencheurs qui s'exécutent lors de cet événement seront exécutés chaque fois que cet événement se produira. - TIMER_30SEC
- Fonctionne exactement toutes les 30 secondes. Cet événement vous permet d'effectuer des traitements périodiques,
tels que l'accès régulier aux entrées de table de session ajoutées via le API de contexte de données ouvertes.
Remarque : Vous pouvez appliquer n'importe quelle classe de déclencheur à l'événement TIMER_30SEC. Remarque : Vous ne pouvez pas attribuer des déclencheurs qui s'exécutent uniquement lors de cet événement à des appareils ou à des groupes d'équipements spécifiques. Les déclencheurs qui s'exécutent lors de cet événement seront exécutés chaque fois que cet événement se produira.
Méthodes
- add(key: Corde , value*, options: Objet ): *
- Ajoute la clé spécifiée dans le tableau de session. Si la clé est présente, la
valeur correspondante est renvoyée sans modifier l'entrée clé dans le tableau. Si la clé n'est pas
présente, une nouvelle entrée est créée pour la clé et la valeur, et la nouvelle valeur est
renvoyée.
Vous pouvez configurer une option Des options objet pour la clé spécifiée.
- getOptions(key: Corde ): Objet
- Renvoie le Des options objet pour la clé spécifiée. Vous configurez les options lors des appels à Session.add(), Session.modify(), ou Session.replace().
- increment(key: Corde , count: Numéro ): Numéro | nul
- Recherche la clé spécifiée et incrémente la valeur de la clé du nombre spécifié. La valeur par défaut du paramètre de comptage facultatif est 1. Renvoie la nouvelle valeur de la clé si l' appel est réussi. Retours null si la recherche échoue. Renvoie une erreur si la valeur de la clé n'est pas un nombre.
- lookup(key: Corde ): *
- Recherche la clé spécifiée dans la table de session et renvoie la valeur correspondante. Retours null si la clé n'est pas présente.
- modify(key: Corde , value: *, options: Objet ): *
- Modifie la valeur de clé spécifiée, si la clé est présente dans la table de session, et
renvoie la valeur précédente. Si la clé n'est pas présente, aucune nouvelle entrée n'est créée.
En cas de modification de l'option Des options les objets sont inclus, les options clés sont mises à jour. et les anciennes options sont fusionnées avec les nouvelles. Si le expire l'option est modifiée, le délai d'expiration est réinitialisé.
- remove(key: Corde ): *
- Supprime l'entrée pour la clé donnée et renvoie la valeur associée.
- replace(key: Corde , value: *, options: Objet ): *
- Met à jour l'entrée associée à la clé donnée. Si la clé est présente, mettez à jour la
valeur et renvoyez la valeur précédente. Si la clé n'est pas présente, ajoutez l'entrée et
renvoyez la valeur précédente (null).
En cas de modification de l'option Des options les objets sont inclus, les options clés sont mises à jour et les anciennes options sont fusionnées avec les nouvelles. Si le expire l'option est fournie, le délai d'expiration est réinitialisé.
Des options
- expire: Numéro
- Durée après laquelle l'expulsion a lieu, exprimée en secondes. Si la valeur est null ou undefined, l'entrée n'est supprimée que lorsque la table de session devient trop grande.
- notify: Booléen
- Indique si la clé est disponible sur SESSION_EXPIRE événements. La valeur par défaut est false.
- priority: Corde
- Niveau de priorité qui détermine les entrées à expulser si la table de session devient trop grande. Les valeurs valides sont PRIORITY_LOW, PRIORITY_NORMAL, et PRIORITY_HIGH. La valeur par défaut est PRIORITY_NORMAL.
Constantes
- PRIORITY_LOW: Numéro
- Représentation numérique du niveau de priorité le plus bas. La valeur est 0. Les niveaux de priorité déterminent l'ordre dans lequel les entrées sont supprimées de la table de session si celle-ci devient trop grande.
- PRIORITY_NORMAL: Numéro
- Représentation numérique du niveau de priorité par défaut. La valeur est 1. Les niveaux de priorité déterminent l'ordre dans lequel les entrées sont supprimées de la table de session si celle-ci devient trop grande.
- PRIORITY_HIGH: Numéro
- Représentation numérique du niveau de priorité le plus élevé. La valeur est 2. Les niveaux de priorité déterminent l'ordre dans lequel les entrées sont supprimées de la table de session si celle-ci devient trop grande.
Propriétés
- expiredKeys: Array
- Tableau d'objets présentant les propriétés suivantes :
- age: Numéro
- Âge de l'objet expiré, exprimé en millisecondes. L'âge est le temps écoulé entre le moment où l'objet de la table de session a été ajouté ou l' option d'expiration de l'objet a été modifiée, et le SESSION_EXPIRE événement. L'âge détermine si la clé a été expulsée ou a expiré.
- name: Corde
- La clé de l'objet expiré.
- value: Numéro | Corde | Adresse IP | Booléen | Appareil
- La valeur de l'entrée dans le tableau de session.
Les clés expirées incluent les clés qui ont été expulsées parce que la table est devenue trop grande.
Le expiredKeys la propriété n'est accessible que sur SESSION_EXPIRE événements ; dans le cas contraire, une erreur se produira.
System
Le System la classe vous permet de récupérer des informations sur le sonde ou console sur lequel un déclencheur est en cours d'exécution. Ces informations sont utiles dans les environnements comportant plusieurs capteurs.
Propriétés
- uuid: Corde
- L'identifiant unique universel (UUID) du sonde ou console.
- ipaddr: Adresse IP
- Le IPAddress objet de l' interface de gestion principale (Interface 1) sur la sonde.
- hostname: Corde
- Le nom d'hôte du sonde ou console configuré dans les paramètres d'administration.
- version: Corde
- La version du microprogramme exécutée sur le sonde ou console.
ThreatIntel
Le ThreatIntel La classe vous permet de voir si des menaces ont été détectées pour les adresses IP, les noms d'hôte ou les URI. (ExtraHop RevealX Premium et Ultra uniquement)
Méthodes
- hasIP(address: Adresse IP ): booléen
- La valeur est true si les menaces ont été détectées pour l' adresse IP spécifiée. Si aucune information de renseignement n'est disponible sur le système ExtraHop, la valeur est null.
- hasDomain(domain: Corde ): booléen
- La valeur est true si les menaces ont été détectées pour le domaine spécifié. Si aucune information de renseignement n'est disponible sur le système ExtraHop, la valeur est null.
- hasURI(uri: Corde ): booléen
- La valeur est true si les menaces ont été détectées pour l' URI spécifiée. Si aucune information de renseignement n'est disponible sur le système ExtraHop, la valeur est null.
Classes de données de protocole et de réseau
Les classes d'API Trigger présentées dans cette section vous permettent d'accéder aux propriétés et d'enregistrer les métriques de protocole, message et activité de flux qui se produit sur le système ExtraHop ExtraHop.
Classe | Descriptif |
---|---|
AAA | Vous permet de stocker des métriques et d'accéder aux propriétés sur AAA_REQUEST ou AAA_RESPONSE événements. |
ActiveMQ | Vous permet de stocker des métriques et d'accéder aux propriétés sur ACTIVEMQ_MESSAGE événements. |
AJP | La classe AJP vous permet de stocker des métriques et d'accéder aux propriétés sur AJP_REQUEST et AJP_RESPONSE événements. |
CDP | La classe CDP vous permet de stocker des métriques et des propriétés d'accès sur CDP_FRAME événements. |
CIFS | Vous permet de stocker des métriques et d'accéder aux propriétés sur CIFS_REQUEST et CIFS_RESPONSE événements. |
DB | Vous permet de stocker des métriques et d'accéder aux propriétés sur DB_REQUEST et DB_RESPONSE événements. |
DHCP | Vous permet de stocker des métriques et d'accéder aux propriétés sur DHCP_REQUEST et DHCP_RESPONSE événements. |
DICOM | Vous permet de stocker des métriques et d'accéder aux propriétés sur DICOM_REQUEST et DICOM_RESPONSE événements. |
DNS | Vous permet de stocker des métriques et d'accéder aux propriétés sur DNS_REQUEST et DNS_RESPONSE événements. |
FIX | Vous permet de stocker des métriques et d'accéder aux propriétés sur FIX_REQUEST et FIX_RESPONSE événements. |
FTP | Vous permet de stocker des métriques et d'accéder aux propriétés sur FTP_REQUEST et FTP_RESPONSE événements. |
HL7 | Vous permet de stocker des métriques et d'accéder aux propriétés sur HL7_REQUEST et HL7_RESPONSE événements. |
HTTP | Vous permet de stocker des métriques et d'accéder aux propriétés sur HTTP_REQUEST et HTTP_RESPONSE événements. |
IBMMQ | Vous permet de stocker des métriques et d'accéder aux propriétés sur IBMMQ_REQUEST et IBMMQ_RESPONSE événements. |
ICA | Vous permet de stocker des métriques et d'accéder aux propriétés sur ICA_OPEN, ICA_AUTH, ICA_TICK, et ICA_CLOSE événements. |
ICMP | Vous permet de stocker des métriques et d'accéder aux propriétés sur ICMP_MESSAGE événements. |
Kerberos | Vous permet de stocker des métriques et d'accéder aux propriétés sur KERBEROS_REQUEST et KERBEROS_RESPONSE événements. |
LDAP | Vous permet de stocker des métriques et d'accéder aux propriétés sur LDAP_REQUEST et LDAP_RESPONSE événements. |
LLDP | Vous permet d'accéder aux propriétés sur LLDP_FRAME événements. |
Memcache | Vous permet de stocker des métriques et d'accéder aux propriétés sur MEMCACHE_REQUEST et MEMCACHE_RESPONSE événements. |
Modbus | Vous permet de stocker des métriques et d'accéder aux propriétés sur MODBUS_REQUEST et MODBUS_RESPONSE événements. |
MongoDB | La classe MongoDB vous permet de stocker des métriques et d'accéder aux propriétés sur MONGODB_REQUEST et MONGODB_RESPONSE événements. |
MSMQ | La classe MSMQ vous permet de stocker des métriques et d'accéder aux propriétés sur MSMQ_MESSAGE événement. |
NetFlow | Vous permet de stocker des métriques et d'accéder aux propriétés sur NETFLOW_RECORD événements. |
NFS | Vous permet de stocker des métriques et d'accéder aux propriétés sur NFS_REQUEST et NFS_RESPONSE événements. |
NTLM | Vous permet de stocker des métriques et d'accéder aux propriétés sur NTLM_MESSAGE événements. |
POP3 | Vous permet de stocker des métriques et d'accéder aux propriétés sur POP3_REQUEST et POP3_RESPONSE événements. |
RDP | Vous permet de stocker des métriques et d'accéder aux propriétés sur RDP_OPEN, RDP_CLOSE, et RDP_TICK événements. |
Redis | Vous permet de stocker des métriques et d'accéder aux propriétés sur REDIS_REQUEST et REDIS_RESPONSE événements. |
RPC | Vous permet de stocker des métriques et d'accéder aux propriétés sur RPC_REQUEST et RPC_RESPONSE événements. |
RTCP | Vous permet de stocker des métriques et d'accéder aux propriétés sur RTCP_MESSAGE événements. |
RTP | Vous permet de stocker des métriques et d'accéder aux propriétés sur RTP_OPEN, RTP_CLOSE, et RTP_TICK événements. |
SCCP | Vous permet de stocker des métriques et d'accéder aux propriétés sur SCCP_MESSAGE événements. |
SDP | Vous permet d'accéder aux propriétés sur SIP_REQUEST et SIP_RESPONSE événements. |
SFlow | Vous permet de stocker des métriques et d'accéder aux propriétés sur SFLOW_RECORD événements. |
SIP | Vous permet de stocker des métriques et d'accéder aux propriétés sur SIP_REQUEST et SIP_RESPONSE événements. |
SMPP | Vous permet de stocker des métriques et d'accéder aux propriétés sur SMPP_REQUEST et SMPP_RESPONSE événements. |
SMTP | Vous permet de stocker des métriques et d'accéder aux propriétés sur SMTP_REQUEST et SMTP_RESPONSE événements. |
SSH | Vous permet de stocker des métriques et d'accéder aux propriétés sur SSH_CLOSE, SSH_OPEN et SSH_TICK événements. |
SSL | Vous permet de stocker des métriques et d'accéder aux propriétés sur SSL_OPEN, SSL_CLOSE, SSL_ALERT, SSL_RECORD, SSL_HEARTBEAT, et SSL_RENEGOTIATE événements. |
TCP | Vous permet d'accéder aux propriétés et de récupérer des métriques à partir d'événements TCP, etc. FLOW_TICK et FLOW_TURN événements. |
Telnet | Vous permet de stocker des métriques et d'accéder aux propriétés sur TELNET_MESSAGE événements. |
Turn | Vous permet de stocker des métriques et d'accéder aux propriétés sur FLOW_TURN événements. |
UDP | Vous permet d'accéder aux propriétés et de récupérer des métriques à partir d'événements UDP, etc. FLOW_TICK et FLOW_TURN événements. |
WebSocket | Vous permet d'accéder aux propriétés sur WEBSOCKET_OPEN, WEBSOCKET_CLOSE, et WEBSOCKET_MESSAGE événements. |
AAA
Le AAA La classe (Authentication, autorisation et comptabilité) vous permet de stocker des métriques et d'accéder aux propriétés sur AAA_REQUEST ou AAA_RESPONSE événements.
Évènements
- AAA_REQUEST
- S'exécute lorsque le système ExtraHop a fini de traiter une demande AAA.
- AAA_RESPONSE
- Fonctionne sur chaque réponse AAA traitée par l'équipement.
Méthodes
- commitRecord(): vide
- Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur un
AAA_REQUEST ou AAA_RESPONSE événement.
L'événement détermine les propriétés qui sont validées dans l'objet d'enregistrement. Pour consulter les propriétés par défaut validées pour chaque événement, consultez le record propriété ci-dessous.
Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si le commitRecord() méthode est appelée plusieurs fois pour le même enregistrement unique.
Propriétés
- authenticator: Corde
- La valeur du champ d'authentificateur (RADIUS uniquement).
- avps: Array
- Un tableau d'objets AVP présentant les propriétés suivantes :
- avpLength: Numéro
- La taille de l'AVP, exprimée en octets. Cette valeur inclut les données d'en-tête AVP, ainsi que la valeur.
- id: Numéro
- L'ID numérique de l'attribut représenté sous forme de nombre entier.
- isGrouped: Booléen
- La valeur est true s'il s'agit d'un AVP groupé (diamètre uniquement).
- name: Corde
- Le nom de l'AVP donné.
- vendor: Corde
- Le nom du fournisseur pour les AVP du fournisseur (Diameter uniquement).
- value: Corde | Array | Numéro
- Pour les AVP uniques, une chaîne ou une valeur numérique. Pour les AVP groupés (diamètre uniquement), un tableau d'objets.
- isDiameter: Booléen
- La valeur est true si la demande ou la réponse est Diameter.
- isError: Booléen
- La valeur est true si la réponse est une erreur. Pour récupérer le
détail de l'erreur dans Diameter, vérifiez AAA.statusCode. Pour récupérer les
détails de l'erreur dans RADIUS, vérifiez l'AVP avec le code 18 (message de réponse).
Accès uniquement sur AAA_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- isRadius: Booléen
- La valeur est true si la demande ou la réponse est RADIUS.
- isRspAborted: Booléen
- La valeur est true si le AAA_RESPONSE l'événement est
annulé.
Accès uniquement sur AAA_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- method: Numéro
- Méthode correspondant au code de commande dans RADIUS ou Diameter.
Le tableau suivant contient les codes de commande Diameter valides :
Nom de la commande Abbé. Code AA-Request AAR 265 AA-Answer AAA 265 Diameter-EAP-Request DER 268 Diameter-EAP-Answer DEA 268 Abort-Session-Request ASR 274 Abort-Session-Answer ASA 274 Accounting-Request ACR 271 Credit-Control-Request CCR 272 Credit-Control-Answer CCA 272 Capabilities-Exchange-Request CER 257 Capabilities-Exchange-Answer CEA 257 Device-Watchdog-Request DWR 280 Device-Watchdog-Answer DWA 280 Disconnect-Peer-Request DPR 282 Disconnect-Peer-Answer DPA 282 Re-Auth-Answer RAA 258 Re-Auth-Request RAR 258 Session-Termination-Request STR 275 Session-Termination-Answer STA 275 User-Authorization-Request UAR 300 User-Authorization-Answer UAA 300 Server-Assignment-Request SAR 301 Server-Assignment-Answer SAA 301 Location-Info-Request LIR 302 Location-Info-Answer LIA 302 Multimedia-Auth-Request MAR 303 Multimedia-Auth-Answer MAA 303 Registration-Termination-Request RTR 304 Registration-Termination-Answer RTA 304 Push-Profile-Request PPR 305 Push-Profile-Answer PPA 305 User-Data-Request UDR 306 User-Data-Answer UDA 306 Profile-Update-Request PUR 307 Profile-Update-Answer PUA 307 Subscribe-Notifications-Request SNR 308 Subscribe-Notifications-Answer SNA 308 Push-Notification-Request PNR 309 Push-Notification-Answer PNA 309 Bootstrapping-Info-Request BIR 310 Bootstrapping-Info-Answer BIA 310 Message-Process-Request MPR 311 Message-Process-Answer MPA 311 Update-Location-Request ULR 316 Update-Location-Answer ULA 316 Authentication-Information-Request AIR 318 Authentication-Information-Answer AIA 318 Notify-Request NR 323 Notify-Answer NA 323 Le tableau suivant contient des codes de commande RADIUS valides :
Nom de la commande Code Access-Request 1 Access-Accept 2 Access-Reject 3 Accounting-Request 4 Accounting-Response 5 Access-Challenge 11 Status-Server (experimental) 12 Status-Client (experimental) 13 Reserved 255 - processingTime: Numéro
- Le temps de traitement du serveur, exprimé en millisecondes. La valeur est
NaN
si le chronométrage n'est pas valide.
Accès uniquement sur AAA_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- record: Objet
- L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à
AAA.commitRecord() sur l'un ou l'autre AAA_REQUEST ou
AAA_RESPONSE événement.
L'événement au cours duquel la méthode a été appelée détermine les propriétés que l'objet d'enregistrement par défaut peut contenir, comme indiqué dans le tableau suivant :
AAA_REQUEST AAA_RESPONSE authenticator authenticator clientIsExternal clientIsExternal clientZeroWnd clientZeroWnd method isError receiverIsExternal isRspAborted reqBytes method reqL2Bytes processingTime reqPkts receiverIsExternal reqRTO roundTripTime senderIsExternal rspBytes serverIsExternal rspL2Bytes serverZeroWnd rspPkts txId rspRTO statusCode senderIsExternal serverIsExternal serverZeroWnd txId - reqBytes: Numéro
- Le nombre de L4 octets de demande, à l'exception des en-têtes L4.
- reqL2Bytes: Numéro
- Le nombre de L2 octets de demande, y compris les en-têtes L2.
- reqPkts: Numéro
- Le nombre de paquets de demandes.
- reqRTO: Numéro
- Le numéro de demande délais de retransmission
(RTO).
Accès uniquement sur AAA_REQUEST événements ; dans le cas contraire, une erreur se produira.
- reqZeroWnd: Numéro
- Le nombre de fenêtres nulles dans la demande.
- roundTripTime: Numéro
- Le temps moyen aller-retour (RTT), exprimé en millisecondes. La valeur est NaN s'il n'y a pas d'échantillons RTT.
- rspBytes: Numéro
- Le nombre de L4 octets de réponse, à l'exclusion de la surcharge du protocole L4, telle que les ACK, les en-têtes et les retransmissions.
- rspL2Bytes: Numéro
- Le nombre de L2 octets de réponse, y compris la surcharge du protocole, comme les en-têtes.
- rspPkts: Numéro
- Le nombre de paquets de réponse.
- rspRTO: Numéro
- Le nombre de réponses délais de retransmission
(RTO).
Accès uniquement sur AAA_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- rspZeroWnd: Numéro
- Le nombre de fenêtres nulles dans la réponse.
- statusCode: Corde
- Une représentation sous forme de chaîne de l'identifiant AVP 268 (code de résultat).
Accès uniquement sur AAA_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- txId: Numéro
- Une valeur qui correspond à l'identifiant saut par saut dans Diameter et à l'identifiant msg-id dans RADIUS.
ActiveMQ
Le ActiveMQ la classe vous permet de stocker des métriques et d'accéder à des propriétés sur ACTIVEMQ_MESSAGE événements. ActiveMQ est une implémentation du service de messagerie Java (JMS).
Méthodes
- commitRecord(): vide
- Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur un
ACTIVEMQ_MESSAGE événement.
Pour afficher les propriétés par défaut validées pour l'objet d'enregistrement, consultez record propriété ci-dessous.
Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si commitRecord() La méthode est appelée plusieurs fois pour le même enregistrement unique.
Propriétés
- correlationId: Corde
- Le champ JMScorrelationID du message.
- exceptionResponse: Objet | Null
- Le champ JMSException du message. Si la commande du message n'est pas
ExceptionResponse, la valeur est nulle. L'objet contient les champs
suivants :
- message: Corde
- Le message de réponse à l'exception.
- class: Corde
- La sous-classe de la JMSException.
- expiration: Numéro
- Le champ JMSExpiration du message.
- msg: Tampon
- Le corps du message. Pour les messages au format TEXT_MESSAGE, le corps du message est renvoyé sous la forme d'une chaîne UTF-8. Pour tous les autres formats de message, cela renvoie les octets bruts.
- msgFormat: Corde
- Format du message. Les valeurs possibles sont les suivantes :
- BYTES_MESSAGE
- MAP_MESSAGE
- MESSAGE
- OBJECT_MESSAGE
- STREAM_MESSAGE
- TEXT_MESSAGE
- BLOG_MESSAGE
- msgId: Corde
- Le champ JMSMessageID du message.
- persistent: Booléen
- La valeur est true si le JMSDeliveryMode est PERSISTANT.
- priority: Numéro
- Le champ JMSPriority du message.
- 0 est la priorité la plus basse.
- 9 est la priorité la plus élevée.
- 0 à 4 sont des gradations de priorité normale.
- 5 à 9 sont des gradations de priorité accélérée.
- properties: Objet
- Zéro ou plusieurs propriétés associées au message. Les clés sont des chaînes arbitraires et les valeurs peuvent être des booléens, des nombres ou des chaînes.
- queue: Corde
- Le champ JMSDestination du message.
- receiverBytes: Numéro
- Le nombre d'octets au niveau de l'application provenant du récepteur.
- receiverIsBroker: Booléen
- La valeur est true si le destinataire du message au niveau du flux est un courtier.
- receiverL2Bytes: Numéro
- Le nombre de L2 octets provenant du récepteur.
- receiverPkts: Numéro
- Le nombre de paquets provenant du récepteur.
- receiverRTO: Numéro
- Le nombre de RTO émis par le récepteur.
- receiverZeroWnd: Numéro
- Le nombre de fenêtres nulles envoyées par le récepteur.
- record: Objet
- L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel
à ActiveMQ.commitRecord() sur un ACTIVEMQ_MESSAGE
événement.
L'objet d'enregistrement par défaut peut contenir les propriétés suivantes :
- clientIsExternal
- correlationId
- expiration
- msgFormat
- msgId
- persistent
- priority
- queue
- receiverBytes
- receiverIsBroker
- receiverIsExternal
- receiverL2Bytes
- receiverPkts
- receiverRTO
- receiverZeroWnd
- redeliveryCount
- replyTo
- roundTripTime
- senderBytes
- senderIsBroker
- senderIsExternal
- senderL2Bytes
- senderPkts
- senderRTO
- senderZeroWnd
- serverIsExternal
- timeStamp
- totalMsgLength
- redeliveryCount: Numéro
- Le nombre de relivraisons.
- replyTo: Corde
- Le champ JMSReplyTo du message, converti en chaîne.
- roundTripTime: Numéro
- Le temps médian aller-retour (RTT), exprimé en millisecondes. La valeur est NaN s'il n'y a pas d'échantillons RTT.
- senderBytes: Numéro
- Le nombre d'octets au niveau de l'application provenant de l'expéditeur.
- senderIsBroker: Booléen
- La valeur est true si l'expéditeur du message au niveau du flux est un courtier.
- senderL2Bytes: Numéro
- Le nombre de L2 octets provenant de l'expéditeur.
- senderPkts: Numéro
- Le nombre de paquets provenant de l'expéditeur.
- senderRTO: Numéro
- Le nombre de RTO émis par l'expéditeur.
- senderZeroWnd: Numéro
- Le nombre de fenêtres nulles envoyées par l'expéditeur.
- timestamp: Numéro
- Heure à laquelle le message a été transmis à un fournisseur pour être envoyé, exprimée en GMT. Il s'agit du champ JMSTimestamp du message.
- totalMsgLength: Numéro
- Longueur du message, exprimée en octets.
AJP
Le protocole AJP (Apache JServ Protocol) transmet par proxy les requêtes entrantes d'un serveur Web à un serveur d'applications et est souvent appliqué à des environnements à charge équilibrée dans lesquels un ou plusieurs serveurs Web frontaux transmettent les demandes à un ou plusieurs serveurs d'applications. Le AJP la classe vous permet de stocker des métriques et d'accéder aux propriétés sur AJP_REQUEST et AJP_RESPONSE événements.
Évènements
- AJP_REQUEST
- S'exécute une fois que le serveur Web a envoyé un message de demande de transfert AJP à un conteneur de servlet, puis a transféré le corps de la demande suivant.
- AJP_RESPONSE
- S'exécute après qu'un conteneur de servlet a envoyé un message de réponse finale AJP pour signaler que le conteneur de servlet a terminé de traiter une demande de transfert AJP et a renvoyé les informations demandées.
Méthodes
- commitRecord(): Néant
- Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur un
AJP_RESPONSE événement. Enregistrer les validations sur AJP_REQUEST
les événements ne sont pas pris en charge.
Pour consulter les propriétés par défaut attribuées à l' objet d'enregistrement, consultez le record propriété ci-dessous.
Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si commitRecord() méthode est appelée plusieurs fois pour le même enregistrement unique.
- findHeaders(name: Corde ): Array
- Accède aux valeurs d'en-tête AJP et renvoie un tableau d'objets d'en-tête (avec les propriétés de nom et de valeur) dont les noms correspondent au préfixe de la chaîne spécifiée. Accède aux en-têtes des demandes sur AJP_REQUEST événements et en-têtes de réponse activés AJP_RESPONSE demandes.
Propriétés
- attributes: Objet
- Tableau d'attributs AJP facultatifs envoyés avec la demande, tels que remote_user,
auth_type, query_string, jvm_route, ssl_cert, ssl_cipher et ssl_session.
Accès uniquement sur AJP_REQUEST événements ; dans le cas contraire, une erreur se produira.
- fwdReqClientAddr: Adresse IP
- Le IPAddress du client HTTP qui a envoyé la demande initiale au serveur. La valeur est null si les informations disponibles ne peuvent pas être associées à une adresse IP.
- fwdReqHost: Corde
- L'hôte HTTP spécifié par le client HTTP qui a envoyé la demande initiale au serveur.
- fwdReqIsEncrypted: Booléen
- La valeur est true si le chiffrement SSL a été appliqué par le client HTTP qui a envoyé la demande initiale au serveur.
- fwdReqServerName: Corde
- Nom du serveur auquel le client HTTP a envoyé la demande initiale.
- Port du serveur FWDREQ : Numéro
- Port TCP du serveur auquel le client HTTP a envoyé la demande initiale.
- headers: Objet
- En cas d'accès sur AJP_REQUEST événements, un tableau de noms d'en-têtes et de
valeurs envoyés avec la demande.
En cas d'accès sur AJP_RESPONSE events, un tableau d'en-têtes transmis dans le message AJP Send Headers par le serveur au navigateur de l'utilisateur final .
- method: Corde
- Méthode HTTP de la demande, telle que POST ou GET, envoyée par le serveur au conteneur de servlets.
- processingTime: Numéro
- Durée entre le dernier octet de la demande reçue et le premier octet de la charge utile de
réponse envoyée, exprimé en millisecondes. La valeur est
NaN
en cas de réponses mal formées ou abandonnées ou si le timing n'
est pas valide.
Accès uniquement sur AJP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- protocol: Corde
- Le protocole de la demande envoyée par le serveur au conteneur de servlets. Non défini pour les autres types de messages.
- record: Objet
- L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel
à AJP.commitRecord() sur un AJP_RESPONSE événement.
L'objet d'enregistrement par défaut peut contenir les propriétés suivantes :
- clientIsExternal
- fwdReqClientAddr
- fwdReqHost
- fwdReqIsEncrypted
- fwdReqServerName
- fwdReqServerPort
- method
- processingTime
- protocol
- receiverIsExternal
- reqSize
- rspSize
- statusCode
- senderIsExternal
- serverIsExternal
- uri
Accès uniquement sur AJP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- reqBytes: Numéro
- Le nombre de L4 octets de demande, à l'exception des
en-têtes L4.
Accès uniquement sur AJP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- reqL2Bytes: Numéro
- Le nombre de L2 octets de demande, y compris les en-têtes L2.
- reqPkts: Numéro
- Le nombre de paquets de demandes.
- reqRTO: Numéro
- Le numéro de demande délais de retransmission (RTO).
- reqSize: Numéro
- Le nombre d'octets de requête L7, à l'exclusion des en-têtes AJP.
- rspBytes: Numéro
- Le nombre de L4 octets de réponse, à l'exclusion de la
surcharge du protocole L4, telle que les ACK, les en-têtes et les retransmissions.
Accès uniquement sur AJP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- rspL2Bytes: Numéro
- Le nombre de L2 octets de réponse, y compris les surcharges liées au protocole,
telles que les en-têtes.
Accès uniquement sur AJP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- rspPkts: Numéro
- Le nombre de paquets de réponse.
Accès uniquement sur AJP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- rspRTO: Numéro
- Le nombre de réponses délais de retransmission
(RTO).
Accès uniquement sur AJP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- rspSize: Numéro
- Le nombre d'octets de réponse L7, à l'exclusion des en-têtes AJP.
Accès uniquement sur AJP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- statusCode: Numéro
- Le code d'état HTTP renvoyé par le conteneur de servlets pour les réponses aux messages AJP
Forward Request.
Accès uniquement sur AJP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- uri: Corde
- L'URI de la demande envoyée par le serveur au conteneur de servlets. Non défini pour les types de messages non AJP.
CDP
Le Cisco Discovery Protocol (CDP) est un protocole propriétaire qui permet aux appareils Cisco connectés de s'envoyer des informations entre eux. Le CDP la classe vous permet d' accéder aux propriétés sur CDP_FRAME événements.
Propriétés
- destination: Corde
- Adresse MAC de destination. La destination la plus courante est 01:00:0c:cc:cc:cc, indiquant une adresse de multidiffusion.
- checksum: Numéro
- La somme de contrôle du CDP.
- source: Appareil
- L'équipement qui envoie la trame CDP.
- ttl: Numéro
- Le temps de vie, exprimé en secondes. Il s'agit de la durée pendant laquelle les informations contenues dans ce cadre sont valides, à compter de leur réception.
- tlvs: Tableau d'objets
- Un tableau contenant chaque champ de type, de longueur et de valeur (TLV). Un champ TLV
contient des informations telles que l'identifiant, l'adresse et la plate-forme de l'équipement. Chaque
champ est un objet doté des propriétés suivantes :
- type: Numéro
- Le type de TLV.
- value: Tampon
- La valeur du TLV.
- version: Numéro
- Version du protocole CDP.
CIFS
Le CIFS la classe vous permet de stocker des métriques et d'accéder à des propriétés sur CIFS_REQUEST et CIFS_RESPONSE événements.
Évènements
- CIFS_REQUEST
- Fonctionne sur tous CIFS demande traitée par l'équipement.
- CIFS_RESPONSE
- S'exécute sur chaque réponse CIFS traitée par l'équipement.
Remarque : Le CIFS_RESPONSE l'événement se déroule après chaque CIFS_REQUEST événement, même si la réponse correspondante n'est jamais observée par le système ExtraHop.
Méthodes
- commitRecord(): vide
- Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur un
CIFS_RESPONSE événement. Enregistrez les validations le CIFS_REQUEST
les événements ne sont pas pris en charge.
Pour afficher les propriétés par défaut validées pour l' objet d'enregistrement, consultez record propriété ci-dessous.
Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si commitRecord() La méthode est appelée plusieurs fois pour le même enregistrement unique.
Propriétés
Important : | Le temps d'accès est le temps nécessaire à un serveur CIFS pour recevoir un bloc
demandé. Il n'y a pas de temps d'accès pour les opérations qui n'accèdent pas aux données
de bloc réelles d'un fichier. Le temps de traitement est le temps nécessaire à un serveur CIFS pour répondre à l'
opération demandée par le client, telle qu'une demande de récupération de métadonnées. Il n'existe aucun temps d'accès pour les commandes SMB2_CREATE, qui créent un fichier référencé dans la réponse par une commande SMB2_FILEID. Les blocs de fichiers référencés sont ensuite lus ou écrits sur l'équipement de stockage NAS. Ces opérations de lecture et d'écriture de fichiers sont calculées en tant que temps d'accès. |
- accessTime: Numéro
- Temps nécessaire au serveur pour accéder à un fichier sur disque, exprimé en
millisecondes. Pour CIFS, il s'agit du temps écoulé entre la première commande READ d'un flux CIFS et le premier octet de
la charge utile de réponse. La valeur est
NaN
si la mesure ou le chronométrage ne sont pas valides.
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- dialect: Corde
- Le dialecte du SMB négocié entre le client et le serveur.
- encryptedBytes: Numéro
- Le nombre d'octets chiffrés contenus dans la demande ou la réponse.
- encryptionProtocol: Corde
- Le protocole avec lequel la transaction est cryptée.
- error: Corde
- Message d'erreur détaillé enregistré par le système ExtraHop.
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- filename: Corde
- Le nom du fichier en cours de transfert.
- isCommandCreate: Booléen
- La valeur est true si le message contient une commande de création de fichier SMB.
- isCommandClose: Booléen
- La valeur est true si le message contient une commande SMB CLOSE.
- isCommandDelete: Booléen
- La valeur est true si le message contient une commande SMB DELETE.
- isCommandFileInfo: Booléen
- La valeur est true si le message contient une commande SMB file info.
- isCommandLock: Booléen
- La valeur est true si le message contient une commande de verrouillage SMB.
- isCommandRead: Booléen
- La valeur est true si le message contient une commande SMB READ.
- isCommandRename: Booléen
- La valeur est true si le message contient une commande SMB RENAME.
- isCommandWrite: Booléen
- La valeur est true si le message contient une commande SMB WRITE.
- isDecrypted: Booléen
- La valeur est vraie si le système ExtraHop a déchiffré et analysé la transaction de manière sécurisée. L'analyse du trafic déchiffré peut révéler les menaces avancées qui se cachent dans le trafic chiffré.
- isEncrypted: Booléen
- La valeur est vraie si la transaction est cryptée.
- isRspAborted: Booléen
- La valeur est vraie si la connexion est fermée avant la fin de la réponse CIFS.
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- isRspSigned: Booléen
- La valeur est vraie si la réponse est signée par le serveur CIFS.
- method: Corde
- La méthode CIFS. Corrélé aux méthodes répertoriées sous la métrique CIFS dans le système ExtraHop.
- msgID: Numéro
- L'identifiant de transaction SMB.
- payload: Tampon
- Le Tampon objet contenant les octets de charge utile à
partir de la commande READ ou WRITE du message CIFS.
La mémoire tampon contient N premiers octets de la charge utile, où N est le nombre d'octets de charge utile spécifié par Octets de charge utile L7 vers la mémoire tampon option lorsque le déclencheur a été configuré via l'interface utilisateur Web ExtraHop. Le nombre d'octets par défaut est de 2 048. Pour plus d'informations, voir Options de déclencheur avancées.
Remarque : La mémoire tampon ne peut pas contenir plus de 4 Ko, même si Octets de charge utile L7 vers la mémoire tampon l'option est définie sur une valeur plus élevée. Pour des volumes plus importants d'octets de charge utile, la charge utile peut être répartie sur une série de commandes READ ou WRITE afin qu'aucun événement déclencheur ne contienne l'intégralité de la charge utile demandée. Vous pouvez réassembler la charge utile en une seule mémoire tampon consolidée via Flow.store et payloadOffset propriétés.
- payloadMediaType: Corde | Null
- Type de support contenu dans la charge utile. La valeur est nulle s'il n'y a aucune charge utile ou si le type de support est inconnu.
- payloadOffset: Numéro
- Le décalage du fichier, exprimé en octets, dans la resource propriété. La propriété de charge utile est obtenue à partir de resource propriété au décalage.
- payloadSHA256: Corde | Null
- Représentation hexadécimale du hachage SHA-256 de la charge utile. La chaîne
ne contient aucun délimiteur, comme illustré dans l'exemple suivant :
468c6c84db844821c9ccb0983c78d1cc05327119b894b5ca1c6a1318784d3675
S' il n'y a pas de charge utile, la valeur est nulle.
- processingTime: Numéro
- Le temps de traitement du serveur, exprimé en millisecondes. La valeur est
NaN
en cas de réponses mal formées et abandonnées ou si le timing n'
est pas valide.
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- record: Objet
- L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à
CIFS.commitRecord sur un CIFS_RESPONSE événement.
L'objet d'enregistrement par défaut peut contenir les propriétés suivantes :
- accessTime
- clientIsExternal
- clientZeroWnd
- error
- isCommandCreate
- isCommandDelete
- isCommandFileInfo
- isCommandLock
- isCommandRead
- isCommandRename
- isCommandWrite
- method
- processingTime
- receiverIsExternal
- reqPayloadMediaType
- reqPayloadSHA256
- reqSize
- reqXfer
- resource
- rspBytes
- rspPayloadMediaType
- rspPayloadSHA256
- rspXfer
- senderIsExternal
- serverIsExternal
- serverZeroWnd
- share
- statusCode
- user
- warning
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- reqBytes: Numéro
- Le nombre de L4 octets de requête, à l'exclusion des
en-têtes L4.
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- reqL2Bytes: Numéro
- Le nombre de L2 octets de requête, y compris les
en-têtes L2.
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- reqPkts: Numéro
- Le nombre de paquets de requêtes.
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- reqRTO: Numéro
- Le numéro de demande délais de retransmission
(RTO).
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- reqSize: Numéro
- Nombre d'octets de requête L7, à l'exclusion des en-têtes CIFS.
- reqTransferTime: Numéro
- Le temps de transfert de la demande, exprimé en millisecondes. Si la demande est contenue dans un
seul paquet, le temps de transfert est nul. Si la demande s'étend sur plusieurs paquets, la
valeur est la durée entre la détection du premier paquet de requête CIFS et la
détection du dernier paquet par le système ExtraHop. Une valeur élevée peut indiquer une demande
CIFS importante ou un retard réseau. La valeur est
NaN
s'il n'y a pas de mesure valide ou si le chronométrage
n'est pas valide.
Accès uniquement sur CIFS_REQUEST événements ; sinon, une erreur se produira.
- reqVersion: Corde
- Version de SMB exécutée sur la demande.
- reqZeroWnd: Numéro
- Le nombre de fenêtres nulles dans la demande.
- resource: Corde
- Le partage, le chemin et le nom de fichier, concaténés ensemble.
- roundTripTime: Numéro
- Temps médian aller-retour (RTT), exprimé en millisecondes. La valeur est
NaN
s'il n'y a pas d'échantillons RTT.
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- rspBytes: Numéro
- Le nombre de L4 octets de réponse, à l'exclusion de la
surcharge du protocole L4, telle que les ACK, les en-têtes et les retransmissions.
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- rspL2Bytes: Numéro
- Le nombre de L2 octets de réponse, y compris la surcharge du protocole,
telle que les en-têtes.
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- rspPkts: Numéro
- Le nombre de paquets de réponse.
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- rspRTO: Numéro
- Le nombre de réponses délais de retransmission
(RTO).
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- rspSize: Numéro
- Nombre d'octets de réponse L7, à l'exclusion des en-têtes CIFS.
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- rspTransferTime: Numéro
- Temps de transfert de réponse, exprimé en millisecondes. Si la réponse est contenue dans
un seul paquet, le temps de transfert est nul. Si la réponse couvre plusieurs paquets, la
valeur est la durée entre la détection du premier paquet de réponse CIFS et la
détection du dernier paquet par le système ExtraHop. Une valeur élevée peut indiquer une réponse
CIFS importante ou un retard réseau. La valeur est
NaN
s'il n'y a pas de mesure valide ou si le chronométrage
n'est pas valide.
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- rspVersion: Corde
- Version de SMB exécutée sur la réponse.
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- rspZeroWnd: Numéro
- Le nombre de fenêtres nulles dans la réponse.
- share: Corde
- Le nom du partage auquel l'utilisateur est connecté.
- statusCode: Numéro
- Le code dquo numérique de la réponse (SMB1 et SMB2 uniquement).
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
- user: Corde
- Le nom d'utilisateur, s'il est disponible. Dans certains cas, par exemple lorsque l'événement de connexion n'était pas visible ou que l'accès était anonyme, le nom d'utilisateur n'est pas disponible.
- warning: Corde
- Message d'avertissement détaillé enregistré par le système ExtraHop.
Accès uniquement sur CIFS_RESPONSE événements ; sinon, une erreur se produira.
DB
Le DB, ou base de données, la classe vous permet de stocker des métriques et d'accéder aux propriétés sur DB_REQUEST et DB_RESPONSE événements.
Évènements
- DB_REQUEST
- S'exécute sur chaque demande de base de données traitée par l'équipement.
- DB_RESPONSE
- S'exécute sur chaque réponse de base de données traitée par l'équipement.
Méthodes
- commitRecord(): vide
- Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur un
DB_RESPONSE événement. Enregistrer les validations sur DB_REQUEST
les événements ne sont pas pris en charge.
Pour consulter les propriétés par défaut attribuées à l' objet d'enregistrement, consultez le record propriété ci-dessous.
Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si commitRecord() méthode est appelée plusieurs fois pour le même enregistrement unique.
Propriétés
- appName: Corde
- Le client nom de l'application, qui est extrait uniquement pour les connexions MS SQL.
- correlationId: Numéro
- ID de corrélation pour les applications DB2. La valeur est null pour les applications autres que DB2.
- database: Corde
- L'instance de base de données. Dans certains cas, par exemple lorsque les événements de connexion sont chiffrés, le nom de la base de données n'est pas disponible.
- encryptionProtocol: Corde
- Le protocole avec lequel la transaction est cryptée.
- error: Corde
- Les messages d'erreur détaillés enregistrés par le système ExtraHop sous forme de chaîne. S'il
y a plusieurs erreurs dans une réponse, elles sont concaténées en une seule chaîne.
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- errors: Tableau de chaînes
- Les messages d'erreur détaillés enregistrés par le système ExtraHop sous forme de tableau. S'il n'
y a qu'une seule erreur dans la réponse, l'erreur est renvoyée sous forme de tableau contenant une
chaîne.
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- isDecrypted: Booléen
- La valeur est vraie si le système ExtraHop a déchiffré et analysé la transaction en toute sécurité. L'analyse du trafic déchiffré peut révéler les menaces avancées qui se cachent dans le trafic chiffré.
- isEncrypted: Booléen
- La valeur est vraie si la transaction est cryptée.
- isReqAborted: Booléen
- La valeur est true si la connexion est fermée avant que la demande de base de données ne soit terminée.
- isRspAborted: Booléen
- La valeur est true si la connexion est fermée avant que la réponse de base de données ne
soit terminée.
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- method: Corde
- Méthode de base de données en corrélation avec les méthodes répertoriées sous la métrique de base de données dans le système ExtraHop.
- params: Array
- Un tableau d'appels de procédure distants (RPC) paramètres
uniquement disponibles pour les bases de données Microsoft SQL, PostgreSQL et DB2.
Le tableau contient chacun des paramètres suivants :
- name: Corde
- Nom facultatif du paramètre RPC fourni.
- value: Corde | Numéro
- Un champ de texte, de nombre entier ou d'heure et de date. Si la valeur n'est pas un champ de texte, de nombre entier ou d' heure et de date, elle est convertie au format HEX/ASCII.
La valeur du params la propriété est la même lorsqu'on y accède sur l' un ou l'autre DB_REQUEST ou le DB_RESPONSE événement.
- procedure: Corde
- Nom de la procédure stockée. Correspond aux procédures répertoriées sous les méthodes de base de données dans le système ExtraHop.
- processingTime: Numéro
- Le temps de traitement du serveur, exprimé en millisecondes (équivalent à
rspTimeToFirstByte - reqTimeToLastByte). La valeur
est
NaN
en cas de réponses mal formées ou abandonnées ou
si le timing n'est pas valide.
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- record: Objet
- L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à
DB.commitRecord sur un DB_RESPONSE événement.
L'objet d'enregistrement par défaut peut contenir les propriétés suivantes :
- Nom de l'application
- Le client est externe
- Client Zerownd
- ID de corrélation
- base de données
- erreur
- est réavorté
- ISRS avorté
- méthode
- procédure
- Le récepteur est externe
- Taille de la requête
- ReqTimeToLastByte
- Taille RSP
- Temps RSP jusqu'au premier octet
- RSPTimeToLastByte
- Délai de traitement
- L'expéditeur est externe
- Le serveur est externe
- Serveur Zerownd
- déclaration
- table
- utilisateur
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- reqBytes: Numéro
- Le nombre de L4 octets de demande, à l'exception des
en-têtes L4.
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- reqL2Bytes: Numéro
- Le nombre de L2 octets de demande, y compris les
en-têtes L2.
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- reqPkts: Numéro
- Le nombre de paquets de demandes.
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- reqRTO: Numéro
- Le numéro de demande délais de retransmission
(RTO).
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- reqSize: Numéro
- Nombre d'octets de requête L7, à l'exclusion des en-têtes de protocole de base de données.
- reqTimeToLastByte: Numéro
- Temps écoulé entre le premier octet de la demande et le dernier octet de la demande, exprimé en millisecondes. Retours NaN en cas de demandes mal formées ou abandonnées ou si le délai n'est pas valide.
- reqZeroWnd: Numéro
- Le nombre de fenêtres nulles dans la demande.
- roundTripTime: Numéro
- Le temps moyen aller-retour (RTT), exprimé en millisecondes. La valeur est
NaN
s'il n'y a pas d'échantillons RTT.
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- rspBytes: Numéro
- Le nombre de L4 octets de réponse, à l'exclusion de la
surcharge du protocole L4, telle que les ACK, les en-têtes et les retransmissions.
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- rspL2Bytes: Numéro
- Le nombre de L2 octets de réponse, y compris les surcharges liées au protocole,
telles que les en-têtes.
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- rspPkts: Numéro
- Le nombre de paquets de réponse.
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- rspRTO: Numéro
- Le nombre de réponses délais de retransmission
(RTO).
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- rspSize: Numéro
- Nombre d'octets de réponse L7, à l'exclusion des en-têtes de protocole de base de données.
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- rspTimeToFirstByte: Numéro
- Temps écoulé entre le premier octet de la demande et le premier octet de la réponse,
exprimé en millisecondes. La valeur est
NaN
en cas de réponses mal formées ou abandonnées ou si le timing n'est pas valide.
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- rspTimeToLastByte: Numéro
- Temps écoulé entre le premier octet de la demande et le dernier octet de la réponse,
exprimé en millisecondes. La valeur est
NaN
en cas de réponses mal formées ou abandonnées ou si le timing n'est pas valide.
Accès uniquement sur DB_RESPONSE événements ; sinon, une erreur se produira.
- rspZeroWnd: Numéro
- Le nombre de fenêtres nulles dans la réponse.
- serverVersion: Corde
- Version du serveur MS SQL.
- statement: Corde
- L'instruction SQL complète, qui n'est peut-être pas disponible pour toutes les méthodes de base de données.
- table: Corde
- Nom de la table de base de données spécifiée dans l'instruction en cours. Les
bases de données suivantes sont prises en charge :
- Sybase
- Sybase IQ
- MySQL
- PostgreSQL
- IBM Informix
- MS SQL TDS
- Oracle TNS
- DB2
Renvoie un champ vide si la demande ne contient aucun nom de table.
- user: Corde
- Le nom d'utilisateur, s'il est disponible. Dans certains cas, par exemple lorsque les événements de connexion sont chiffrés, le nom d'utilisateur n'est pas disponible.
DHCP
Le DHCP la classe vous permet de stocker des métriques et d'accéder aux propriétés sur DHCP_REQUEST et DHCP_RESPONSE événements.
Évènements
- DHCP_REQUEST
- S'exécute sur chaque demande DHCP traitée par l'équipement.
- DHCP_RESPONSE
- S'exécute sur chaque réponse DHCP traitée par l'équipement.
Méthodes
- commitRecord(): vide
- Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur un
DHCP_REQUEST ou DHCP_RESPONSE événement.
L'événement détermine les propriétés qui sont validées dans l'objet d'enregistrement. Pour consulter les propriétés par défaut validées pour chaque événement, consultez le record propriété ci-dessous.
Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si commitRecord() méthode est appelée plusieurs fois pour le même enregistrement unique.
- getOption(optionCode: Numéro ): Objet
- Accepte un entier du code d'option DHCP en entrée et renvoie un objet contenant les champs
suivants :
- code: Numéro
- Le code d'option DHCP.
- name: Corde
- Nom de l'option DHCP.
- payload: Numéro | Corde
- Le type de charge utile renvoyé sera quel que soit le type de cette option spécifique, comme une adresse IP, un tableau d'adresses IP ou un objet tampon.
Retours null si le code d'option spécifié n'est pas présent dans le message.
Propriétés
- chaddr: Corde
- Adresse matérielle du client DHCP.
- clientReqDelay: Numéro
- Le temps écoulé avant le client tente d'acquérir ou de
renouveler un bail DHCP, exprimé en secondes.
Accès uniquement sur DHCP_REQUEST événements ; sinon, une erreur se produira.
- error: Corde
- Le message d'erreur associé au code d'option 56. La valeur est null
s'il n'y a pas d'erreur.
Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- gwAddr: Adresse IP
- L'adresse IP par laquelle les routeurs transmettent les messages de demande et de réponse.
- htype: Numéro
- Le code du type de matériel.
- msgType: Corde
- Le type de message DHCP. Les types de messages pris en charge sont les suivants :
- DHCPDISCOVER
- DHCPOFFER
- DHCPREQUEST
- DHCPDECLINE
- DHCPACK
- DHCPNAK
- DHCPRELEASE
- DHCPINFORM
- DHCPFORCERENEW
- DHCPLEASEQUERY
- DHCPLEASEUNASSIGNED
- DHCPLEASEUNKNOWN
- DHCPLEASEACTIVE
- DHCPBULKLEASEQUERY
- DHCPLEASEQUERYDONE
- offeredAddr: Adresse IP
- L'adresse IP que le serveur DHCP propose ou attribue au client.
Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- options: Tableau d'objets
- Un tableau d'objets, chaque objet contenant les champs suivants :
- code: Numéro
- Le code d'option DHCP.
- name: Corde
- Nom de l'option DHCP.
- payload: Numéro | Corde
- Le type de charge utile renvoyé sera quel que soit le type de cette option spécifique, comme une adresse IP, un tableau d'adresses IP ou un objet tampon. Les adresses IP seront analysées dans un tableau, mais si le nombre d'octets n'est pas divisible par 4, elles seront renvoyées sous forme de tampon.
- paramReqList: Corde
- Liste de nombres séparés par des virgules qui représente les options DHCP demandées au serveur par le client. Pour une liste complète des options DHCP, voir https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml.
- processingTime: Numéro
- Le temps de traitement, exprimé en millisecondes. La valeur est
NaN
en cas de réponses mal formées ou abandonnées ou si le timing n'est
pas valide.
Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- record: Objet
- L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à
DHCP.commitRecord sur l'un ou l'autre DHCP_REQUEST ou
DHCP_RESPONSE événement.
L'événement au cours duquel la méthode a été appelée détermine les propriétés que l'objet d'enregistrement par défaut peut contenir, comme indiqué dans le tableau suivant :
DHCP_REQUEST DHCP_RESPONSE clientIsExternal clientIsExternal clientReqDelay error gwAddr gwAddr htype htype msgType msgType receiverIsExternal offeredAddr reqBytes processingTime reqL2Bytes rspBytes reqPkts rspL2Bytes senderIsExternal rspPkts serverIsExternal receiverIsExternal txId senderIsExternal serverIsExternal txId - reqBytes: Numéro
- Le nombre de L4 octets de demande, à l'exception des
en-têtes L4.
Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- reqL2Bytes: Numéro
- Le nombre de L2 octets de demande, y compris les
en-têtes L2.
Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- reqPkts: Numéro
- Le nombre de paquets de demandes.
Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- rspBytes: Numéro
- Le nombre de L4 octets de réponse, à l'exclusion de la
surcharge du protocole L4, telle que les ACK, les en-têtes et les retransmissions.
Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- rspL2Bytes: Numéro
- Le nombre de L2 octets de réponse, y compris la surcharge du protocole,
comme les en-têtes.
Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- rspPkts: Numéro
- Le nombre de paquets de réponse.
Accès uniquement sur DHCP_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- txId: Numéro
- L'identifiant de transaction.
- vendor: Corde
- L'identifiant de classe de fournisseur (VCI) qui indique le fournisseur exécuté sur le client ou le serveur.
DICOM
Le DICOM Le cours (Imagerie numérique et DICOM en médecine ) vous permet de stocker des métriques et d'accéder aux propriétés sur DICOM_REQUEST et DICOM_RESPONSE événements.
Évènements
- DICOM_REQUEST
- S'exécute sur chaque demande DICOM traitée par l'équipement.
- DICOM_RESPONSE
- S'exécute sur chaque réponse DICOM traitée par l'équipement.
Méthodes
- commitRecord(): vide
- Envoie un enregistrement à l'espace de stockage des enregistrements configuré sur un
DICOM_REQUEST ou DICOM_RESPONSE événement.
L'événement détermine les propriétés qui sont validées dans l'objet d'enregistrement. Pour consulter les propriétés par défaut validées pour chaque événement, consultez le record propriété ci-dessous.
Pour les enregistrements intégrés, chaque enregistrement unique n'est validé qu'une seule fois, même si commitRecord() méthode est appelée plusieurs fois pour le même enregistrement unique.
- findElement(groupTag: Numéro , elementTag: Numéro ): Tampon
- Renvoie une mémoire tampon contenant l'élément de données DICOM spécifié par les numéros de groupe
et de balise d'élément transmis.
L'élément de données est représenté par une paire ordonnée unique d' entiers qui représentent les numéros de balise de groupe et d'étiquette d'élément. Par exemple, la paire ordonnée « 0008, 0008 » représente l'élément « type d'image ». UN Registre des éléments de données DICOM et les balises définies sont disponibles sur dicom.nema.org.
- groupTag: Numéro
- Le premier nombre de la paire ordonnée unique d'entiers qui représente un élément de données spécifique.
- elementTag: Numéro
- Le deuxième numéro de la paire ordonnée unique ou des entiers qui représentent un élément de données spécifique.
Propriétés
- calledAETitle: Corde
- Titre de l'entité d'application (AE) de l'équipement ou du programme de destination.
- callingAETitle: Corde
- Titre de l'entité d'application (AE) de l'équipement ou du programme source.
- elements: Array
- Ensemble d'éléments de commande et d'éléments de données contenant des valeurs de données de présentation (PDV) constituant un message DICOM.
- error: Corde
- Le message d'erreur détaillé enregistré par le système ExtraHop.
- isReqAborted: Booléen
- La valeur est true si la connexion est fermée avant que la
demande DICOM ne soit terminée.
Accès uniquement sur DICOM_REQUEST événements ; dans le cas contraire, une erreur se produira.
- isRspAborted: Booléen
- La valeur est true si la connexion est fermée avant que la
réponse DICOM ne soit terminée.
Accès uniquement sur DICOM_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- isSubOperation: Booléen
- La valeur est true si la métrique de synchronisation sur un L7 le message du protocole n'est pas disponible car la demande ou la réponse principale n' est pas complète.
- methods: Tableau de chaînes
- Tableau de champs de commande dans le message. Chaque champ de commande spécifie un nom d' opération DIMSE, tel que N-CREATE-RSP.
- processingTime: Numéro
- Le temps de traitement du serveur, exprimé en millisecondes. La valeur est
NaN
en cas de réponses mal formées ou abandonnées ou si le timing n'
est pas valide.
Accès uniquement sur DICOM_RESPONSE événements ; dans le cas contraire, une erreur se produira.
- record: Objet
- L'objet d'enregistrement qui peut être envoyé à l'espace de stockage des enregistrements configuré via un appel à
DICOM.commitRecord sur l'un ou l'autre DICOM_REQUEST ou
DICOM_RESPONSE événement.
L'événement au cours duquel la méthode a été appelée détermine les propriétés que l'objet d'enregistrement par défaut peut contenir, comme indiqué dans le tableau suivant :
DICOM_REQUEST DICOM_RESPONSE calledAETitle calledAETitle callingAETitle callingAETitle clientIsExternal clientIsExternal clientZeroWnd clientZeroWnd error error isReqAborted isRspAborted isSubOperation isSubOperation method method receiverIsExternal processingTime reqPDU receiverIsExternal reqSize rspPDU reqTransferTime rspSize senderIsExternal rspTransferTime
Nous vous remercions pour vos commentaires. Pouvons-nous vous contacter pour vous poser des questions complémentaires ?