Giter VIP home page Giter VIP logo

jmxtrans-cookbook's Introduction

jmxtranslogo

FOSSA Status Build Status Build status Dependency Status Gitter Maven site Maven Central sonarcloud.io

This is the source code repository for the jmxtrans project.

This is effectively the missing connector between speaking to a JVM via JMX on one end and whatever logging / monitoring / graphing package that you can dream up on the other end.

jmxtrans is very powerful tool which uses easily generated JSON (or YAML) based configuration files and then outputs the data in whatever format you desire. It does this with a very efficient engine design that will scale to communicating with thousands of machines from a single jmxtrans instance.

The core engine is very solid and there are writers for Graphite, StatsD, Ganglia, cacti/rrdtool, OpenTSDB, text files, and stdout. Feel free to suggest more on the discussion group or issue tracker.

Coda Hale did an excellent talk for Pivotal Labs on why metrics matter. Great justification for using a tool like jmxtrans.

render

Special thanks:

License

FOSSA Status

jmxtrans-cookbook's People

Contributors

bijugs avatar bryanwb avatar facastagnini avatar jedi4ever avatar obazoud avatar zarry avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

jmxtrans-cookbook's Issues

Version 2.0 of this cookbook is very broken

Hey, probably something you already know but version 2.0 of this cookbook is pretty broken.

I managed to get the ubuntu package install working but that was after a significant amount of massaging. I am open to cleaning some of that stuff up and getting a PR in but I don't want to step on your toes if you are working on the same branch as well.

In addition I would also like to make sure there will be a decent level of activity should I start submitting PR so they don't sit waiting for awhile. I would love to get a stable version 2 of this cookbook out there.

Some issues I ran into...

  • jmxtrans now uses JAVA to determine where to access java which the default is JAVA_HOME/bin/java which creates issues as we export JAVA_HOME by default to /usr/bin/java. The java path jmxtrans attempts to use is /usr/bin/java/bin/java
  • JAR_FILE was exported to the wrong location for package installs. Looks like it was still the default for non package installs. This should update dynamically based on recipe used.
  • Package Install should set install prefix to /usr/share
  • Can't seem to get any log information generated. It creates the log file but no log messages(NOT RESOLVED)

It is not clear java is needed to be managed outside of this cookbook

When first using this cookbook, if you do not previously install and configure java the execute block for update-alternatives fails.

After installing java the cookbook properly converged. I would either update the readme to specify that java needs to be managed independently from this cookbook or update the cookbook to manage a java version.

Error below...

==> chub_jmxtrans: ================================================================================
==> chub_jmxtrans: Error executing action `run` on resource 'execute[set correct jps alternative]'
==> chub_jmxtrans: ================================================================================
==> chub_jmxtrans:
==> chub_jmxtrans:
==> chub_jmxtrans: Mixlib::ShellOut::ShellCommandFailed
==> chub_jmxtrans: ------------------------------------
==> chub_jmxtrans: Expected process to exit with [0], but received '2'
==> chub_jmxtrans:
==> chub_jmxtrans: ---- Begin output of update-alternatives jps --auto jps ----
==> chub_jmxtrans:
==> chub_jmxtrans: STDOUT:
==> chub_jmxtrans:
==> chub_jmxtrans: STDERR: update-alternatives: error: unknown argument `jps'
==> chub_jmxtrans:
==> chub_jmxtrans: ---- End output of update-alternatives jps --auto jps ----
==> chub_jmxtrans:
==> chub_jmxtrans: Ran update-alternatives jps --auto jps returned 2
==> chub_jmxtrans:
==> chub_jmxtrans: Resource Declaration:
==> chub_jmxtrans: ---------------------
==> chub_jmxtrans: # In /tmp/vagrant-chef/ac8c3f11f4d0fda7770beb101dfde37f/cookbooks/jmxtrans/recipes/default.rb
==> chub_jmxtrans:
==> chub_jmxtrans: 108: execute "set correct jps alternative" do
==> chub_jmxtrans: 109:   command "update-alternatives jps --auto jps"
==> chub_jmxtrans: 110:   creates "/usr/bin/jps"
==> chub_jmxtrans: 111: end
==> chub_jmxtrans: 112:
==> chub_jmxtrans:
==> chub_jmxtrans: Compiled Resource:
==> chub_jmxtrans: ------------------
==> chub_jmxtrans: # Declared in /tmp/vagrant-chef/ac8c3f11f4d0fda7770beb101dfde37f/cookbooks/jmxtrans/recipes/default.rb:108:in `from_file'
==> chub_jmxtrans:
==> chub_jmxtrans: execute("set correct jps alternative") do
==> chub_jmxtrans:   action "run"
==> chub_jmxtrans:   retries 0
==> chub_jmxtrans:   retry_delay 2
==> chub_jmxtrans:   guard_interpreter :default
==> chub_jmxtrans:   command "update-alternatives jps --auto jps"
==> chub_jmxtrans:   backup 5
==> chub_jmxtrans:   creates "/usr/bin/jps"
==> chub_jmxtrans:   returns 0
==> chub_jmxtrans:   cookbook_name :jmxtrans
==> chub_jmxtrans:   recipe_name "default"
==> chub_jmxtrans: end
==> chub_jmxtrans:

Allow configuration of jmxtrans_opts in /etc/default/jmxtrans

Title says it all.

jmxtrans.sh uses env variable of JMXTRANS_OPTS for additional configuration of the JVM at runtime. There should be a way to configure this from the cookbook so that relevant properties can be passed along to jmxtrans at run time.

I am comfortable making a PR for this feature should we think it provides some value.

Info : Move to jmxtrans project

The jmxtrans-cookbook will be moved to jmxtrans project so that jmxtrans users can benefit from finding the cookbook in the project repositories. Please be aware of the move and make any necessary changes if required after the move.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.