Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can you support jmx in collector and web #785

Open
youtome opened this issue Jul 29, 2015 · 1 comment
Open

Can you support jmx in collector and web #785

youtome opened this issue Jul 29, 2015 · 1 comment
Labels

Comments

@youtome
Copy link
Contributor

youtome commented Jul 29, 2015

안녕하세요.
혹시 collector와 web에 대해서 받은 trace 수와 같은 통계정보를 제공하지 않는지 문의 드립니다.

추후 collector가 부하를 받게 되면 증설을 하는데 기준을 삼기 위해서 jmx등을 통한 통계정보를 제공해 주시면 감사하겠습니다.

@emeroad
Copy link
Member

emeroad commented Jul 30, 2015

collector의 경우 일반적인 tomcat이 아니라,
log4j.xml의 설정을 통해 stat.log파일에 성능정보를 출력하고 있습니다.

  <logger name="com.navercorp.pinpoint.collector.StateReport" additivity="false">
        <!-- disable : WARN -->
        <level value="INFO"/>
        <appender-ref ref="stat-appender"/>
        <!--<appender-ref ref="console"/>-->
    </logger>

StateReport 로거의 log level이 warn이하 일 경우, 1분당 stat, span thread pool에 대한 성능 정보가 출력됩니다.

// threadPool의 queue에 들어가지 못하고 reject된 경우. 
// 이 숫자가 높을 경우 threadPool의  thread 및 queue 값 조정, collector 증설등이 필요할수 있습니다.
[INFO ](c.n.p.c.StateReport                ) type=COUNTER, name=Pinpoint-UDP-Span-rejected, count=0
[INFO ](c.n.p.c.StateReport                ) type=COUNTER, name=Pinpoint-UDP-Stat-rejected, count=0

// threadpool 내부의 Job 처리시간, 이값이  높을 경우, hbase 증설, 튜닝이 필요하거나 병목구간이 있을수 있습니다.
// min, max, 평균, 중간값등이 있는데. 항목에 대한 내용은 아래를 참조하시면됩니다.
// http:https://metrics.dropwizard.io/3.1.0/manual/core/#timers
[INFO ](c.n.p.c.StateReport                ) type=TIMER, name=Pinpoint-UDP-Span-timer, count=2344830, min=3.10626, max=91.61829999999999, mean=7.611659440661478, stddev=10.723892337849415, median=6.369223, p75=6.651332999
999999, p95=7.713999999999998, p98=35.551232899999555, p99=86.55698632000001, p999=91.54914970300001, mean_rate=12.03217787117974, m1=6.791400285374243, m5=6.162189046801875, m15=5.926006090516845, rate_unit=events/second, duration_unit=mill
iseconds
(c.n.p.c.StateReport                ) type=TIMER, name=Pinpoint-UDP-Stat-timer, count=535789, min=2.606686, max=97.88465099999999, mean=13.354491182879377, stddev=8.197790021601175, median=16.847331999999998, p75=1
8.820104999999998, p95=19.648561, p98=20.523268959999996, p99=22.205621910000005, p999=97.73708748700001, mean_rate=2.74933261746814, m1=2.995375663247246, m5=2.9993975795751053, m15=2.9997971922697735, rate_unit=events/second, duration_unit
=milliseconds

collector의 counter, timer값은 JMX로 노출시키도록 하겠습니다.

web은 일반적인 tomcat이라. tomcat의 모니터링 항목을 그대로 이용하실수 있습니다.
또한 web이 deploy된 tomcat 버전이 8 or 7.0.52 이상일 경우 pinpoint agent를 설치해서 모니터링할 수 있습니다.

향후 collector도 pinpoint agent를 설치하여 모니터링이 가능하도록 할 계획이 있습니다.

  • 추후 가능한일이겠지만, collector의 경우 agent가 전송하는 데이터의 cycle 관계를 조심해야 합니다. collector가 수집한 정보를 다시 동일한 collector에 던지면 무한루프가 성립합니다.

war파일은 zip로 풀수 있기 때문에, war를 푸신후 config 파일을 수정후 배포 할수 있습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants