2017-01-02 21:18:06 +01:00
|
|
|
[![Build Status](https://travis-ci.org/Icinga/icingabeat.svg?branch=master)](https://travis-ci.org/Icinga/icingabeat)
|
2017-01-02 15:44:34 +01:00
|
|
|
|
2016-12-02 11:51:44 +01:00
|
|
|
# Icingabeat
|
2017-03-15 11:37:28 +01:00
|
|
|
|
2017-02-01 16:55:48 +01:00
|
|
|
> The Beats are lightweight data shippers, written in Go, that you install on
|
|
|
|
> your servers to capture all sorts of operational data (think of logs,
|
|
|
|
> metrics, or network packet data). The Beats send the operational data to
|
|
|
|
> Elasticsearch, either directly or via Logstash, so it can be visualized with
|
|
|
|
> Kibana.
|
2016-12-02 11:51:44 +01:00
|
|
|
|
2017-03-15 11:37:28 +01:00
|
|
|
Icingabeat is an [Elastic Beat](https://www.elastic.co/products/beats) that
|
|
|
|
fetches data from the Icinga 2 API and sends it either directly to Elasticsearch
|
2017-03-17 11:23:35 +01:00
|
|
|
or Logstash.
|
|
|
|
|
2017-12-22 13:11:42 +01:00
|
|
|
![icingabeat-checkresult-dashboard](screenshots/checkresults.png)
|
2017-03-15 11:37:28 +01:00
|
|
|
|
2017-12-22 13:11:42 +01:00
|
|
|
## Documentation
|
|
|
|
Please read the documentation on
|
|
|
|
[icinga.com/docs/icingabeat/latest](https://www.icinga.com/docs/icingabeat/latest/)
|
|
|
|
for more information
|
2017-01-02 17:22:45 +01:00
|
|
|
|
2017-03-15 11:37:28 +01:00
|
|
|
## Development
|
|
|
|
|
|
|
|
### Building and running manually
|
2017-01-02 12:02:47 +01:00
|
|
|
|
2017-03-15 11:37:28 +01:00
|
|
|
#### Requirements
|
2017-01-02 12:02:47 +01:00
|
|
|
|
2021-09-23 14:17:23 +02:00
|
|
|
* [Golang](https://golang.org/dl/) 1.16
|
2017-01-02 12:02:47 +01:00
|
|
|
|
2017-03-15 11:37:28 +01:00
|
|
|
#### Clone
|
2017-01-02 12:02:47 +01:00
|
|
|
|
|
|
|
To clone Icingabeat from the git repository, run the following commands:
|
|
|
|
|
2017-01-02 12:26:55 +01:00
|
|
|
```shell
|
2017-01-02 12:02:47 +01:00
|
|
|
mkdir -p ${GOPATH}/github.com/icinga
|
|
|
|
cd ${GOPATH}/github.com/icinga
|
|
|
|
git clone https://github.com/icinga/icingabeat
|
|
|
|
```
|
|
|
|
|
2017-04-21 11:09:44 +02:00
|
|
|
For further development check out the [beat developer guide](https://www.elastic.co/guide/en/beats/libbeat/current/new-beat.html).
|
2016-12-02 11:51:44 +01:00
|
|
|
|
2017-03-15 11:37:28 +01:00
|
|
|
#### Build
|
2017-01-02 12:02:47 +01:00
|
|
|
Ensure that this folder is at the following location:
|
|
|
|
`${GOPATH}/github.com/icinga`
|
2016-12-02 11:51:44 +01:00
|
|
|
|
2017-01-02 12:02:47 +01:00
|
|
|
To build the binary for Icingabeat run the command below. This will generate a
|
|
|
|
binary in the same directory with the name icingabeat.
|
2016-12-02 11:51:44 +01:00
|
|
|
|
2017-01-02 12:26:55 +01:00
|
|
|
```shell
|
2020-02-26 15:33:45 +01:00
|
|
|
mage build
|
2016-12-02 11:51:44 +01:00
|
|
|
```
|
|
|
|
|
2017-03-15 11:37:28 +01:00
|
|
|
#### Run
|
2016-12-02 11:51:44 +01:00
|
|
|
To run Icingabeat with debugging output enabled, run:
|
|
|
|
|
2017-01-02 12:26:55 +01:00
|
|
|
```shell
|
2016-12-02 11:51:44 +01:00
|
|
|
./icingabeat -c icingabeat.yml -e -d "*"
|
|
|
|
```
|
|
|
|
|
2017-03-15 11:37:28 +01:00
|
|
|
### Packaging
|
2016-12-02 11:51:44 +01:00
|
|
|
|
2017-01-02 12:02:47 +01:00
|
|
|
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:
|
2016-12-02 11:51:44 +01:00
|
|
|
|
2017-01-02 12:26:55 +01:00
|
|
|
```shell
|
2021-09-23 14:17:23 +02:00
|
|
|
export PLATFORMS="linux/amd64 linux/386"
|
2020-02-26 15:33:45 +01:00
|
|
|
mage package
|
2016-12-02 11:51:44 +01:00
|
|
|
```
|
|
|
|
|
2017-04-21 11:09:44 +02:00
|
|
|
This will fetch and create all images required for the build process. The whole
|
2021-09-23 14:17:23 +02:00
|
|
|
process can take several minutes to finish.
|