INTEGRITY Документация

GraphQL Analytics API

GraphQL Analytics API предоставляет данные о запросах HTTP, проходящих через сеть Cloudflare, а также данные отдельных продуктов, таких как Firewall или Load Balancing. Пользователи Network Analytics также получают доступ к данным на уровне пакетов. С помощью GraphQL Analytics API можно выбирать нужные наборы данных и метрики, фильтровать и агрегировать данные по различным измерениям и интегрировать результаты с другими приложениями.

В основе API лежит Фреймворк GraphQL ↗, созданный компанией Facebook и опубликованный с открытым исходным кодом. Вокруг GraphQL сложилось активное сообщество разработчиков, а для выполнения запросов есть мощные клиенты, поэтому начать работу с ним несложно. GraphQL особенно полезен для построения визуализаций и лежит в основе аналитики в дашборде Cloudflare.

GraphQL моделирует предметную область в виде графа с помощью схемы. В схеме заданы логические определения разных типов узлов и связей между ними (рёбер). Эти узлы представляют собой наборы данных, которые вы используете для аналитики. Запросы в GraphQL пишутся примерно так же, как в SQL: вы указываете набор данных (таблицу), метрики, которые нужно получить (например, запросы и байты), и фильтруете или группируете по измерениям (например, по периоду времени).

GraphQL отличается от традиционного API тем, что у него есть только одна конечная точка:

https://api.cloudflare.com/client/v4/graphql

Параметры запроса передаются в виде объекта JSON в полезной нагрузке POST запрос к этому endpoint.

Вы можете использовать curl для отправки запросов в GraphQL Analytics API. Кроме того, вы можете использовать клиент GraphQL для составления запросов и их отправки в GraphQL Analytics API.

Клиенты

Мы используем GraphiQL ↗ для наших примеров запросов GraphQL. Существует множество других популярных клиентов с открытым исходным кодом, которые можно найти в интернете, например Altair ↗ и Insomnia ↗.

Ограничения

Назначение GraphQL API: предоставлять агрегированную аналитику по различным продуктам Cloudflare. Эти наборы данных не следует использовать как показатель использования, на основе которого Cloudflare выставляет счета. Оплачиваемый трафик не включает, например, трафик DDoS-атак ↗, тогда как GraphQL измеряет общее потребление или использование, поэтому включает весь измеримый трафик.