2015-03-02 3 views
1

Мне было интересно, можно ли подключиться к службе Insight, размещенной на виртуальной машине локально? То, что я имею в виду:ServiceInsight Azure Подключение к VM

  • я Service Insight установлен на виртуальной машине в облаке
  • Может удаленный в него с помощью удаленного рабочего стола
  • Можно запустить Service Insight на поле для просмотра трафика сообщений

Однако у меня есть служба Insight, установленная локально, и когда я пытаюсь подключиться к Service Control, размещенному на моей виртуальной машине, не знаю, как это сделать. При взгляде на конкретный веб-сайт также не может найти много документации. Служба управления ожидает URL-адрес, который, я считаю, должен быть http://serviceins.cloudapp.net:33333/api/, однако это ни к чему не приводит.

Имя моей виртуальной машины называется serviceins.

Я внес изменения в ServiceControl.config:

<appsettings> 
    <add key="ServiceControl/Hostname" value="serviceins.cloudapp.net"/> 
     <add key="ServiceControl/HoursToKeepMessagesBeforeExpiring" value="24"/> 
</appsettings> 

ServicePulse.config

service_control_url: 'http://serviceins.cloudapp.net:33333/api/' 

Я думаю, мой вопрос, как я могу получить доступ к Service Insight без дистанционного управления на VM? Могу ли я получить доступ к этому, просто предоставив URL-адрес Service Insight?

Спасибо, DS.

ответ

4

Предупреждение о безопасности

ServiceControl имеет встроенного в слой безопасности, так что если вы обнажая URL API к Интернету, то все сообщения, хранящиеся в ServiceControl будут доступны всем, кто может подключиться к порту 33333. Это почему по умолчанию он ограничен локальным хостом.

Я не могу не подчеркнуть, что это не должно быть сделано в системе

производства для Azure более безопасный метод будет использовать что-то вроде точки на сайт VPN соединение. (См.: https://msdn.microsoft.com/en-us/library/azure/jj156206.aspx), но для этого может потребоваться некоторая переконфигурация.

Если вы все еще заинтересованы, чтобы выставить URL небезопасным образом здесь, как вы бы идти о нем:

1. Установите имя хоста в App.config в качестве шаблона:

<add key="ServiceControl/HostName" value="*" />

2. Обновите URLACL, чтобы ответить на шаблон.

Вы можете просмотреть настройки URLACL, выполнив эту команду в CMD строке:

netsh http show urlacl 

Если существующая установка для порта http://localhost:33333/api/ или http://serviceins.cloudapp.net:33333/api/ удалить их с помощью:

netsh http delete urlacl URL=http://localhost:33333/api/ 
netsh http delete urlacl URL=http://serviceins.cloudapp.net:33333/api/ 

Добавьте подстановочные URLACL

netsh http add urlacl URL=http://*:33333/api/ User=Users 

Проверьте его через показать команду, и она должна иметь запись, как этот

Reserved URL   : http://*:33333/api/ 
User: BUILTIN\Users 
Listen: Yes 
Delegate: No 
SDDL: D:(A;;GX;;;BU) 

3. Брандмауэр Windows

Добавить правило входящего трафика в брандмауэре Windows. По умолчанию порт 33333 будет заблокирован для входящих соединений. Вы можете сделать это с помощью администратора Powershell с помощью следующей команды (я предполагаю, что вы VM является Win2012)

New-NetFirewallRule -Name ServiceControl -Direction Inbound -Protocol TCP -LocalPort 33333 -Action Allow -Enabled True 

4. Добавьте Azure Endpoint

Вам также необходимо, чтобы открыть соединение Azure Endpoint для подключения к порту 33333. Это, по сути, еще один брандмауэр. Вместо того, чтобы документировать это, я отсылаю вас к собственному документу Microsoft: http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-set-up-endpoints/

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

+0

Я прочитал ваш первый абзац, и пенни упали немедленно. Мой мозг не зарегистрировал коэффициент открытости облака. Отличный ответ, я попробую то, что вы упомянули выше для других сред, таких как разработка, поскольку данные бессмысленны. Благодарю. –

Смежные вопросы