2014-02-05 1 views
0

Мы запускаем Elasticsearch с установленным агентом NewRelic Java. Мы хотим записать пользовательские показатели без изменения чего-либо в ES.Возможно ли записать пользовательские показатели в приложение с другим вторичным агентом?

Я знаю, что предложенный NewRelic способ сделать это - Стивен Экстейнс Elasticsearch Plugin, но он основан на Ruby, и мы стараемся избегать добавления другого языка в наш стек. Я попытался повторить усилия Stevens в Python, с помощью агента NewRelic Python и newrelic.agent.record_custom_metric функции:

import newrelic.agent 
from time import sleep 
import logging 

logger = logging.getLogger() 
logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.DEBUG) 

# generate config file with 'newrelic-admin generate-config <apicode> newrelic.ini' 
newrelic.agent.initialize('newrelic.ini') 

application_str = dict(newrelic.agent.newrelic.core.config.global_settings())["app_name"] 
application = newrelic.agent.register_application(application_str) 

while True: 
    newrelic.agent.record_custom_metric('Custom/Value', 1, application) 
    sleep(10) 

Это прекрасно работает. Только проблема: если вы настроены на использование того же имени приложения, что и существующее приложение, управляемое Java-агентом, оно регистрирует новое приложение в NewRelic с приложением '(Python)'. Я хочу добавить метрики к оригиналу. Это возможно?

ответ

1

Приложения на новой панели реликвий должны быть на одном языке для консолидации. В противном случае вы получите несколько приложений с тем же именем и добавленным именем языка из-за типа показателей и способов отчетности на разных языках.

Невозможно объединить два приложения с тем же именем, написанные на разных языках в вашей учетной записи New Relic. Тем не менее вы могли создать пользовательскую панель, которая позволит вам размещать диаграммы из нескольких приложений в одной панели.

+0

О? Это означает, что «официальный» плагин Elasticsearch не может сосуществовать с java-агентом? Нет статистики ES и JVM-показателей одновременно? – Tarwin

+0

Они сосуществуют просто отлично. Вы просто не можете объединить их в один график. Так же, как вы не можете создать, например, рубиновое приложение и приложение python с тем же именем и ожидать, что они закроют одно и то же пространство приложений в New Relic. Они оба будут сообщать, но в отдельных экземплярах приложений в новой панели инструментов Relic. – Walden

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