新的Relic API-实例和主机之间的区别?

use*_*159 0 api hosts instances newrelic

关于New Relic API,参阅https://github.com/newrelic/newrelic_api,我想知道主机和实例之间的区别是什么。

基本上,我知道什么是应用程序,什么是服务器(显然)。我假设实例是应用程序的实例,即,如果我的应用程序在Heroku上运行,则每个实例将对应于一个运行我的应用程序的dyno。但是,什么是主机?主机和实例之间有什么区别?

谢谢,

-比利

更新

感谢您的回答!

因此,如果我理解正确,通常情况下,应用程序和实例之间的映射是1-to-n,即每个应用程序可以有1个或多个实例。同样,实例和主机之间的映射是n到m,即每个实例最多可以在一个主机上运行(在任何给定时间),但是实例分布在可用主机之间。同样,主机在服务器之间分布(例如,一对多)。是吗 (很抱歉,这听起来像是我说的是很明显的话,但是我对他们在New Relic上使用的术语不熟悉)

如果以上正确,如何从API获取实例-主机和主机-服务器映射?我可以看到如何获取应用程序-实例和应用程序-主机,但是其他两个呢?

再次感谢您的帮助!

rkb*_*rkb 5

主机(服务器)可以运行应用程序的许多实例。从New Relic的角度来看,每个响应请求的进程(例如Unicorn工作者)都是一个实例。主机/实例的区别大致等于IP地址和端口之间的区别。

如果您使用的是Heroku,New Relic会将整个dyno网格视为单个主机/服务器,并将每个dyno视为一个实例。

回复:更新的问题

主机是运行应用程序的计算机或VM,每个主机或虚拟机可以运行该应用程序的N个实例。

出于NR API的目的,“服务器”是由New Relic Server Monitoring监视的OS +硬件。NR应用程序监视代理程序也可以在由服务器监视代理程序监视的服务器上运行。在这种情况下,主机和服务器都应向New Relic报告相同的名称(“ server01.example.com”)。

无法从New Relic API显式获取实例主机或主机服务器映射。但是对于服务器主机,映射是它们共享相同的名称。您也可以从实例名称推断出实例-主机映射,因为它们几乎总是包含主机名(可能还包含端口号)。