Создавайте собственные метрики Cloudwatch на основе данных датчиков Интернета вещей
Необходимо знать, как создать собственную метрику журнала на основе приведенного ниже сценария.
Я отправил свои теневые данные AWS IoT (если соблюдено указанное правило IoT) в группу журналов облачного наблюдения. Это содержит
{
" sensorName" : "sensorOne",
"faultCode" : 102
}
- Я хочу отправить сигнал облачного наблюдения, если один из наших датчиков отправил вышеуказанные данные 3 раза в течение 5 минут .
Бывший:
{ " sensorName" : "sensorOne", "faultCode" : 102 }
{ " sensorName" : "sensorOne", "faultCode" : 102 }
{ " sensorName" : "sensorOne", "faultCode" : 102 }
или же
{ " sensorName" : "sensorTwo", "faultCode" : 102 }
{ " sensorName" : "sensorTwo", "faultCode" : 102 }
{ " sensorName" : "sensorTwo", "faultCode" : 102 }
- Но в настоящее время мне не удалось этого добиться, потому что я не смог найти никакого метода группировки журналов по имени датчика (при создании собственной метрики). Таким образом, тревога срабатывает на основе совокупного подсчета (суммы всех сообщений, независимо от конкретного датчика).
Пример: триггер тревоги для нижеследующего набора объектов журнала, даже если они поступают от двух разных датчиков (что не ожидается).
{ " sensorName" : "sensorOne", "faultCode" : 102 }
{ " sensorName" : "sensorOne", "faultCode" : 102 }
{ " sensorName" : "sensorTwo", "faultCode" : 102 }
Возможно ли это сделать с помощью cloudwatch? Или любой другой рекомендуемый способ сделать это?
Примечание: метод метрической фильтрации работает, но, поскольку у нас есть 1000 устройств iot, нам нужно создать 1000 метрических фильтров, если мы будем следовать этому подходу, поэтому я ищу лучший подход.
1 ответ
Фильтры метрик CloudWatch теперь поддерживают измерения для пользовательских метрик. «SensorName»:$.sensorName определяет измерение метрики.