Les utilisateurs de la version 1 des API devraient reconnaître dans la version 2 des API d’utilisation horaire les concepts auxquels ils sont habitués, malgré un format légèrement différent.
Voici les différences les plus notables entre les versions 1 et 2. La version 2 :
regroupe tous les produits au sein d’un même endpoint ;
est conforme à la spécification JSON:API ;
est paginée ;
peut renvoyer des données pour plusieurs organisations et régions à l’aide d’une même requête.
Chacune de ces différences est abordée plus en détail dans les rubriques qui suivent.
La version 2 des API introduit les concepts de famille de produits et de type d’utilisation. Les familles de produits sont des groupes rassemblant un ou plusieurs types d’utilisation. Les types d’utilisation sont des mesures d’utilisation pour une organisation et une période données. L’ensemble initial de familles de produits est en grande partie aligné sur la version 1 des API ; vous trouverez ci-dessous le mappage complet. Une famille de produits spéciale all regroupe également les types d’utilisation de toutes les autres familles de produits.
Familles et types d’utilisation :
all
Contient toutes les autres familles de produits
analyzed_logs
analyzed_logs
application_security
app_sec_host_count
audit_trail
enabled
serverless
func_count
invocations_sum
ci_app
ci_pipeline_indexed_spans
ci_test_indexed_spans
ci_visibility_pipeline_committers
ci_visibility_test_committers
cloud_cost_management
host_count
cspm
aas_host_count
azure_host_count
compliance_host_count
container_count
host_count
cws
cws_container_count
cws_host_count
dbm
dbm_host_count
dbm_queries_count
fargate
avg_profiled_fargate_tasks
tasks_count
infra_hosts
agent_host_count
alibaba_host_count
apm_azure_app_service_host_count
apm_host_count
aws_host_count
azure_host_count
container_count
gcp_host_count
heroku_host_count
host_count
infra_azure_app_service
opentelemetry_host_count
vsphere_host_count
incident_management
monthly_active_users
indexed_logs
logs_indexed_events_3_day_count
logs_live_indexed_events_3_day_count
logs_rehydrated_indexed_events_3_day_count
logs_indexed_events_7_day_count
logs_live_indexed_events_7_day_count
logs_rehydrated_indexed_events_7_day_count
logs_indexed_events_15_day_count
logs_live_indexed_events_15_day_count
logs_rehydrated_indexed_events_15_day_count
logs_indexed_events_30_day_count
logs_live_indexed_events_30_day_count
logs_rehydrated_indexed_events_30_day_count
logs_indexed_events_45_day_count
logs_live_indexed_events_45_day_count
logs_rehydrated_indexed_events_45_day_count
logs_indexed_events_60_day_count
logs_live_indexed_events_60_day_count
logs_rehydrated_indexed_events_60_day_count
logs_indexed_events_90_day_count
logs_live_indexed_events_90_day_count
logs_rehydrated_indexed_events_90_day_count
logs_indexed_events_180_day_count
logs_live_indexed_events_180_day_count
logs_rehydrated_indexed_events_180_day_count
logs_indexed_events_360_day_count
logs_live_indexed_events_360_day_count
logs_rehydrated_indexed_events_360_day_count
logs_indexed_events_custom_day_count
logs_live_indexed_events_custom_day_count
logs_rehydrated_indexed_events_custom_day_count
indexed_spans
indexed_events_count
ingested_spans
ingested_events_bytes
iot
iot_device_count
lambda_traced_invocations
lambda_traced_invocations_count
logs
billable_ingested_bytes
indexed_events_count
ingested_events_bytes
logs_forwarding_events_bytes
logs_live_indexed_count
logs_live_ingested_bytes
logs_rehydrated_indexed_count
logs_rehydrated_ingested_bytes
network_flows
indexed_events_count
network_hosts
host_count
observability_pipelines
observability_pipelines_bytes_processed
online_archive
online_archive_events_count
profiling
avg_container_agent_count
host_count
rum
browser_rum_units
mobile_rum_units
rum_units
rum_browser_sessions
replay_session_count
session_count
rum_mobile_sessions
session_count
session_count_android
session_count_ios
session_count_reactnative
session_count_flutter
sds
logs_scanned_bytes
total_scanned_bytes
snmp
snmp_devices
synthetics_api
check_calls_count
synthetics_browser
browser_check_calls_count
timeseries
num_custom_input_timeseries
num_custom_output_timeseries
num_custom_timeseries
Cette liste indique comment les familles et les types d’utilisation ci-dessus sont mappés aux endpoints d’utilisation horaire de la version 1. Le type d’utilisation et le point de données sont identiques, sauf mention contraire :
Remarque : le type d’utilisation et le point de données sont distincts pour cette URL, car la valeur de rétention est incluse dans le type d’utilisation.
Type d’utilisation :logs_indexed_events_<rétention>_countPoint de données :indexed_events_count
Type d’utilisation :logs_live_indexed_events_<rétention>_countPoint de données :live_indexed_events_count
Type d’utilisation :logs_rehydrated_indexed_events_<rétention>_countPoint de données :rehydrated_indexed_events_count
Type d’utilisation : dans usage_type, remplacez <rétention> par l’une de ces valeurs : 3_day, 7_day, 15_day, 30_day, 45_day, 60_day, 90_day, 180_day, 365_day ou customPoint de données :retention
Le corps des réponses et les noms des paramètres sont conformes à la spécification JSON:API. Toutes les données disponibles avec la version 1 des API le sont toujours. L’exemple ci-dessous illustre le mappage de l’API Hosts v1 avec l’API d’utilisation horaire v2.
L’utilisation pour chaque heure est représentée sous la forme d’un objet dans le tableau d’utilisation.
Les types d’utilisation sont représentés par des clés dans l’objet, et l’utilisation mesurée pour ces types d’utilisation est indiquée par les valeurs correspondantes.
L’objet contient également des champs pour l’heure, le nom de l’organisation et l’ID public.
Les API d’utilisation horaire v2 sont paginées. Les réponses sont limitées à 500 pages, chacune d’elles contenant les données d’utilisation d’une seule famille de produits, pour une heure et une organisation. La pagination permet aux API de prendre en charge d’autres fonctionnalités, comme l’intégration de plusieurs produits par requête, l’intégration de plusieurs organisations par requête et des plages horaires illimitées.
Si le nombre de pages d’un résultat est supérieur à cette limite, l’ID d’enregistrement de la page suivante est renvoyé dans le champ meta.pagination.next_record_id. Les clients doivent alors transmettre cet ID via le paramètre pagination[next_record_id]. Il n’y a aucune page supplémentaire à récupérer si le champ meta.pagination.next_record_id n’est pas défini.
La version 2 des API prend en charge la récupération des données d’utilisation de toutes vos organisations enfant dans toutes les régions à l’aide d’une même requête. Utilisez le paramètre filter[include_descendants] pour récupérer les données des organisations enfant.