# beatbox **Repository Path**: mirrors_elastic/beatbox ## Basic Information - **Project Name**: beatbox - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-04-29 - **Last Updated**: 2025-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Beatbox _Simple capacity planning for Beats_ ## Overview Beatbox is an automation framework which makes producing utilization data for Beats simple and reproducible. ## Prerequisites Before starting with Beatbox, the following software packages should be installed on your system. * **Vagrant** * Beatbox uses [Vagrant](https://www.vagrantup.com/) as an isolated environment to run the tests in. In addition to having Virtualbox installed, you should also have the `vagrant-vbguest ` and `scp` [Vagrant plugins installed](https://www.shellhacks.com/vagrant-copy-file-to-from-host-guest-vm-vagrant-scp/). * **Ansible** * The automation is handled by [Ansible](https://www.ansible.com/). * **Python** * Performance results are analyzed using Python. All currently supported versions of Python work just fine with Beatbox. * **AWS account** * To run the tests, you will need an active AWS account with which you have created a key and a secret. * **Elasticsearch server** * The Beats configurations which are included expect that an Elasticsearch server has been configured. We recommend using the Elasticsearch Cloud service to do so. When creating the deployment, be sure to make note of the cloud identifier and password. ## Quick Start 1. Begin by editing the configuration file in `roles/runit/vars/main.yml`. Fill in the AWS and Elasticsearch credential information as directed. If you wish to change the default value of 15 minutes (900 seconds) for the test duration, you may change it here. 2. To provision a CentOS 7 virtual machine, run `make setup`. This will call Vagrant and provision a test environment. Output similar to the following should be produced: ``` ❯ vagrant up tester-centos7-64 Bringing machine 'tester-centos7-64' up with 'virtualbox' provider... vagrant ssh-config tester-centos7-64 > ssh_config ``` 3. Verify that the machine has booted successfully by running `make status`. Output similar to the following should be produced: ``` ❯ make status vagrant status tester-centos7-64 Current machine states: tester-centos7-64 running (virtualbox) The VM is running. To stop this VM, you can run `vagrant halt` to shut it down forcefully, or you can run `vagrant suspend` to simply suspend the virtual machine. In either case, to restart it again, simply run `vagrant up`. ``` 4. Create a virtual env on the host machine with `make ve`. 5. To run Metricbeat tests, run `make run-metricbeat`. A large amount of output will be produced and the tests will run for approximately fifteen minutes. 6. Copy the raw results data back to the host machine: ``` vagrant scp tester-centos7-64:/tmp/metricbeat_net.raw /tmp/metricbeat_net.raw ``` ``` vagrant scp tester-centos7-64:/tmp/metricbeat_stats.raw /tmp/metricbeat-aws_stats.raw ``` 7. To analyze raw stats, use one of the provided analysis scripts. For example, to analyze system stats which were downloaded to `/tmp/metricbeat_stats.raw`, run `./fstat/fstat.py /tmp/metricbeat_stats.raw`. ## Configuration ### Stack version To change the version of the Beats which are tested, please edit the `version` key found in `roles/common/vars/main.yml`.