All Projects → christiangalsterer → execbeat

christiangalsterer / execbeat

Licence: Apache-2.0 license
Elastic beat to call commands in a regular interval and send the result to Logstash, Elasticsearch

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to execbeat

elastic-stack-testing
Elastic Stack Testing Framework (ESTF) 🤖
Stars: ✭ 47 (-12.96%)
Mutual labels:  logstash, beats
elastic-stax
elastic-stax Docker Compose projects => for learning/training purposes only!
Stars: ✭ 13 (-75.93%)
Mutual labels:  logstash, beats
EnterpriseApplicationLog
Enterprise Application Log with RabbitMQ, LogStash, ElasticSearch and Kibana
Stars: ✭ 88 (+62.96%)
Mutual labels:  logstash, beats
kafkabeat
Kafka event forwarder build on top of Elastic Beats platform
Stars: ✭ 13 (-75.93%)
Mutual labels:  logstash, beats
awesome-elastic-stack
Awesome Elastic Stack
Stars: ✭ 29 (-46.3%)
Mutual labels:  logstash, beats
graylog-beats-plugin
Graylog input plugin for Elastic Beats
Stars: ✭ 19 (-64.81%)
Mutual labels:  beats
data-processing-with-logstash
Contains the configuration files used within the Data Processing with Logstash course.
Stars: ✭ 76 (+40.74%)
Mutual labels:  logstash
logstash-laravel-logs
Process Laravel Log files on Logstash and forward to ElasticSearch
Stars: ✭ 35 (-35.19%)
Mutual labels:  logstash
dissect-tester
Simple API/UI for testing filebeat dissect patterns against a collection of sample log lines.
Stars: ✭ 58 (+7.41%)
Mutual labels:  logstash
frontreport
Simple frontend logging collector written in Go
Stars: ✭ 23 (-57.41%)
Mutual labels:  logstash
ansible-role-kibana
Ansible Role - Kibana
Stars: ✭ 104 (+92.59%)
Mutual labels:  logstash
ypereirareis.github.io
DevOps, Symfony and VueJs developer. Articles and experiences on docker, grafana, prometheus, RabbitMQ, PHP, MySQL, Admin, Nginx, Haproxy, SSH,...
Stars: ✭ 15 (-72.22%)
Mutual labels:  logstash
logrus-redis-hook
Hook for Logrus which enables logging to RELK stack (Redis, Elasticsearch, Logstash and Kibana)
Stars: ✭ 33 (-38.89%)
Mutual labels:  logstash
dockelk
ELK log transport and aggregation at scale
Stars: ✭ 31 (-42.59%)
Mutual labels:  logstash
logstash-output-icinga
A Logstash output that calls the Icinga API
Stars: ✭ 12 (-77.78%)
Mutual labels:  logstash
MeetU
Application that build on Elasticsearch and Spring Boot Microservices (Synchronous Service)
Stars: ✭ 22 (-59.26%)
Mutual labels:  logstash
kubernetes-logging-helm
Scalable Kubernetes logging stack with Opensearch
Stars: ✭ 42 (-22.22%)
Mutual labels:  logstash
factbeat
Ship Facter facts to Elasticsearch or Logstash.
Stars: ✭ 13 (-75.93%)
Mutual labels:  beats
aws-elb-logs-to-logstash
Consumes ELB & ALB logs and sends them to logstash for ingestion. Kibana dashboard included.
Stars: ✭ 26 (-51.85%)
Mutual labels:  logstash
OpenSIEM-Logstash-Parsing
SIEM Logstash parsing for more than hundred technologies
Stars: ✭ 140 (+159.26%)
Mutual labels:  logstash

Build Status codecov.io Go Report Card license Github All Releases

Elastic Beats 5.6.2 Golang 1.9

Overview

Execbeat is the Beat used to execute any command. Multiple commands can be configured which are executed in a regular interval and the standard output and standard error is shipped to the configured output channel.

Execbeat is inspired by the Logstash exec input filter but doesn't require that the endpoint is reachable by Logstash as Execbeat pushes the data to Logstash or Elasticsearch. This is often necessary in security restricted network setups, where Logstash is not able to reach all servers. Instead the server to be monitored itself has Execbeat installed and can send the data or a collector server has Execbeat installed which is deployed in the secured network environment and can reach all servers to be monitored.

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

Installation

Download

Pre-compiled binaries for different operating systems are available for download.

Installation

Install the package for your operation system by running the respective package manager or unzipping the package.

Configuration

Adjust the execbeat.yml configuration file to your needs. You may take execbeat.full.yml as an example containing all possible configuration values.

Running

In order to start Execbeat please use the respective startup script, e.g. /usr/bin/execbeat.sh.

Starting Execbeat as Service

Where supported Execbeat can be started also using the respetive service scripts, e.g. etc/init.d/execsbeat.

Building and Releasing Execbeat

Requirements

Build

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

make clean && make

Run

To run execbeat with debugging output enabled, run:

./execbeat -c execbeat.yml -e -d "*"

Test

To test execbeat, 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/execbeat.template.json and etc/execbeat.asciidoc

make update

Cleanup

To clean execbeat source code, run the following commands:

make check
make simplify

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

make clean

Clone

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

mkdir -p ${GOPATH}/github.com/christiangalsterer
cd ${GOPATH}/github.com/christiangalsterer
git clone https://github.com/christiangalsterer/execbeat

For further development, check out the beat developer guide.

Packaging

The beat frameworks provides tools to crosscompile and package your beat for different platforms. This requires docker 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 complete process to finish can take several minutes.

Releases

3.3.0 (2017-10-06) Download

Github Releases (by Release)

Feature and Bugfix release containing the following changes:

  • Update to beats v5.6.2

3.2.0 (2017-06-05) Download

Github Releases (by Release)

Feature and bugfix release containing the following changes:

3.1.1 (2017-02-24) Download

Github Releases (by Release)

Bugfix release containing the following changes:

3.1.0 (2017-02-23) Download

Github Releases (by Release)

Feature and bugfix release containing the following changes:

  • The exit code of the command executed is now exported in field exitCode.
  • Fix: Examples were not fully updated with configuration changes introduced in 3.0.0.

3.0.1 (2017-02-21) Download

Github Releases (by Release)

Bugfix release containing the following changes:

3.0.0 (2017-02-19) Download

Github Releases (by Release)

Feature and bugfix release containing the following breaking changes:

  • Renamed configuration parameter execs to commands. Please update your configuration accordingly.
  • Renamed configuration parameter cron to schedule. Please update your configuration accordingly.
  • Update to beats v5.2.1
  • Fix: Default schedule not working

2.2.0 (2017-02-04) Download

Github Releases (by Release)

Feature release containing the following changes:

  • Update to beats v5.2.0

2.1.1 (2017-01-14) Download

Github Releases (by Release)

Starting with this release pre-compiled binaries for different operating systems are available under the respective tag in the github project.

Bugfix release containing the following changes:

  • Move files into correct place to allow correct bulding with make package
  • Move files into correct place to allow correct bulding with make update
  • Cleanup of documentation
  • Update to beats v5.1.2
  • Update to Go 1.7.4

2.1.0 (2016-12-23)

Feature release containing the following changes:

  • Update to beats v5.1.1

2.0.0 (2016-11-26)

Feature release containing the following changes:

  • Update to beats v5.0.1

Please note that this release contains the following breaking changes introduced by beats 5.0.X, see also Beats Changelog

  • SSL Configuration
    • rename tls configurations section to ssl
    • rename certificate_key configuration to key.
    • replace tls.insecure with ssl.verification_mode setting.
    • replace tls.min/max_version with ssl.supported_protocols setting requiring full protocol name

1.1.0 (2016-07-19)

Feature release containing the following changes:

  • Update to Go 1.6
  • Update to libbeat 1.2.3
  • Use Glide for dependency management

1.0.1 (2016-02-15)

Bugfix release containing the following changes:

1.0.0 (2015-12-26)

  • Initial release

Configuration

Configuration Options

See here for more information.

Exported Document Types

There is exactly one document type exported:

  • type: execbeat command execution information, e.g. standard output and standard error. The type can be changed by setting the document_type attribute.

Exported Fields

See here for a detailed description of all exported fields.

execbeat type

{
  "_index": "execbeat-2015.12.26",
  "_type": "execbeat",
  "_source": {
    "@timestamp": "2015-12-26T02:18:53.001Z",
    "beat": {
      "hostname": "mbp.box",
      "name": "mbp.box"
    },
    "count": 1,
    "fields": {
      "host": "test"
    },
    "exec": {
      "command": "echo",
      "exitCode": 0,
      "stdout": "Hello World\n"
    },
    "fields": {
      "host": "test2"
    },
    "type": "execbeat"
    },
  "sort": [
    1449314173
  ]
}

Elasticsearch Template

To apply the Execbeat template:

curl -XPUT 'http://localhost:9200/_template/execbeat' -d@etc/execbeat.template.json

Contribution

All sorts of contributions are welcome. Please create a pull request and/or issue.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].