2014-02-05 7 views
0

NewRelic Java 에이전트가 설치된 Elasticsearch를 실행하고 있습니다. ES에서 아무 것도 변경하지 않고 맞춤 측정 항목을 기록하려고합니다.다른 보조 에이전트가있는 앱에 맞춤 측정 항목을 기록 할 수 있습니까?

나는 이것을하기 위해 NewRelic 제안 된 방법을 알고있다. Steven Eksteens Elasticsearch Plugin이지만 루비 기반이고 우리는 우리의 스택에 다른 언어를 추가하는 것을 피하려고 노력하고있다.

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) 

이 잘 작동 : 나는 NewRelic 파이썬 에이전트와 newrelic.agent.record_custom_metric 기능을 사용하여 파이썬에서 스티븐스 노력을 복제했습니다. 유일한 문제 : 기존의 Java-agent 제어 App과 동일한 app_name을 사용하도록 구성된 경우 NewRelic에 '(Python)'이라는 부록으로 새 앱을 등록합니다. 내가 원했던 것은 메트릭을 원래 메트릭에 추가하는 것입니다. 이것이 가능한가?

답변

1

새 유물 대시 보드의 응용 프로그램은 통합 할 때 동일한 언어 여야합니다. 그렇지 않으면 메트릭 유형 및보고 방식이 다른 언어로 인해 동일한 이름 및 언어 이름이 추가 된 여러 응용 프로그램이 작성됩니다.

새 유물 계정에 다른 언어로 쓰여진 같은 이름의 두 응용 프로그램을 통합하는 방법이 없습니다. 그러나 하나의 대시 보드에 여러 응용 프로그램의 차트를 배치 할 수있는 사용자 정의 대시 보드를 만들 수 있습니다.

+0

오? 즉, '공식'Elasticsearch 플러그인은 Java 에이전트와도 공존 할 수 없다는 의미입니다. ES 통계와 JVM 메트릭을 동시에 사용할 수 있습니까? – Tarwin

+0

그들은 공존합니다. 단일 차트로 병합 할 수 없습니다. Ruby 응용 프로그램과 Python 응용 프로그램을 동일한 이름으로 만들 수 없으며 New Relic의 동일한 응용 프로그램 공간을 차지할 것으로 예상 할 수 없습니다. 그들은 둘 다보고 할 것이지만, New Relic Dashboard에 별도의 응용 사례가 있습니다. – Walden