Фон
У меня есть веб-сайт, развернутый на нескольких машинах.Я хочу создать пользовательскую метрику Google, которая определяет ее пропускную способность - сколько вызовов было обработано.
Идея заключалась в том, чтобы создать собственную метрику, которая собирает информацию об обслуживаемых запросах, и 1 раз в минуту для обновления информации.в пользовательскую метрику.Таким образом, для каждой машины этот код может выполняться максимум 1 раз в минуту.Но этот процесс происходит на каждой машине в моем кластере.
Выполнение кода локально работает отлично.
Проблема
Я получаю эту ошибку: Grpc.Core.RpcException: Status (StatusCode = InvalidArgument, Detail = "Один или несколько TimeSeries не могут быть записаны: один илибольше точек записывается чаще, чем максимальный период выборки, настроенный для метрики. {Metric: custom.googleapis.com/web/2xx, отметки времени: {самое младшее из существующих: '2019/09 / 28-23: 58: 59.000', новое: '2019/09 / 28-23: 59: 02.000'}}: timeSeries [0]; Одна или несколько точек записывались чаще, чем максимальный период выборки, настроенный для метрики. {Metric: custom.googleapis.com/web/ 4xx, метки времени: {младший из существующих: '2019/09 / 28-23: 58: 59.000', новый: '2019/09 / 28-23: 59: 02.000'}}: timeSeries 1")
Затем я читал в пользовательской метрике ограничения , что:
Rate at which data can be written to a single time series = one point per minute
Я думал, что Google Cloud Custom Metric будет решать проблемы параллелизмадля меня.
В соответствии с их ограничениями, единственная возможность для меня реализовать мониторинг в реальном времени - это разместить другое приложение, которое будет собирать информацию со всех машин и обновлять ее в виде пользовательской метрики.Для меня это звучит как слишком большая работа для реального случая использования.
Чего мне не хватает?