Git Product home page Git Product logo

yarnbeat's Introduction

Yarnbeat

Build Status

Yarnbeat is an elastic Beat which polls the YARN API and forwards YARN application and resource metric information to the ELK stack for monitoring and alerting.

Getting Started

Prerequisites

Yarnbeat was developed against Go 1.12. Other versions of Go may work, but I make no promises.

Configuration

Example yarnbeat configuration:

yarnbeat:
  # Defines how often job metrics are polled in seconds
  period: 60
  
  # List of resource manager URLs to try when polling the YARN API
  # For best performance, list our primary RM first, then failovers
  resource_manager_urls:
  - "http://localhost:8088"

  # Set to true to enable MapReduce History Server integration
  enable_mr: true
  history_server_url: "http://localhost:9888"
  
  # Configure which MapReduce counters should be included in the
  # output, and what their field names should be
  mr_counters:
    - group_name: org.apache.hadoop.mapreduce.TaskCounter
      counters:
        # The format here is COUNTER_NAME: field_name
        # counter fields will appear as "mapreduce.job.counters.field_name"
        MAP_INPUT_RECORDS: map_input_records
        MAP_OUTPUT_RECORDS: map_output_records
    - group_name: My Custom Group
      counters:
        # Note that for MapReduce counter names containing the `.` character, the beats library will attempt 
        # to parse the key value into a subpath.  To work around this, replace the `.` with `$$`. In the
        # counter below, the MapReduce counter name would be `counter.with.periods`
        counter$$with$$periods: counter_with_periods

Note that for MapReduce counter names containing the . character, the beats library will attempt to parse the key value into a subpath. To work around this, replace the . with $$.

For information concerning valid Beats outputs, see the Filebeat documentation

Build

To build Yarnbeat from source, clone the repository and execute the following command:

make yarnbeat

Run

To execute Yarnbeat after building from source, run

./bin/yarnbeat -c /path/to/yarnbeat.yml

To execute Yarnbeat directly with Go, run

go run github.com/IBM/yarnbeat -c /path/to/yarnbeat.yml

For full command options run

./bin/yarnbeat --help

Test

To test the Yarnbeat module run

make test

Build and run the Docker image

To run Yarnbeat in a Docker image, mount the directory containing yarnbeat.yml to /etc/yarnbeat

make docker
docker run -v /path/containing/yarnbeatyml:/etc/yarnbeat yarnbeat

Kibana Dashboards

To load the prebuilt objects (index pattern, visualizations, dashboards) into Kibana, execute the following commands. Note that your config file must contain valid connection settings in setup.kibana.

make yarnbeat
make dashboards
./bin/yarnbeat setup --dashboards -c path/to/yarnbeat.yml

yarnbeat's People

Contributors

matthagenbuch avatar

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.