Назад | Перейти на главную страницу

Google Kubernetes Work Load Мониторинг HTTP-трафика

Я создал экспресс-приложение и развернул его в Google kubernetes. Я вижу там рабочую нагрузку и получаю доступ к приложению, используя URL-адрес службы.

Как я могу увидеть информацию о пробках с кодом статуса? Например. сколько раз API получает код состояния, такой как 2xx, 4xx, 5xx и т. д.?

Спасибо.

Вы можете настроить свое приложение для экспорта показателей в Прометей. Я рекомендую вам развернуть Prometheus с Оператор Прометей, а затем интегрируйте его в свое приложение с помощью клиентская библиотека nodejs.

Вы также можете взглянуть на мониторинг Stackdriver, если вам нужен более готовый продукт, но он будет менее гибким.

Я думаю, вы спрашиваете, как увидеть коды ответов развернутого приложения, а не коды ответов сервера API K8s.

Это похоже на то, что вы бы не использовали Istio. Istio проверяет вызовы http [s] API и сообщает такие показатели, как коды ответов, время задержки и пропускная способность.

Кубе-аписервер проводит аудит.

На основе политика аудита вы можете определить, какие события следует записывать и какие данные они должны включать.

None - не регистрировать события, соответствующие этому правилу.

Metadata - записывать метаданные запроса (запрашивающий пользователь, отметку времени, ресурс, команду и т. д.), но не тело запроса или ответа.

Request - записывать метаданные события и тело запроса, но не тело ответа. Это не относится к запросам, не связанным с ресурсами.

RequestResponse - записывать метаданные событий, тела запросов и ответов. Это не относится к запросам, не связанным с ресурсами.

Вы можете передать файл с политикой в ​​kube-apiserver, используя --audit-policy-file флаг

Вот пример манифест политики

Чтобы читать журналы аудита на GKE, вы должны

1) запустите прокси на свой сервер API

kubectl proxy

2) сверните файл журнала

curl http://127.0.0.1:8001/logs/kube-apiserver-audit.log