Geomap: данные на карте¶
Если ваши пользователи распределены по миру, посмотреть на них глазами полезно не только из любопытства. Карта плотности запросов мгновенно покажет, какой регион просел по latency, где возникла проблема с доступностью и куда направлять трафик.
Источники координат¶
Elasticsearch с geopoint-полями: координаты клиента автоматически агрегируются, и карта показывает карту запросов.
PostGIS в PostgreSQL — тот же принцип, но через SQL.
Ручные координаты в формате JSON: широта, долгота, значение (давление, уровень сигнала, что угодно). Файл загружается или передаётся через API.
Слои визуализации¶
- Markers — точки на карте. Каждая точка — город, ЦОД, точка продаж. Цвет зависит от метрики: зелёный — всё спокойно, красный — высокие задержки.
- Heatmap — тепловая карта, сглаживающая концентрацию значений. Где больше запросов — тем горячее цвет.
- Choropleth — заливка цветом целых регионов: стран, областей, континентов. Нужен GeoJSON с границами.
Практический пример¶
GeoJSON определяет границы региона в формате:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": { "name": "Central District" },
"geometry": { ... }
}
]
}
К нему привязывается временной ряд с метрикой, например, requests_per_second — и регионы раскрашиваются от зелёного (мало) до красного (много).