Presented at DevOpsDays Austin. How does Elastic enable customization and contribution from their Beats project which inherently is deployed in unique and varied environments. Provide Documentation, automate tedious tasks, ship easy to use testing environments, and make a clear path for sharing
14. WHAT IS IT?
For all events generated by beats we provide:
▸ Elasticsearch index template
▸ Kibana index pattern
▸ Documentation!
▸ Common definition and documentation in fields.yml
14 — Aaron Aldrich - @CrayZeigh
15. SYNTAX
field ::= #'type' must be group
name: <field name> fields list ::=
type: <type> - <field>
[format: <format>] - <field>
description: <docstring> ...
[fields: <fields list>]
type ::= group, long, keyword
format ::= bytes, percent, ...
15 — Aaron Aldrich - @CrayZeigh
16. EXAMPLE
- name: memory
type: group
description: >
'memory' contains local memory stats.
fields:
- name: total
type: long
format: bytes
description: >
Total memory
16 — Aaron Aldrich - @CrayZeigh
23. > make setup
mkdir -p vendor/github.com/elastic/
cp -R /Users/aaronaldrich/go/src/github.com/elastic/beats vendor/github.com/elastic/
rm -rf vendor/github.com/elastic/beats/.git
/Library/Developer/CommandLineTools/usr/bin/make update
New python executable in /.../github.com/crayzeigh/examplebeat/build/python-env/bin/python
Installing setuptools, pip, wheel...done.
Updating generated files for examplebeat
-- The index pattern was created under /.../examplebeat/_meta/kibana/5/index-pattern/examplebeat.json
-- The index pattern was created under /.../examplebeat/_meta/kibana/6/index-pattern/examplebeat.json
Setup, Binary builds and index-pattern updates handled through
Makefiles
23 — Aaron Aldrich - @CrayZeigh
27. Environment
/demobeat/vendor/github.com/elastic/beats/testing/environments> make start
# This is run every time to make sure the environment is up-to-date
docker-compose -f snapshot.yml -f local.yml build
...
Building kibana...
Building elasticsearch...
Building logstash...
docker-compose -f snapshot.yml -f local.yml run beat bash
Creating environments_elasticsearch_1 ... done
Creating environments_kibana_1 ... done
Creating environments_logstash_1 ... done
root@3a834aedbb86:/#
27 — Aaron Aldrich - @CrayZeigh