| Both sides previous revision Previous revision Next revision | Previous revision |
| projects:qoe_analytics:unknown_discovering:services:google [2026/07/28 14:32] – Доп. фильтр Host AS IN (15169) к каждому набору + задел под индивидуальные фильтры claude | projects:qoe_analytics:unknown_discovering:services:google [2026/07/28 15:14] (current) – google_cdn: +googleusercontent/ggpht/bare-domains, порог 50->70% claude |
|---|
| Правила: знаменатель — записи с непустым host на IP; доля — по числу записей; ''*'' = fnmatch (любая подстрока с точками); регистр не важен. Если порог берут несколько сервисов — метка по максимальной доле. | Правила: знаменатель — записи с непустым host на IP; доля — по числу записей; ''*'' = fnmatch (любая подстрока с точками); регистр не важен. Если порог берут несколько сервисов — метка по максимальной доле. |
| |
| **Доп. фильтр к наборам.** Помимо масок host, к набору применяется дополнительный фильтр по полю ''Host AS'' (номер автономной системы). Записи, не проходящие фильтр, **не учитываются** — ни в числителе, ни в знаменателе набора. Сейчас у всех наборов Google фильтр общий: ''Host AS IN (15169)'' (основная AS Google). В дальнейшем фильтр может задаваться **индивидуально для каждого набора** — значение в строке «Доп. фильтр» ниже имеет приоритет над общим. | **Доп. фильтр к наборам.** Помимо масок host, к набору применяется дополнительный фильтр по полю ''Host AS'' (номер автономной системы). Записи, не проходящие фильтр, **не учитываются** — ни в числителе, ни в знаменателе набора. Сейчас у всех наборов Google фильтр общий: ''Host AS IN (15169)'' (основная AS Google). Фильтр может задаваться **индивидуально для каждого набора** — значение в строке «Доп. фильтр» имеет приоритет над общим. |
| |
| ''AS15169'' отсекает трафик на IP из чужих AS: например GCP-тенантов в ''AS396982'' (наблюдалось на ''h3.market.xiaomi.com'' → ''35.241.31.20''). Тем самым фильтр напрямую закрывает проблему мультитенантности. | **Приоритет частных наборов.** Набор ''google'' — общий (catch-all) и включает широкую маску ''*.googleapis.com'', которая перекрывает ''google_play'', ''google_maps'', ''google_cloud''. Поэтому: частные метки (''youtube'', ''google_play'', ''google_maps'', ''google_cloud'', ''google_cdn'') имеют приоритет; метку ''google'' присваивать только если ни один частный набор не взял свой порог. |
| |
| ^ Метка ^ Порог ^ Доп. фильтр ^ Назначение ^ | ^ Метка ^ Порог ^ Доп. фильтр ^ Назначение ^ |
| | google_play | > 50% | Host AS IN (15169) | Google Play | | | google_play | > 50% | Host AS IN (15169) | Google Play | |
| | google_cloud | > 50% | Host AS IN (15169) | Google Cloud Storage (upload/download/storage) | | | google_cloud | > 50% | Host AS IN (15169) | Google Cloud Storage (upload/download/storage) | |
| | google_cdn | > 50% | Host AS IN (15169) | Google CDN (blogspot, ampproject, usercontent) | | | google_cdn | > 70% | Host AS IN (15169) | Google CDN (blogspot, ampproject, usercontent, googleusercontent, ggpht, ytimg) | |
| | | google | > 50% | Host AS IN (15169) | Прочие сервисы Google (catch-all) — googleapis, поиск, gstatic, fitbit | |
| |
| ===== youtube (порог > 80%) ===== | ===== youtube (порог > 80%) ===== |
| Осторожно: сервисы Google Cloud Storage хостятся и в AS Google Cloud (напр. ''AS396982''), а не только в ''AS15169''. Если целевой трафик google_cloud идёт из другой AS — общий фильтр ''15169'' его отсечёт. При заполнении/проверке этого набора уточнить нужную AS индивидуально. | Осторожно: сервисы Google Cloud Storage хостятся и в AS Google Cloud (напр. ''AS396982''), а не только в ''AS15169''. Если целевой трафик google_cloud идёт из другой AS — общий фильтр ''15169'' его отсечёт. При заполнении/проверке этого набора уточнить нужную AS индивидуально. |
| |
| ===== google_cdn (порог > 50%) ===== | ===== google_cdn (порог > 70%) ===== |
| Доп. фильтр: ''Host AS IN (15169)'' | Доп. фильтр: ''Host AS IN (15169)'' |
| <code> | <code> |
| *.blogspot.com | *.blogspot.com |
| *.cdn.ampproject.org | *.cdn.ampproject.org |
| | cdn.ampproject.org |
| *.usercontent.google.com | *.usercontent.google.com |
| | *.googleusercontent.com |
| | googleusercontent.com |
| | *.ggpht.com |
| | i.ytimg.com |
| </code> | </code> |
| | Замечания: |
| | * Порог поднят с 50% до 70%. |
| | * ''*.googleusercontent.com'' покрывает ''play-lh.googleusercontent.com'' (убран как избыточный). Голый ''googleusercontent.com'' и ''cdn.ampproject.org'' масками с ''*.'' не ловятся — заданы отдельно. |
| | * ''*.googleusercontent.com'' (домен googleusercontent.com) — НЕ то же, что ''*.usercontent.google.com''; в наборе присутствуют оба. |
| | * ''*.ggpht.com'' — CDN превью Google (Photos/YouTube); ''i.ytimg.com'' — превью YouTube. |
| | |
| | ===== google (общий, порог > 50%) ===== |
| | Доп. фильтр: ''Host AS IN (15169)'' |
| | <code> |
| | *.googleapis.com |
| | *.fitbit.com |
| | *.clients6.google.com |
| | www.google.com |
| | *.google.com |
| | gstatic.com |
| | *.gstatic.com |
| | google.by |
| | *.google.by |
| | </code> |
| | Замечания: |
| | * Catch-all для прочих сервисов Google. Применяется только если ни один частный набор Google не взял свой порог (см. «Приоритет частных наборов» выше). |
| | * ''*.googleapis.com'' перекрывает play/maps/cloud — отсюда и правило приоритета. |
| | * ''*.google.com'' покрывает ''www.google.com'' (строка избыточна, вреда нет). ''*.gstatic.com'' НЕ покрывает голый ''gstatic.com'' (fnmatch требует ''.gstatic.com'' в конце) — поэтому ''gstatic.com'' указан отдельно; аналогично ''google.by''. |
| |
| ===== Примечания по инфраструктуре ===== | ===== Примечания по инфраструктуре ===== |
| * ''*.googleapis.com''-маски намеренно узкие: play / maps / storage не пересекаются, поэтому на одном IP максимум одна из этих меток берёт порог. Обратная сторона — на общих GFE-фронтах, где googleapis размазан по многим сервисам, ни одна доля не дотянет до 50%, и IP останется без метки. | * Частные ''*.googleapis.com''-маски (play. / maps. / storage.) намеренно узкие и не пересекаются между собой. Общий набор ''google'' намеренно берёт широкую ''*.googleapis.com'' как catch-all — поэтому и нужно правило приоритета частных наборов. |
| | * На общих GFE-фронтах, где googleapis размазан по многим сервисам, ни одна частная доля может не дотянуть до 50% — тогда сработает общий ''google''. |
| * Адрес из netblock Google (например 35.x — GCP) может обслуживать сторонний контент (пример: ''h3.market.xiaomi.com'' на GCP, ''Host AS = 396982''). Классифицировать строго по SNI-«земле»; доп. фильтр по ''Host AS'' дополнительно отсекает такие случаи. | * Адрес из netblock Google (например 35.x — GCP) может обслуживать сторонний контент (пример: ''h3.market.xiaomi.com'' на GCP, ''Host AS = 396982''). Классифицировать строго по SNI-«земле»; доп. фильтр по ''Host AS'' дополнительно отсекает такие случаи. |
| |