An open API service indexing awesome lists of open source software.

https://github.com/devopsmakers/iobeat

iobeat is an Elastic Beat that parses IO stats and sends them to ELK.
https://github.com/devopsmakers/iobeat

beats elastic io linux

Last synced: 5 months ago
JSON representation

iobeat is an Elastic Beat that parses IO stats and sends them to ELK.

Awesome Lists containing this project

README

          

# iobeat
[![Build Status](https://travis-ci.org/devopsmakers/iobeat.svg?branch=master)](https://travis-ci.org/devopsmakers/iobeat)
[![Go Report Card](https://goreportcard.com/badge/github.com/devopsmakers/iobeat)](https://goreportcard.com/report/github.com/devopsmakers/iobeat)
[![codecov](https://codecov.io/gh/devopsmakers/iobeat/branch/master/graph/badge.svg)](https://codecov.io/gh/devopsmakers/iobeat)

Welcome to iobeat.

This beat collects IO statistics from /proc/diskstats on Linux and ships them to
your configured collectors.

Ensure that this folder is at the following location:
`${GOPATH}/github.com/devopsmakers`

## Getting Started with Iobeat

### Requirements

* [Golang](https://golang.org/dl/) 1.7

### Init Project
To get running with Iobeat and also install the
dependencies, run the following command:

```
make setup
```

For further development, check out the [beat developer guide](https://www.elastic.co/guide/en/beats/libbeat/current/new-beat.html).

### Build

To build the binary for iobeat run the command below. This will generate a binary
in the same directory with the name iobeat.

```
make
```

### Run

To run iobeat with debugging output enabled, run:

```
./iobeat -c iobeat.yml -e -d "*"
```

### Test

To test iobeat, run the following command:

```
make testsuite
```

alternatively:
```
make unit-tests
make system-tests
make integration-tests
make coverage-report
```

The test coverage is reported in the folder `./build/coverage/`

### Update

Each beat has a template for the mapping in elasticsearch and a documentation for the fields
which is automatically generated based on `etc/fields.yml`.
To generate etc/iobeat.template.json and etc/iobeat.asciidoc

```
make update
```

### Cleanup

To clean iobeat source code, run the following commands:

```
make fmt
make simplify
```

To clean up the build directory and generated artifacts, run:

```
make clean
```

### Clone

To clone iobeat from the git repository, run the following commands:

```
mkdir -p ${GOPATH}/github.com/devopsmakers
cd ${GOPATH}/github.com/devopsmakers
git clone https://github.com/devopsmakers/iobeat
```

For further development, check out the [beat developer guide](https://www.elastic.co/guide/en/beats/libbeat/current/new-beat.html).

## Packaging

The beat frameworks provides tools to crosscompile and package your beat for different platforms. This requires [docker](https://www.docker.com/) and vendoring as described above. To build packages of your beat, run the following command:

```
make package
```

This will fetch and create all images required for the build process. The hole process to finish can take several minutes.