Принудительно обновить файл конфигурации диагностики в контейнере wad-control-container для Azure.

Я хочу обновлять файл конфигурации диагностики для ролей Azure при каждом обновлении своего развертывания. Как я могу сделать это автоматически?

Время от времени мы меняем нашу диагностику (используя код) и обновляем сервис. Но всякий раз, когда мы обновляем службу, она по-прежнему использует старую диагностическую конфигурацию, и мы не видим никаких новых журналов, которые мы настроили с использованием нового кода.

Как я могу добиться этого, чтобы всякий раз, когда я обновляю свое развертывание, оно также обновляло диагностическую конфигурацию.


person Tejas Vora    schedule 23.03.2012    source источник
comment
Та же проблема здесь. Итак, какое решение вы принимаете, чтобы победить эту проблему?   -  person machinarium    schedule 28.02.2013


Ответы (1)


Интересно, есть ли у вас ошибка в коде обновления диагностики. Если бы каждая роль запускала код в OnStart или Run для настройки диагностики при запуске, не было бы причин, по которым ваши экземпляры не были бы настроены должным образом. Я склонен думать, что императивный код, который настраивает диагностику, по своей сути является плохой идеей в долгосрочной перспективе, но он все же должен работать. Если вы поделитесь кодом, может быть, я смогу обнаружить проблему.

Наилучший** способ обновления и применения конфигурации, который я обнаружил, — использовать Diagnostics.wadcfg и обновите его. Когда вы обновляете свое развертывание, оно будет использовать эти настройки, если вы не переопределили их где-то в коде. Вопреки указаниям Microsoft по этой ссылке, это должен быть предпочтительный метод, а не код, который необходимо поддерживать и который ортогонален цели вашего приложения. Другими словами, декларативный конфигурационный файл, который ваша команда может поддерживать вместо написания кода, обычно является лучшей идеей. Чтобы использовать это, просто включите его в свое развертывание в качестве контента и удалите все существующие файлы в wad-control-container (и удалите весь код, настроивший диагностику). Он просто настроит себя из этого файла при следующем обновлении.

** вы также можете использовать сторонний SaaS-мониторинг для установки и обслуживания конфигурации диагностики. Я работаю над одним таким, но я предполагаю, что вы хотите знать, как сделать это самостоятельно. :)

person dunnry    schedule 24.03.2012
comment
На самом деле настройки, настроенные с помощью императивных кодов, берут на себя первое превосходство, так почему же может произойти такая ситуация, которая не подчиняется приоритету? Это ошибка диагностики Windows Azure? - person machinarium; 28.02.2013
comment
да. Код имеет приоритет - это то, что я сказал. Файл Diagnostics.wadconfig используется, если вы: а) не пишете императивный код или б) он не находит предыдущую конфигурацию в хранилище BLOB-объектов. - person dunnry; 28.02.2013
comment
Теперь я кодирую в императивном режиме, поэтому файл Diagnostics.wadconfig не будет использоваться. Разочарован тем, что код не имеет никаких эффектов, как сказал автор этого вопроса. Ты знаешь почему? - person machinarium; 01.03.2013
comment
Я не могу сказать вам, не видя кода (откройте другой вопрос). Я могу определенно заявить, что если вы закодируете его правильно, он наверняка сохранится. Как только это произойдет, только удаленная настройка постфактум изменит настройки. - person dunnry; 01.03.2013