ServiceInsight Azure连接到虚拟机
我想知道是否可以在本地连接到虚拟机上托管的Service Insight?我的意思是:ServiceInsight Azure连接到虚拟机
- 我已经在虚拟机上安装云
- 可以远程进入它通过远程桌面
- 可以启动包装盒上的服务洞察,查看消息流量
但是,我在本地安装了Service Insight,并且当我尝试连接到托管在我的VM上的服务控制时,不知道如何执行此操作。查看特定的网站也找不到多少文档。服务控制期望一个我认为应该是http://serviceins.cloudapp.net:33333/api/
的URL,但是这无法解决。
我的VM的名字叫做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提供一个URL来访问吗?
谢谢,DS。
安全警告
的ServiceControl没有内置的安全层,所以如果你暴露API URL到互联网,那么所有存储的ServiceControl消息会被任何人看到谁可以连接到端口33333.这就是为什么它仅限于本地主机默认情况下。
我不能强调不够,它不应该在生产系统
完成对Azure的一个更安全的方法是使用像一个点到站点VPN连接。 (请参阅:https://msdn.microsoft.com/en-us/library/azure/jj156206.aspx),但这可能需要一些重新配置。
如果仍然热衷于揭露网址在这里不安全的方式是,你会如何去做:
1.设置在App.config主机名通配符:
<add key="ServiceControl/HostName" value="*" />
2.更新URLACL以响应通配符。
您可以通过在命令提示符发出以下命令查看URLACL设置:
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
通过show命令,它应该有一个像这样
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端点连接允许连接到端口33333.这实质上是另一个防火墙。而不是文档,我会在这里向你推荐微软自己的doco:http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-set-up-endpoints/
作为端点配置的一部分,你可以通过限制允许连接到端口的IP范围来增加一些安全性。如果你有一个静态IP,这真的很有用。
我看了你的第一段,便士马上掉了下去。我的大脑没有注册云的开放因子。很好的答案,我会尝试你之前提到的其他环境,比如开发,因为数据没有意义。谢谢。 – 2015-03-03 08:34:21