Skip to content
This repository has been archived by the owner on Aug 17, 2021. It is now read-only.

Perfomance monitoring #2

Closed
3 of 4 tasks
tomjirsa opened this issue Feb 8, 2017 · 13 comments
Closed
3 of 4 tasks

Perfomance monitoring #2

tomjirsa opened this issue Feb 8, 2017 · 13 comments

Comments

@tomjirsa
Copy link
Member

tomjirsa commented Feb 8, 2017

Integrate tools for Stream4Flow performance monitoring.

Use test example on kafka:

  • Install plugin for monitoring kafka for graphite from here
  • Configure logstash to recieve data from monitoring plugin
  • Store data from logstash to elasticsearch into a specifics index called monitoring-*
  • Present results
@simkosvorad
Copy link
Collaborator

The plugin you have recommended is supposed to work with kafka 0.8.x and 0.9.x versions but we are using 0.10.0 version now. Maybe this would be usable with a few changes.

@simkosvorad
Copy link
Collaborator

I tried the plugin above but couldn't figure out the proper installation with gradlew. So Tom recommended this since it can be easily done with maven. I configured kafka and logstash but no metrics were received by elasticsearch. I don't know where the problem yet ,if no data are sent or just loggstash isn't receiving them.

@simkosvorad
Copy link
Collaborator

Managed to make it work, ELK stack is now receiving most of the kafka metrics but not all of them as pointed in issue to the plugin.

@simkosvorad
Copy link
Collaborator

Manager to configure reporter to send server metrics, but i wasn't abe to exclude any of them so far.

@simkosvorad
Copy link
Collaborator

I figured out the including/excluding of metrics so now I need you to specify what exactly should be monitored so i could exclude unnecessary metrics.

@simkosvorad
Copy link
Collaborator

I tried both of stated plugins but both of them have their pros/cons . The https://github.com/apakulov/kafka-graphite one reports all metrics can be filtered in a minimal way, on the other hand the https://github.com/damienclaveau/kafka-graphite one can be filtered easily in much bigger scale but doesn't report all of the metrics, some of which are neccessary for us i.e. BytesInPerSecond, BytesOutPerSecond. So I decided to use the first plugin reporting all of the metrics and try to filter them in logstash (with no success so far). Also i need wanted metrics to be specified, so i know what exclude and focus on that rather than blindly excluding random things, just to figure out how it could be done.

@simkosvorad
Copy link
Collaborator

Few days ago the plugin that was intended to be used got na update to support kafka version 0.10.X, after the update I'm now not able to build the plugin. I have tried to build it on my computer, on liber-root server and on producer but with no success. Can someone please try building the plugin on their device so i could know if the problem is on my side or it is the plugin. All my atempts ended with errors like
/home/spark/kafka-graphite/kafka-graphite/src/main/scala/kafka/metrics/KafkaGraphiteMetricsReporter.scala:23: object GraphiteReporter is not a member of package com.yammer.metrics.reporting I can't find the problem causing this because according to this the package is correct.

@tomjirsa
Copy link
Member Author

@xdanos - could you please look into the compilation issue above? - you're expert in java, scala... Thx.

@xdanos
Copy link
Collaborator

xdanos commented Jul 11, 2017

I'll look into it today.

@xdanos
Copy link
Collaborator

xdanos commented Jul 11, 2017

Add the following line:
compile 'com.yammer.metrics:metrics-graphite:2.2.0
into Gradle build configuration tag
project(':kafka-graphite') {dependencies {*HERE*}}
in file
build.gradle

IF it works, file an Issue in the Github project of the plugin

@simkosvorad
Copy link
Collaborator

Your advice fixed the problem with building the .jar file, however the code still doesn't work, due to exceptions thrown by the plugin when trying to start kafka. The exception is the same Caused by: java.lang.ClassNotFoundException: com.yammer.metrics.reporting.GraphiteReporter.

@xdanos
Copy link
Collaborator

xdanos commented Jul 16, 2017

It is a dependency problem:
A. you must include all of the dependencies in Kafka's classpath
B. you must create FAT JAR with gradle that includes all of this dependencies in a single file

@cermmik
Copy link
Member

cermmik commented May 22, 2018

Currently outdated. Closing the issue.

@cermmik cermmik closed this as completed May 22, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants