Cette traduction automatique est fournie pour votre commodité.
En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.
Si vous souhaitez explorer toutes les options que vous pouvez utiliser lors de la configuration de la monitoring de votre réseau, consultez les sections suivantes.
snmp-base.yaml
Voici un exemple des différentes options de configuration disponibles dans le fichier snmp-base.yaml utilisé par l'image Docker ktranslate pour interroger les périphériques de données SNMP et de flux. Vous pouvez également voir un exemple fortement commenté dans le référentiel KTranslate sur GitHub.
# Configuration of every device monitored by this container
Indique s'il faut activer le logging au niveau de débogage pendant l'interrogation SNMP. Par défaut, il est défini sur false.
port
Port vers lequel envoyer la requête SNMP. Par défaut, il est défini sur le port 161.
oïde
✓ (Requis pour l'interrogation SNMP)
Le systemObjectID | sysObjectID | sysOID découvert pour l'appareil. Ceci est utilisé pour faire correspondre le périphérique à un profil SNMP connu et définir l'attribut provider . Si aucune correspondance n'est trouvée, cela définit le provider comme périphérique par défaut de Kentik .
description
Le sysDescr découvert de l'appareil. Ce champ est informatif.
last_checked
Horodatage lorsque cet appareil a été découvert pour la dernière fois par l'image Docker ktranslate. Ce champ est informatif.
mib_profile
✓ (Requis pour l'interrogation SNMP)
Fichier de profil SNMP associé à ce périphérique lors de l'exécution de la découverte en fonction de son sysOID. If this starts with a bang (!) token, it will override the automatic matching from the sysOID and use a manual override. Ex : "!cisco-asa.yml" (les guillemets sont obligatoires).
fournisseur
✓ (Requis pour New Relic)
Valeur utilisée lors de la synthèse d'entité pour New Relic. Ceci est automatiquement créé sur la base du mib_profile correspondant et doit correspondre à l'une des règles du référentiel de définitions d'entité pour qu'une entité soit créée. Si vous ajoutez manuellement des appareils, vous devrez veiller à ce que cette valeur soit valide.
poll_time_sec
Indique la fréquence d'interrogation SNMP en secondes. Ce paramètre est utilisé pour remplacer l'attribut global.poll_time_sec .
tentatives
Indique le nombre de tentatives de nouvelle interrogation des OID SNMP. Ce paramètre est utilisé pour remplacer l'attribut global.retries .
timeout_ms
Indique le délai d'expiration de l'interrogation SNMP en millisecondes. Ce paramètre est utilisé pour remplacer l'attribut global.timeout_ms .
user_tags
key:value attribut de paire pour donner plus de contexte à l'appareil. la balise à ce niveau sera ajoutée à toute balise appliquée dans l'attribut global.user_tags .
discovered_mibs
Liste des MIB extraits de mib_profile correspondants auxquels cet appareil peut répondre. Ce champ est informatif.
engine_id
L'ID de moteur unique découvert pour l'agent SNMP de cet appareil. Généralement trouvé lors de la découverte SNMP v3. Ce champ est informatif.
match_attributes
attribute:regex paires pour ajouter des métriques à la liste autorisée. Les paires à ce niveau seront ajoutées à toutes les paires appliquées dans l'attribut global.match_attributes . Utilise la syntaxe RE2 et possède un opérateur OR par défaut. Préfixez la clé avec ! pour forcer les opérateurs AND .
monitor_admin_shut
Indique s'il faut monitorer les interfaces dans le statut Administratively Shutdown . Par défaut, il est défini sur false.
no_use_bulkwalkall
Désactive l’action de demande SNMP GETBULK lorsque true. Par défaut, il est défini sur false.
response_time
Indique si l'interrogation du temps de réponse est activée pour ce périphérique. Par défaut, il est défini sur false.
ping_only
Désactive toutes les interrogations SNMP et active l'interrogation du temps de réponse pour ce périphérique lorsque true. Ce paramètre remplacera l'attribut global.response_time . Par défaut, il est défini sur false. Vous devez vous assurer d’avoir inclus la ligne provider: kentik_ping pour chaque périphérique ping_only.
ping_interval_sec
Ce paramètre est utilisé pour remplacer le débit par défaut de 1 paquet/sec utilisé lors de l'interrogation ping_only | response_time .
flow_only
Désactive toutes les interrogations SNMP lorsque true. Par défaut, il est défini sur false.
purge_after_num
Supprime le périphérique du fichier de configuration après l'échec de X tâches de découverte planifiées. This setting overrides the global purge_devices_after_num setting. Réglez ceci sur -1 pour conserver l'appareil pour toujours, ou sur n'importe quel entier >= 1 pour définir un seuil de purge. (Par défaut : 0)
Désactive toutes les interrogations SNMP pour cette configuration device_name . Par défaut : false.
Nom de la clé
Requis
Description
écouter
✓
Port IP d'écoute pour la réception des interruptions SNMP. Par défaut, il est défini sur 0.0.0.0:1620 et nous utilisons une redirection dans votre commande docker run ... pour rediriger l'UDP 162 le plus courant sur l'hôte vers l'UDP 1620 dans le conteneur. La redirection est effectuée avec ce drapeau -p 162:1620/udp
communauté
Chaîne de communauté SNMPv1/v2c pour la réception des interruptions SNMP. Par défaut, nous traitons toujours les pièges entrants même s'ils ne correspondent pas à cette communauté.
version
Version SNMP à utiliser. Les options sont v1, v2c et v3. Par défaut, il est défini sur v2c.
transport
Protocole de transport SNMP à utiliser. Les options sont TCP et UDP. Par défaut, il est défini sur UDP
La définition de cette valeur sur true empêchera le conteneur de tenter une interrogation SNMP ou ICMP, utilisée dans les cas où vous souhaitez un conteneur qui écoute uniquement les interruptions entrantes.
drop_undefined
La définition de cette valeur sur true empêchera le conteneur de transmettre les messages d'interruption SNMP qui ne sont pas explicitement définis dans un profil SNMP existant. (Par défaut : false)
éventail d'adresses IP que vous souhaitez explicitement ignorer lors de toutes les tâches de découverte.
debug
Indique s'il faut activer le logging au niveau de débogage pendant la découverte. Par défaut, il est défini sur false
ports
✓
éventail de ports cibles à analyser lors de l'interrogation SNMP.
default_communities
✓ (Requis pour SNMPv1/2c)
éventail de chaînes de communauté SNMPv1/v2c à analyser pendant l'interrogation SNMP. Cet éventail est évalué dans l'ordre et la découverte accepte la première communauté passante.
use_snmp_v1
✓ (Requis pour SNMPv1)
Indique s'il faut utiliser SNMPv1 lors de la découverte. Par défaut, il est défini sur false
Plusieurs configurations SNMPv3 à analyser pendant l'interrogation SNMP. Use this option OR default_v3, not both
add_devices
✓
Indique s'il faut ajouter les périphériques découverts à la section devices du fichier snmp-base.yaml . Par défaut, il est défini sur true.
add_mibs
✓
Indique s'il faut ajouter les MIB découverts à la section global.mibs_enabled du fichier snmp-base.yaml . Par défaut, il est défini sur true.
fils
✓
Limite entière de threads à utiliser lors de la découverte. Il doit être inférieur au nombre de cœurs disponibles pour le conteneur. Par défaut, il est défini sur 4.
replace_devices
✓
Indique s'il faut remplacer les périphériques découverts s'ils existent déjà dans la section devices du fichier snmp-base.yaml . Par défaut, il est défini sur true.
no_dedup_engine_id
Lorsque défini sur true, désactive la déduplication des périphériques détectés s'il semble qu'il s'agisse du même périphérique, en fonction de leur ID de moteur SNMP signalé. Par défaut, il est défini sur false
check_all_ips
Lorsqu'il est défini sur true, force la tâche de découverte à tenter une connectivité SNMP sur chaque adresse IP cible de l'éventail cidrs , sans vérifier d'abord la vivacité via l'analyse du port TCP. Ce paramètre ralentit les tâches de découverte, mais peut aider à contourner les problèmes où la découverte échoue sur les périphériques qui ne sont pas répertoriés dans votre éventail cidrs avec des remplacements /32 . Par défaut, il est défini sur false
Nom de la clé
Requis
Description
poll_time_sec
✓
Temps en secondes pour interroger les appareils. Cela peut être remplacé par appareil à l'aide de l'attribut devices.<deviceName>.poll_time_sec . Par défaut, il est défini sur 60.
drop_if_outside_poll
Indique s'il faut supprimer toutes les valeurs de ce cycle si l'interrogation prend plus de temps que la valeur définie dans poll_time_sec. Par défaut, il est défini sur false.
mib_profile_dir
Répertoire pour trouver des profils MIB organisés. Ceux-ci sont automatiquement intégrés dans l'image ktranslate à partir du référentiel snmp-profiles de Kentik et peuvent être remplacés lors de l'exécution de Docker en créant un montage de volume de votre propre répertoire local de profils.
mibs_db
mibs_enabled
✓
éventail de tous les MIB actifs que l'image Docker ktranslate va interroger. Cette liste est générée automatiquement lors de la découverte si l'attribut discovery_add_mibs est true. Les MIB non répertoriés ici ne seront interrogés sur aucun périphérique dans le fichier de configuration. Vous pouvez spécifier une table SNMP directement dans un fichier MIB en utilisant la syntaxe MIB-NAME.tableName . Ex : HOST-RESOURCES-MIB.hrProcessorTable.
timeout_ms
✓
Délai d'expiration de la requête SNMP en millisecondes. Cela peut être remplacé par appareil à l'aide de l'attribut devices.<deviceName>.timeout_ms . Par défaut, il est défini sur 3000.
tentatives
✓
Nombre de tentatives de réexécution des interrogations SNMP ayant échoué. Cela peut être remplacé par appareil à l'aide de l'attribut devices.<deviceName>.retries . Par défaut, il est défini sur 0.
user_tags
key:value attribut de paire pour donner plus de contexte à l'appareil. La balise à ce niveau sera appliquée à tous les périphériques du fichier configuration .
match_attributes
attribute:regex paires pour ajouter des métriques à la liste autorisée. Les paires à ce niveau seront comparées à tous les périphériques du fichier de configuration. Utilise la syntaxe RE2 et possède un opérateur OR par défaut. Préfixez la clé avec ! pour forcer les opérateurs AND .
response_time
Indique si l'interrogation du temps de réponse est activée pour tous les périphériques du fichier de configuration. Par défaut, il est défini sur false.
purge_devices_after_num
Supprime les périphériques du fichier de configuration après l'échec de X tâches de découverte planifiées. Définissez ceci sur -1 pour conserver les appareils pour toujours, ou sur n'importe quel entier >= 1 pour définir un seuil de purge. Par défaut, il est défini sur 0.
Configure un observateur pour recharger les threads SNMP lors des modifications apportées aux profils dans le chemin mib_profile_dir . Par défaut, il est défini sur false.
SNMPv1 et SNMPv2c ne prennent pas en charge l'utilisation de secrets cloud car les protocoles eux-mêmes envoient leurs chaînes de communauté via du texte brut par défaut. Si vous êtes préoccupé par la sécurité de votre authentification SNMP, veuillez effectuer une mise à jour pour utiliser SNMPv3.
Pour utiliser AWS Secrets Manager, vous devez définir les trois variables d’environnement suivantes et les fournir à Docker lors de l’exécution :
Nom
Description
AWS_ACCESS_KEY_ID
Spécifie la clé d’accès AWS utilisée dans le cadre des informations d’identification pour authentifier l’utilisateur.
AWS_SECRET_ACCESS_KEY
Spécifie la clé secrète AWS utilisée dans le cadre des informations d’identification pour authentifier l’utilisateur.
AWS_REGION
Spécifie la région AWS à laquelle envoyer requests .
Pour utiliser Azure Key Vault, vous devez définir les cinq variables d’environnement suivantes et les fournir à Docker lors de l’exécution :
Conseil
Vous devez définir KT_AZURE_KEY_VAULT_NAME ou KT_AZURE_KEY_VAULT_URL, pas les deux. La valeur par défaut est d'utiliser KT_AZURE_KEY_VAULT_NAME et l'agent utilisera un modèle d'URL commun : https://$KT_AZURE_KEY_VAULT_NAME.vault.azure.net/
Nom
Description
KT_AZURE_KEY_VAULT_NAME
Le nom du coffre-fort où le secret est stocké.
KT_AZURE_KEY_VAULT_URL
URL complète facultative pour l'appel d'API à la cible.
Il s’agit du secret client (mot de passe) utilisé pour le principal du service lors de l’authentification. Notez que cet ID concerne le secret client value et non l'ID du secret lui-même.
Pour utiliser GCP Secret Manager, vous devez définir le montage de volume suivant pour un fichier JSON d'informations d'identification ainsi que deux variables d'environnement et les fournir à Docker lors de l'exécution :
Spécifie le chemin d’accès au fichier local pour la clé de compte de service utilisée pour authentifier l’utilisateur. Ce fichier est monté en volume dans le conteneur Docker, puis référencé dans la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS .
Protocole d'authentification SNMPv3. Les valeurs possibles sont NoAuth, MD5 ou SHA
authentication_passphrase
Mot de passe d'authentification SNMPv3
privacy_protocol
✓
Protocole de confidentialité SNMPv3. Les valeurs possibles sont NoPriv, DES, AES, AES192, AES256, AES192C ou AES256C
privacy_passphrase
Mot de passe de confidentialité SNMPv3
context_engine_id
ID du moteur de contexte SNMPv3
context_name
Nom du contexte SNMPv3
Exemples :
Conseil
L’utilisation de secrets d’AWS, Azure ou de GCP nécessitera également que vous fournissiez les variables d’environnement appropriées et toute autre information d’authentification nécessaire pour que l’agent puisse interroger l’API cible.
Pour prendre en charge l'exécution de tâches de découverte avec plusieurs profils SNMP v3, vous pouvez remplacer la clé discovery.default_v3 par la clé discovery.other_v3s , qui contient un éventail de configurations SNMPv3.
Cela peut également fonctionner à l'aide d'un gestionnaire de secrets de fournisseur cloud. Un exemple pour AWS :
discovery:
other_v3s:
- aws.sm.$YOUR_SECRET_NAME_1
- aws.sm.$YOUR_SECRET_NAME_2
Configuration de l'interrogation API
Conseil
Vous pouvez également utiliser les secrets du fournisseur cloud dans votre configuration d’authentification API.
L'intégration Arista eAPI collecte des données de télémétrie BGP et MLAG supplémentaires qui ne sont généralement pas disponibles via l'interrogation SNMP.
Les détails BGP sont collectés à partir de cette commande : show ip bgp summary vrf all
NRQL pour trouver la télémétrie BGP :
FROM Metric SELECT
max(kentik.eapi.bgp.InMsgQueue)AS'InQ',// Messages Queued from the Neighbor
max(kentik.eapi.bgp.MsgReceived)AS'MsgSent',// Messages Received from the Neighbor
max(kentik.eapi.bgp.MsgSent)AS'MsgRcvd',// Messages Sent to the Neighbor
latest(peer_state)AS'State',// State of the BGP session
latest(kentik.eapi.bgp.UpDownTime)AS'Up/Down',// Period the BGP session has been in current state
latest(kentik.eapi.bgp.Version)AS'V'// BGP version number
FACET
entity.name AS'Device',
router_id AS'Device IP',
peer AS'BGP Peer',
peer_asn AS'BGP Peer ASN',
vrf AS'VRF Name'
Les détails MLAG sont collectés à partir de cette commande : show mlag detail
NRQL pour trouver la télémétrie MLAG :
FROM Metric SELECT
latest(kentik.eapi.mlag.PortsConfigured)AS'Ports Configured',// Count of MLAG ports currently configured
latest(kentik.eapi.mlag.PortsDisabled)AS'Ports Disabled',// Count of MLAG ports in 'Disabled' state
latest(kentik.eapi.mlag.PortsActivePartial)AS'Ports Active-partial',// Count of MLAG ports in 'Active-partial' state
latest(kentik.eapi.mlag.PortsInactive)AS'Ports Inactive',// Count of MLAG ports in 'Inactive' state
latest(kentik.eapi.mlag.PortsActiveFull)AS'Ports Active-full',// Count of MLAG ports in 'Active-full' state
latest(kentik.eapi.mlag.PortsErrdisabled)AS'Ports Err-disabled',// Count of MLAG ports in 'Err-disabled' state
latest(config_sanity)AS'Config-Sanity',// Current result of 'config-sanity' check
latest(state)AS'State',// Current MLAG state
latest(neg_status)AS'Negotiation Status',// Current negotiation status between switches
latest(peer_address)AS'Peer Address',// Address of MLAG peer
latest(peer_link)AS'Peer Link',// Link name for MLAG peer
latest(peer_link_status)AS'Peer Link Status',// Status of MLAG peer
latest(local_interface)AS'Local Interface',// Local interface used for MLAG configuration
latest(local_intf_status)AS'Local Interface Status'// Status of local interface used for MLAG configuration
FACET
entity.name AS'Device',
domain_id AS'MLAG Domain ID'
Options de configuration
Nom de la clé
Requis
Description
eapi_config.username
✓
Le nom d'utilisateur à transmettre à l'appareil pour authentifier l'authentification eAPI.
eapi_config.password
✓
Le mot de passe à transmettre à l'appareil pour authentifier l'authentification eAPI.
eapi_config.transport
Spécifie le type de transport de connexion à utiliser. Les valeurs possibles sont https et http. Par défaut : https.
eapi_config.port
✓
Le port TCP du point de terminaison pour la connexion eAPI.
L'intégration de l'API du tableau de bord Meraki extrait diverses mesures liées à la santé de votre environnement Meraki. La combinaison d'options configuration vous permet de configurer différents scénarios monitoring en fonction de vos besoins et crée une entité dans votre compte New Relic.
les métriques d'organisation sont collectées par défaut sous la métrique kentik.meraki.organization.Count qui est exclusivement utilisée pour générer l'entité Meraki Organization . Il s’agit principalement de permettre la visualisation de la hiérarchie Meraki pour aligner les réseaux et les appareils sur leur organisation parent.
meraki_config.monitor_org_changes: true: Utilise le point de terminaison Obtenir la configuration de l'organisation pour afficher le log des modifications de l'organisation.
NRQL pour trouver la télémétrie des changements de configuration de l'organisation :
FROM KExtEvent SELECT*
meraki_config.preferences.show_network_attr: true
Les métriques réseau sont collectées sous la métrique kentik.meraki.network.Count qui est exclusivement utilisée pour générer l'entité Meraki Network . Il s’agit principalement de permettre la visualisation de la hiérarchie Meraki et d’aligner les appareils sur le réseau dont ils sont membres.
meraki_config.monitor_devices: true && meraki_config.preferences.device_status_only: true:Utilise le point de terminaison Obtenir l'état des périphériques de l'organisation pour répertorier l'état de chaque périphérique Meraki de l'organisation.
NRQL pour trouver la télémétrie de l'état de l'appareil :
FROM Metric SELECT
latest(status)AS'Device Status'// Current status of this device
FACET
org_id AS'Organization ID',
org_name AS'Organization Name',
network_id AS'Network ID',
network AS'Network Name',
device_name AS'Device Name',
src_addr AS'Device Public IP',
mac AS'Device MAC',
model AS'Device Model',
serialAS'Device Serial',
address AS'Device Address',
lat AS'Device Latitude',
lng AS'Device Longitude',
notes AS'Device Notes'
WHERE instrumentation.name ='meraki.device_status'
NRQL pour trouver la télémétrie de liaison montante de l'appareil :
FROM Metric SELECT
max(kentik.meraki.uplinks.LatencyMS)AS'Uplink Latency',// Uplink measured latency in milliseconds
max(kentik.meraki.uplinks.LossPct)AS'Uplink Loss %',// Uplink measured loss percentage
max(kentik.meraki.uplinks.Recv)AS'Uplink Receive Bytes',// Uplink bytes received
max(kentik.meraki.uplinks.Sent)AS'Uplink Transmit Bytes',// Uplink bytes sent
latest(status)AS'Uplink Status'// Latest status of the uplink
FACET
org_id AS'Organization ID',
org_name AS'Organization Name',
network_id AS'Network ID',
network AS'Network Name',
device_name AS'Device Name',
interface AS'Device Uplink Interface',
model AS'Device Model',
serialAS'Device Serial'
WHERE org_id ISNOTNULL
meraki_config.monitor_uplinks: true && meraki_config.preferences.hide_uplink_usage: true:Utilise le point de terminaison Obtenir les statuts des liaisons montantes de l'organisation pour répertorier uniquement l'état de la liaison montante de chaque périphérique des séries Meraki MX, MG et Z de l'organisation.
NRQL pour trouver la télémétrie de l'état de la liaison montante de l'appareil :
FROM Metric SELECT
latest(status)AS'Uplink Status'// Latest status of the uplink
FACET
org_id AS'Organization ID',
org_name AS'Organization Name',
network_id AS'Network ID',
network AS'Network Name',
device_name AS'Device Name',
interface AS'Device Uplink Interface',
model AS'Device Model',
serialAS'Device Serial'
WHERE org_id ISNOTNULL
meraki_config.monitor_vpn_status: true && meraki_config.preferences.show_vpn_peers: false: Utilise le point de terminaison Obtenir les statuts VPN de l'appareil d'organisation pour afficher les statuts VPN sur les réseaux de l'organisation.
NRQL pour trouver la télémétrie de l'état du VPN :
FROM Metric SELECT
latest(status)AS'VPN Status'// Latest status of this VPN
FACET
org_id AS'Organization ID',
org_name AS'Organization Name',
network_id AS'Network ID',
network AS'Network Name',
device_name AS'Device Name',
serialAS'Device Serial',
vpn_mode AS'VPN Mode',
wan1 OR wan2 AS'WAN Interface IP'
WHERE instrumentation.name ='meraki.vpn_status'
AND org_id ISNOTNULL
meraki_config.monitor_vpn_status: true && meraki_config.preferences.show_vpn_peers: true:Utilise le point de terminaison Obtenir les statuts VPN de l'appareil de l'organisation pour ajouter des informations sur les homologues VPN sur les réseaux de l'organisation.
NRQL pour trouver la télémétrie des homologues VPN :
FROM Metric SELECT
latest(status)AS'Peer Status'// Current status of this VPN peer
FACET
network_id AS'Network ID',
network AS'Network Name',
device_name AS'Device Name',
serialAS'Device Serial',
vpn_mode AS'VPN Mode',
wan1 AS'WAN 1 IP',
wan2 AS'WAN 2 IP',
peer_name AS'Peer Name',// Name of this peer
peer_reachability AS'Peer Reachability',// Latest results of reachability test for this peer
peer_network_id AS'Peer Network ID',// Network ID for this peer
peer_type AS'Peer Type'// Type of Peer (Meraki vs Third-party)
WHERE metricName ='kentik.meraki.vpn_status.PeerStatus'
Conseil
Vous pouvez utiliser la variable d'environnement KENTIK_MERAKI_API_KEY pour transmettre votre clé API à l'intégration Meraki sans la stocker en texte brut dans votre fichier de configuration.
Paramètre facultatif qui contrôle la fréquence à laquelle une nouvelle tentative est tentée sur requests API qui renvoient une erreur HTTP 429. L'intervalle entre les tentatives est de 5 secondes.
meraki_config.monitor_devices
vrai | faux (par défaut : faux)
Monitorer l'état de chaque appareil Meraki de l'organisation.
meraki_config.monitor_org_changes
vrai | faux (par défaut : faux)
Monitore le log des modifications de l'organisation.
meraki_config.monitor_uplinks
vrai | faux (par défaut : vrai)
Monitorez l'état de la liaison montante et les performances de chaque appareil des séries Meraki MX, MG et Z de l'organisation.
meraki_config.monitor_vpn_status
vrai | faux (par défaut : faux)
Monitore les statuts VPN sur les réseaux de l'organisation.
Ces options vous permettent de restreindre monitoring à des objets spécifiquement ciblés dans votre environnement Meraki.
Filtre toute monitoring sur une liste spécifique de réseaux.
meraki_config.product_types
Les types valides sont : sans fil, appareil, commutateur, systemsManager, caméra, cellularGateway, capteur et cloudGateway. (Par défaut : null)
Ajoute des paramètres à la demande d'API monitor_devices pour filtrer sur des types spécifiques d'appareils.
Ces options vous permettent de définir plus précisément les données collectées à partir des principales options de configuration. Différentes combinaisons sont décrites dans la section exemples ci-dessus.
Nom de la clé
Requis
Saisir
Description
meraki_config.preferences.device_status_only
vrai | faux (par défaut : faux)
Obligatoire lors de l'utilisation de monitor_devices: true pour restreindre l'interrogation aux seules informations d'état. (This is used to prevent timeout issues.)
meraki_config.preferences.hide_uplink_usage
vrai | faux (par défaut : faux)
Utilisé en combinaison avec monitor_uplinks pour supprimer les mesures de performances et renvoyer uniquement les informations d'état pour les liaisons montantes.
meraki_config.preferences.show_vpn_peers
vrai | faux (par défaut : faux)
Utilisé en combinaison avec monitor_vpn_status pour ajouter de la télémétrie sur les homologues VPN.
meraki_config.preferences.show_network_attr
vrai | faux (par défaut : faux)
Utilisé pour ajouter de la télémétrie sur les réseaux. Nécessaire pour créer l'entité Meraki Network .
Exemple de configuration minimale
# This represents the minimal configuration required for a container that only performs Meraki API polling.
# By default we only monitor uplinks. All other items are optional.
---
devices:
meraki_cloud_controller:
device_name: meraki_cloud_controller
device_ip: snmp.meraki.com
provider: meraki-cloud-controller
ext:
ext_only:true
meraki_config:
api_key:"$YOUR_API_KEY"
trap:{}
discovery:{}
global:
poll_time_sec:300
timeout_ms:30000
Exemples de configuration complète [#meraki-full-config]
Toutes les options requises pour créer les entités Meraki Organization, Meraki Network et Meraki Device .
devices:
meraki_dashboard_api:
device_name: meraki_controller
device_ip: snmp.meraki.com
provider: meraki-cloud-controller
ext:
ext_only:true
meraki_config:
api_key: $YOUR_MERAKI_API_KEY
monitor_devices:true
monitor_org_changes:true
monitor_uplinks:true
monitor_vpn_status:true
preferences:
device_status_only:true
hide_uplink_usage:false
show_vpn_peers:true
show_network_attr:true
trap:{}
discovery:{}
global:
poll_time_sec:300
timeout_ms:30000
Ciblage de plusieurs API clés du tableau de bord Meraki
devices:
# Entity 1 - monitor everything this API key has access to
meraki_all:
device_name: meraki_all
device_ip: snmp.meraki.com
provider: meraki-cloud-controller
ext:
ext_only:true
meraki_config:
api_key:"$YOUR_API_KEY_1"
max_http_retry:8
monitor_devices:true
monitor_org_changes:true
monitor_uplinks:true
monitor_vpn_status:true
preferences:
device_status_only:true
show_vpn_peers:true
hide_uplink_usage:false
# Entity 2 - Monitor these specific organizations under this API key
meraki_single_org:
device_name: meraki_single_org
device_ip: snmp.meraki.com
provider: meraki-cloud-controller
ext:
ext_only:true
meraki_config:
api_key:"$YOUR_API_KEY_2"
monitor_devices:true
monitor_org_changes:true
monitor_uplinks:true
monitor_vpn_status:true
preferences:
device_status_only:true
show_vpn_peers:true
hide_uplink_usage:false
organizations:
-"Org 1 - Prod.*"
-"Org 2 - Staging"
# Entity 3 - Monitor specific devices filtered by organization, network, and product types; using the same API key from Entity 2
meraki_filtered:
device_name: meraki_filtered
device_ip: snmp.meraki.com
provider: meraki-cloud-controller
ext:
ext_only:true
meraki_config:
api_key:"$YOUR_API_KEY_2"
monitor_devices:true
monitor_uplinks:false
preferences:
device_status_only:true
organizations:
-"Org 3 - Remote Sites"
networks:
-"Corp.*99"
-"Retail.*"
product_types:
- wireless
- appliance
trap:{}
discovery:{}
global:
poll_time_sec:300
timeout_ms:30000
Fichiers de configuration externes
Pour prendre en charge une grande variété de besoins de configuration et d'automatisation, vous pouvez utiliser des fichiers externes que vous montez en volume dans votre conteneur Docker pour découpler certains éléments du fichier de configuration standard. Vous devrez inclure l'argument de montage ci-dessous dans votre commande docker run , avec un argument par fichier de configuration externe.
-v `pwd`/fileName.yaml:/fileName.yaml \
La syntaxe de ces fichiers est "@fileName.yaml", y compris les guillemets doubles.
Exemple:
discovery:
cidrs:"@cidrs.yaml"
Le fichier CIDR doit utiliser une syntaxe de liste YAML comme celle-ci :
- 10.10.0.0/24
- 10.20.0.0/24
- 192.168.0.21/32
Exemple:
devices:
"@neteng-devices.yaml"
Les fichiers de périphérique doivent utiliser la même syntaxe que la section devices standard du fichier de configuration principal, en omettant les champs facultatifs générés lors de la découverte :
devices:
# Sample of SNMP v2c device
ups_snmpv2c__10.10.0.201:
device_name: ups_snmpv2c
device_ip: 10.10.0.201
snmp_comm: $YOUR_COMMUNITY_STRING
oid: .1.3.6.1.4.1.318.1.3.27
mib_profile: apc_ups.yml
provider: kentik-ups
poll_time_sec:300
retries:1
timeout_ms:5000
user_tags:
owning_team: dc_ops
Le match_attributes
Pour prendre en charge le filtrage des données qui ne créent pas de valeur pour vos besoins d'observabilité, vous pouvez définir la carte d'attributs global.match_attributes.{} et/ou devices.[].match_attributes.{} .
Cela fournira un filtrage au niveau ktranslate, avant d'envoyer des données à New Relic, vous donnant un contrôle précis sur monitoring d'éléments tels que les interfaces.
Le comportement par défaut de cette carte est une condition OR , mais vous pouvez la remplacer et forcer un opérateur AND en préfixant votre nom de clé avec !. Ceci est également utile pour renvoyer uniquement les éléments correspondants et omettre tous les résultats null et "" (vides).
Correspondance lorsque if_Alias commence par UplinkOR lorsque if_interface_name commence par Gig, conserver toutes les valeurs null et "" :
devices:
deviceName:
...
match_attributes:
if_Alias:"^Uplink.*"
if_interface_name:"^Gig.*"
Correspondance lorsque if_Alias commence par UplinkAND lorsque if_interface_name commence par Gig, supprimez toutes les valeurs null et "" :
devices:
deviceName:
...
match_attributes:
if_Alias:"^Uplink.*"
"!if_interface_name":"^Gig.*"
Correspondance lorsque if_Alias commence par Uplink, supprimez toutes les valeurs null et "" :
devices:
deviceName:
...
match_attributes:
"!if_Alias":"^Uplink.*"
Le package regex de Golang ne prend pas en charge les modèles d'anticipation négatifs (q(?!u)) par défaut. Pour contourner ce problème, vous pouvez ajouter le jeton DOES_NOT_MATCH à votre carte d'attributs pour obtenir efficacement les résultats inverses de votre modèle de correspondance.
Par exemple, pour effectuer une correspondance sur chaque interface qui n'inclut pas la chaîne Uplink; vous pouvez utiliser une configuration comme celle-ci :
devices:
deviceName:
...
match_attributes:
"!if_Alias":"^Uplink.*"
DOES_NOT_MATCH:true
Le response_time et ping_only
Pour prendre en charge monitoring des périphériques pour lesquels les statistiques de performances ne sont pas accessibles ou disponibles, ou dans les cas simples où monitoring du temps aller-retour (RTT) de base est requise, vous pouvez définir l'attribut global.response_time ou devices.[].ping_only sur true.
Cette fonctionnalité utilise le package go-ping pour envoyer des paquets ICMP (par défaut) ou UDP non privilégiés aux périphériques afin de collecter le temps aller-retour (RTT) moyen, minimum, maximum et écart type. Ce package affiche également le pourcentage de perte de paquets pour le point de terminaison en fonction de l'envoi d'un paquet/s de ktranslate à l'adresse IP du périphérique, qui peut être remplacé en définissant l'attribut devices.[].ping_interval_sec . Vous pouvez passer de l’utilisation par défaut des paquets ICMP privilégiés à UDP en définissant la variable d’environnement KENTIK_PING_PRIV=false pendant l’exécution de Docker.
La définition de l'attribut global.response_time sur true ajoutera monitoring RTT en plus de l'interrogation SNMP existante. Pour monitorer les périphériques avec uniquement les paquets UDP|ICMP pour RTT et aucune interrogation SNMP, utilisez devices.[].ping_only: true.
Dans New Relic, vous pouvez voir les résultats de ce sondage en examinant les paramètres suivants :
FROM Metric SELECT
average(kentik.ping.AvgRttMs)AS'Average',
max(kentik.ping.MaxRttMs)AS'Max',
min(kentik.ping.MinRttMs)AS'Min',
average(kentik.ping.StdDevRtt)AS'StdDev',
latest(kentik.ping.PacketLossPct)AS'Packet Loss %'
FACET device_name
Conseil
Vous pouvez utiliser l'attribut ping_only en remplacement de l'attribut flow_only si vous souhaitez collecter des métriques RTT à partir d'un périphérique de flux. Si ping_only et flow_only sont tous deux true, le périphérique sera traité comme un périphérique flow_only .
Le flow_only
Pour prendre en charge monitoring des appareils sur lesquels vous souhaitez uniquement collecter des données de flux, vous pouvez définir l'attribut devices.<deviceName>.flow_only sur true.
Cela générera une entité Flow Device qui n'aura de télémétrie que dans le KFlow événement espace de nommage. Alternativement, la collecte de la télémétrie de flux à partir d'un périphérique qui se trouve dans votre fichier de configuration en tant que périphérique SNMP ajoutera la décoration des données KFlow à l'entité préexistante, telle qu'un Router ou Firewall.
Dans New Relic, vous pouvez voir les résultats de ce sondage en examinant l'événement suivant :
FROM KFlow SELECT*
WHERE instrumentation.name ='netflow-events'
Modélisation d'application de données de flux
Par défaut, la télémétrie de flux est mappée aux applications connues en fonction de l’évaluation du port de couche 4 utilisé sur une conversation de flux spécifique. Si nécessaire, vous pouvez remplacer la modélisation par défaut en fournissant un fichier YAML pendant l'exécution Docker à l'indicateur -application_map. Cela vous permettra de spécifier les noms d'application en fonction des ports que vous identifiez.
Exemple de syntaxe :
applications:
-ports:[9092,9093]
name: kafka
-ports:[80,8080]
name: http
-ports:[443,8443]
name: https
Filtrage des données d'entrée de flux
Par défaut, le conteneur de données de flux collecte et traite chaque paquet de flux qu'il reçoit. Si nécessaire, vous pouvez ajouter un filtre d'inclusion à l'indicateur -nf.source qui ignorera tout le trafic ne correspondant pas au filtre que vous fournissez.
Syntaxe: --filters $TYPE,$FIELD,$FUNCTION,$MATCH
Nom de l'argument
Requis
Description
$TYPE
✓
Le type de filtre à appliquer. Les valeurs possibles sont string, int et addr.
$CHAMP
✓
Le nom du champ par rapport auquel évaluer le modèle de correspondance.
$FONCTION
✓
Le type de fonction à utiliser lors de l'évaluation. Les valeurs possibles sont Equal: ==, NotEqual: !=, LessThan: <, GreaterThan: >, Contains: %
$ CORRESPONDANCE
✓
La valeur à utiliser comme modèle de correspondance.
Collecter uniquement les données de flux à partir d'adresses sources dans la plage CIDR 10.0.0.0/24
Collecter uniquement les données de flux à partir d'adresses sources dans la plage CIDR 10.0.0.0/24 ET où le port de destination n'est pas égal à 8531 (opérateur AND implicite)
Rechargement automatique des profils SNMP personnalisés
Par défaut, le conteneur Docker ktranslate doit être détruit et reconstruit manuellement pour intégrer les modifications apportées aux profils SNMP dans le chemin mib_profile_dir . Il s'agit d'un comportement normal dans la plupart des déploiements, car l'image Docker récupère les derniers profils disponibles dans le référentiel public snmp-profiles. Dans les situations où vous fournissez des profils personnalisés, vous pouvez utiliser le paramètre watch_profile_changes pour permettre au conteneur d'actualiser automatiquement la configuration sous-jacente et les profils SNMP du conteneur.
Important
Ce n'est pas récursif en raison d'une limitation dans la bibliothèque watcher. Ainsi, si un profil change dans un sous-répertoire, vous devez également modifier un fichier de niveau supérieur pour déclencher la modification.
En supposant cette structure de répertoire :
.
└── /snmp-profiles/
└── profiles/
└── kentik-snmp/
├── 3com
├── _general
├── a10networks
└── ...
Vous devrez placer un nouveau fichier à la racine du répertoire et le modifier manuellement pour déclencher ce cycle d'actualisation. Un moyen simple de mettre en œuvre ceci est d’écrire simplement un horodatage dans un fichier tel que last_updated.txt lorsque votre modification est soumise.