Как я могу найти источник постороннего сообщения о событии, которое увеличивает расходы? - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть приложение-функция Python, обрабатывающее данные из концентратора событий.Я обнаружил, что большая часть трафика, оплачиваемого в EventHub, не от событий, которые я создал.Кажется, что есть некоторые периодические фоновые сообщения в Eventhub при подключении к приложению Python Function.Эти сообщения составляют основную часть стоимости в моей архитектуре с низкой пропускной способностью.

Я могу воспроизвести его с помощью следующей настройки, в которой есть пустое приложение-функция Python, подключенное к EventHub, и сообщения не добавляются в EventHub..

#!/bin/bash

GROUP=debug_costs
LOC=northcentralus

set -e
set -x

# Hopefully creates unique names
RANDO=$(head /dev/urandom | LC_CTYPE=C tr -dc a-z0-9 | head -c 10 ; echo '')

az group create -l ${LOC} -g ${GROUP}
az eventhubs namespace create -l ${LOC} -g ${GROUP} --name Events-${RANDO} --sku Basic
az eventhubs eventhub create -g ${GROUP} --namespace-name Events-${RANDO} --name samples-workitems --message-retention 1
az storage account create -l ${LOC} -g ${GROUP} --name storage${RANDO} --sku Standard_LRS --kind StorageV2
az functionapp create --resource-group ${GROUP} --name funcApp-${RANDO} --storage-account storage${RANDO} --consumption-plan-location westus --os-type linux --runtime python

# Create an empty (default) python function app
func init --worker-runtime python funcAppCost
func new --template "Azure Event Hub trigger" --name emptyFunc

# Connect app to event hub
EH_CONSTRING=$(az eventhubs namespace authorization-rule keys list -g ${GROUP} --namespace-name Events-${RANDO} --name RootManageSharedAccessKey --output json --query "primaryConnectionString" 2>/dev/null | tr -d '"')
az functionapp config appsettings set --resource-group ${GROUP} --name funcApp-${RANDO} --settings "EventHubConnectString=${EH_CONSTRING}"
sed -i 's/"connection": ""/"connection": "EventHubConnectString"/g' emptyFunc/function.json

# publish empty app
sleep 5
func azure functionapp publish funcApp-${RANDO} --build-native-deps --python

Примерно через 5 минут после распределения ресурсов, если я проверю Входящие запросы в Обзоре концентраторов событий на портале, я вижу, что на каждый запрос приходится около 25-30 запросов.минута.eventhub incoming messages

Мое реальное приложение отправляет только 2-8 сообщений в час, так что эти болтовни являются самым дорогостоящим драйвером в моей настройке.Как я могу понять, что это за сообщения?А еще лучше, можно ли их уменьшить или устранить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...