关于New Relic API的https://github.com/newrelic/newrelic_api,我想知道主机和实例之间有什么区别。
基本上,我得到的是应用程序,服务器是什么(显然)。我假设实例是应用程序的实例,即如果我的应用程序在Heroku上运行,则每个实例都对应于运行我的应用程序的dyno。但那么主持人是什么?主机和实例之间有什么区别?
谢谢,
比利
更新
感谢您的回答!
因此,如果我做对了,在一般情况下,应用程序和实例之间的映射是1对n,即每个应用程序可以有1个或更多实例。此外,实例和主机之间的映射是n到m,即每个实例最多可以在一个主机上运行(在任何给定时间),但实例在可用主机之间分配。类似地,主机分布在服务器之间(例如,m-to-s)。是吗? (道歉,如果这听起来像我说的非常明显,但我不熟悉他们在New Relic使用的术语)
如果以上是正确的,我怎样才能从API中获取实例 - 主机和主机 - 服务器映射?我可以看到如何获取应用程序 - 实例和应用程序 - 主机,但其他两个呢?
再次感谢您的帮助!
答案 0 :(得分:4)
主机(服务器)可以运行应用程序的许多实例。响应请求的每个进程(例如,Unicorn工作者)是New Relic透视图中的实例。主机/实例的区别大致相当于IP地址和端口之间的差异。
如果您正在使用Heroku,New Relic会将整个dyno网格视为单个主机/服务器,并将每个dyno视为实例。
Re:更新的问题
主机是运行应用程序的计算机或VM,每个主机都可以运行应用程序的N个实例。
出于NR API的目的,“服务器”是由New Relic Server Monitoring监视的OS +硬件。 NR应用程序监视代理程序也可以在由服务器监视代理程序监视的服务器上运行。在这种情况下,主机和服务器都应该向New Relic(“server01.example.com”)报告相同的名称。
没有办法从New Relic API显式获取实例主机或主机服务器映射。但就server-host而言,映射是它们共享相同的名称。您也可以从实例名称推断实例主机映射,因为它们几乎总是包含主机名(也可能包含端口号)。