Я создал экспресс-приложение и развернул его в 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