SlideShare a Scribd company logo
1 of 31
Download to read offline
Batteries
Included1 — Aaron Aldrich - @CrayZeigh
Aaron Aldrich
Developer Advocate
DevOpsCT
@CrayZeigh
aaron.aldrich@elastic.co
2 — Aaron Aldrich - @CrayZeigh
COMMUNITY
3 — Aaron Aldrich - @CrayZeigh
"Pull requests welcome"is Open Source
speak for"Go away, kid, you're
bothering me."
4 — Aaron Aldrich - @CrayZeigh
Welcome
BY
ENABLING SUCCESS
5 — Aaron Aldrich - @CrayZeigh
Context6 — Aaron Aldrich - @CrayZeigh
THINGS WE'RE NOT TALKING ABOUT
▸ root vegetables
▸ things by Dre
7 — Aaron Aldrich - @CrayZeigh
Killer Tofu
8 — Aaron Aldrich - @CrayZeigh
9 — Aaron Aldrich - @CrayZeigh
10 — Aaron Aldrich - @CrayZeigh
EXISTING BEATS INTENTED USE
filebeat logs, csv, text
metricbeat metrics
packetbeat transaction logs & flow metrics
winlogbeat Windows events
auditbeat system activity, changes
heartbeat network stats
11 — Aaron Aldrich - @CrayZeigh
12 — Aaron Aldrich - @CrayZeigh
DOCUMENTATION INCLUDED
fields.yml
13 — Aaron Aldrich - @CrayZeigh
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
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
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
Automate!
17 — Aaron Aldrich - @CrayZeigh
BY DESIGN
18 — Aaron Aldrich - @CrayZeigh
FILEBEAT MODULES
filebeat/modules.d/
apache2.yml kafka.yml nginx.yml redis.yml
auditd.yml logstash.yml osquery.yml system.yml
icinga.yml mysql.yml postgresql.yml traefik.yml
19 — Aaron Aldrich - @CrayZeigh
METRICBEAT MODULES
metricbeat/modules.d/
aerospike.yml golang.yml logstash.yml rabbitmq.yml
apache.yml graphite.yml memcached.yml redis.yml
ceph.yml haproxy.yml mongodb.yml system.yml
couchbase.yml http.yml mysql.yml uwsgi.yml
docker.yml jolokia.yml nginx.yml vsphere.yml
dropwizard.yml kafka.yml php_fpm.yml windows.yml
elasticsearch.yml kibana.yml postgresql.yml zookeeper.yml
etcd.yml kubernetes.yml prometheus.yml
20 — Aaron Aldrich - @CrayZeigh
> filebeat setup
Flags:
--dashboards Setup dashboards only
--machine-learning Setup machine learning job configurations only
--template Setup index template only
--modules string List of enabled modules (comma separated)
21 — Aaron Aldrich - @CrayZeigh
FOR CONTRIBUTORS
python $GOPATH/src/github.com/elastic/beats/script/generate.py
22 — Aaron Aldrich - @CrayZeigh
> 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
MAIN-IMPORT TRICK
package main
import (
"os"
"github.com/elastic/beats/libbeat/beat"
"github.com/elastic/beats/metricbeat/beater"
// load my plugins
_ "my/module/package/name"
)
func main() {
if err := beat.Run("mymetricbeat", "", beater.New); err != nil {
os.Exit(1)
}
}
24 — Aaron Aldrich - @CrayZeigh
SHIP THE TEST ENVIRONMENT
-OR-
DOCKER ALL THE THINGS
25 — Aaron Aldrich - @CrayZeigh
Environment
> ls vendor/github.com/elastic/beats/testing/environments/
2x.yml Dockerfile README.md
docker local.yml 5.0.0-cgroups.yml
Makefile args.yml latest.yml
snapshot.yml
26 — Aaron Aldrich - @CrayZeigh
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
Data
28 — Aaron Aldrich - @CrayZeigh
ENABLE SHARING
29 — Aaron Aldrich - @CrayZeigh
amazonbeatbeat, apachebeatbeat, apexbeatbeat, burrowbeat, cassandrabeat, cloudflarebeat,
cloudfrontbeat, cloudtrailbeat, cloudwatchmetricbeat, cloudwatchlogsbeat, collectbeat,
connbeat, consulbeat, dockbeat, elasticbeat, stcdbeat, execbeat, factbeat, flowbeat, gabeat,
githubbeat, gpfsbeat, hsbeat, httpbeat, hwsensorsbeat, icingabeat, iobeat, jmxproxybeat,
journalbeat, kafkabeat, krakenbeat, lmsensorsbeat, logstashbeat, mcqbeat, mongobeat,
mqttbeat, mysqlbeat, nagioscheckbeat, nginxbeat, nginxupstreambeat, nvidagpubeat,
openconfigbeat, packagebeat, phpfpmbeat, pingbeat, prombeat, prometheusbeat, protologbeat,
redditbeat, redisbeat, retsbeat, rsbeat, saltbeat, springbeat, tracebeat, twitterbeat, udpbeat,
udplogbeat, unifiedbeat, uwsgibeat, varnishlogbeat, varnishstatbeat, wmibeat
HTTPS://WWW.ELASTIC.CO/GUIDE/EN/BEATS/LIBBEAT/CURRENT/COMMUNITY-BEATS.HTML
30 — Aaron Aldrich - @CrayZeigh
BATTERIES
INCLUDED
31 — Aaron Aldrich - @CrayZeigh

More Related Content

Similar to Batteries Included: Enabling Community Contribution

DevOpsDays PDX - Batteries Included: Enabling Community Contribution
DevOpsDays PDX - Batteries Included: Enabling Community ContributionDevOpsDays PDX - Batteries Included: Enabling Community Contribution
DevOpsDays PDX - Batteries Included: Enabling Community ContributionAaron Aldrich
 
Cooking with Elastic Beats
Cooking with Elastic BeatsCooking with Elastic Beats
Cooking with Elastic BeatsAaron Aldrich
 
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 coreTYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 coretimohund
 
Creating Developer-Friendly Docker Containers with Chaperone
Creating Developer-Friendly Docker Containers with ChaperoneCreating Developer-Friendly Docker Containers with Chaperone
Creating Developer-Friendly Docker Containers with ChaperoneGary Wisniewski
 
Big Data Hadoop using Amazon Elastic MapReduce: Hands-On Labs
Big Data Hadoop using Amazon Elastic MapReduce: Hands-On LabsBig Data Hadoop using Amazon Elastic MapReduce: Hands-On Labs
Big Data Hadoop using Amazon Elastic MapReduce: Hands-On LabsIMC Institute
 
Ember-CLI Blueprints for fun and profit
Ember-CLI Blueprints for fun and profitEmber-CLI Blueprints for fun and profit
Ember-CLI Blueprints for fun and profitSalesforce Engineering
 
Containers Roadshow: How to Develop Containers for the Enterprise
Containers Roadshow: How to Develop Containers for the EnterpriseContainers Roadshow: How to Develop Containers for the Enterprise
Containers Roadshow: How to Develop Containers for the EnterpriseHonza Horák
 
Real-time Data Analytics mit Elasticsearch
Real-time Data Analytics mit ElasticsearchReal-time Data Analytics mit Elasticsearch
Real-time Data Analytics mit Elasticsearchinovex GmbH
 
Gerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source codeGerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source codeLuca Milanesio
 
GitHub Data and Insights
GitHub Data and InsightsGitHub Data and Insights
GitHub Data and InsightsJeff McAffer
 
MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...
MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...
MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...MITRE - ATT&CKcon
 
SFScon 2020 - Hlib Babii - DVC version control your datasets and ML experiments
SFScon 2020 - Hlib Babii - DVC version control your datasets and ML experimentsSFScon 2020 - Hlib Babii - DVC version control your datasets and ML experiments
SFScon 2020 - Hlib Babii - DVC version control your datasets and ML experimentsSouth Tyrol Free Software Conference
 
PyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsPyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsGraham Dumpleton
 
Investigation report on 64 bit support and some of new features in aosp master
Investigation report on 64 bit support and some of new features in aosp masterInvestigation report on 64 bit support and some of new features in aosp master
Investigation report on 64 bit support and some of new features in aosp masterhidenorly
 
Live Memory Forensics on Android devices
Live Memory Forensics on Android devicesLive Memory Forensics on Android devices
Live Memory Forensics on Android devicesNikos Gkogkos
 
OpenCon2014 - Sumatra as an Open Science tool
OpenCon2014 - Sumatra as an Open Science toolOpenCon2014 - Sumatra as an Open Science tool
OpenCon2014 - Sumatra as an Open Science toolFelix Z. Hoffmann
 
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...FFRI, Inc.
 
Robert Meyer- pypet
Robert Meyer- pypetRobert Meyer- pypet
Robert Meyer- pypetPyData
 

Similar to Batteries Included: Enabling Community Contribution (20)

DevOpsDays PDX - Batteries Included: Enabling Community Contribution
DevOpsDays PDX - Batteries Included: Enabling Community ContributionDevOpsDays PDX - Batteries Included: Enabling Community Contribution
DevOpsDays PDX - Batteries Included: Enabling Community Contribution
 
Cooking with Elastic Beats
Cooking with Elastic BeatsCooking with Elastic Beats
Cooking with Elastic Beats
 
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 coreTYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
 
Creating Developer-Friendly Docker Containers with Chaperone
Creating Developer-Friendly Docker Containers with ChaperoneCreating Developer-Friendly Docker Containers with Chaperone
Creating Developer-Friendly Docker Containers with Chaperone
 
Big Data Hadoop using Amazon Elastic MapReduce: Hands-On Labs
Big Data Hadoop using Amazon Elastic MapReduce: Hands-On LabsBig Data Hadoop using Amazon Elastic MapReduce: Hands-On Labs
Big Data Hadoop using Amazon Elastic MapReduce: Hands-On Labs
 
Ember-CLI Blueprints for fun and profit
Ember-CLI Blueprints for fun and profitEmber-CLI Blueprints for fun and profit
Ember-CLI Blueprints for fun and profit
 
Containers Roadshow: How to Develop Containers for the Enterprise
Containers Roadshow: How to Develop Containers for the EnterpriseContainers Roadshow: How to Develop Containers for the Enterprise
Containers Roadshow: How to Develop Containers for the Enterprise
 
R sharing 101
R sharing 101R sharing 101
R sharing 101
 
Real-time Data Analytics mit Elasticsearch
Real-time Data Analytics mit ElasticsearchReal-time Data Analytics mit Elasticsearch
Real-time Data Analytics mit Elasticsearch
 
Gerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source codeGerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source code
 
SFScon 2020 - Matteo Ghetta - DataPlotly - D3-like plots in QGIS
SFScon 2020 - Matteo Ghetta - DataPlotly - D3-like plots in QGISSFScon 2020 - Matteo Ghetta - DataPlotly - D3-like plots in QGIS
SFScon 2020 - Matteo Ghetta - DataPlotly - D3-like plots in QGIS
 
GitHub Data and Insights
GitHub Data and InsightsGitHub Data and Insights
GitHub Data and Insights
 
MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...
MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...
MITRE ATT&CKcon 2018: Hunters ATT&CKing with the Data, Roberto Rodriguez, Spe...
 
SFScon 2020 - Hlib Babii - DVC version control your datasets and ML experiments
SFScon 2020 - Hlib Babii - DVC version control your datasets and ML experimentsSFScon 2020 - Hlib Babii - DVC version control your datasets and ML experiments
SFScon 2020 - Hlib Babii - DVC version control your datasets and ML experiments
 
PyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsPyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web Applications
 
Investigation report on 64 bit support and some of new features in aosp master
Investigation report on 64 bit support and some of new features in aosp masterInvestigation report on 64 bit support and some of new features in aosp master
Investigation report on 64 bit support and some of new features in aosp master
 
Live Memory Forensics on Android devices
Live Memory Forensics on Android devicesLive Memory Forensics on Android devices
Live Memory Forensics on Android devices
 
OpenCon2014 - Sumatra as an Open Science tool
OpenCon2014 - Sumatra as an Open Science toolOpenCon2014 - Sumatra as an Open Science tool
OpenCon2014 - Sumatra as an Open Science tool
 
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...
 
Robert Meyer- pypet
Robert Meyer- pypetRobert Meyer- pypet
Robert Meyer- pypet
 

More from Aaron Aldrich

DevOpsDays PDX - Operating Human Systems: MTBF v. MTTR
DevOpsDays PDX - Operating Human Systems: MTBF v. MTTRDevOpsDays PDX - Operating Human Systems: MTBF v. MTTR
DevOpsDays PDX - Operating Human Systems: MTBF v. MTTRAaron Aldrich
 
(Heartifacts) Continuous Improvement: Living with ADHD
(Heartifacts) Continuous Improvement: Living with ADHD(Heartifacts) Continuous Improvement: Living with ADHD
(Heartifacts) Continuous Improvement: Living with ADHDAaron Aldrich
 
Distributed By Design (BostonDevOps)
Distributed By Design (BostonDevOps)Distributed By Design (BostonDevOps)
Distributed By Design (BostonDevOps)Aaron Aldrich
 
Inspirational Elasticserach for Boston JS
Inspirational Elasticserach for Boston JSInspirational Elasticserach for Boston JS
Inspirational Elasticserach for Boston JSAaron Aldrich
 
DevOpsDays 2018 - Operating Human Systems: MTBF v. MTTR
DevOpsDays 2018 - Operating Human Systems: MTBF v. MTTRDevOpsDays 2018 - Operating Human Systems: MTBF v. MTTR
DevOpsDays 2018 - Operating Human Systems: MTBF v. MTTRAaron Aldrich
 
2018-01 DevOpsDays NYC: Operating Human Systems: MTBF v. MTTR
2018-01 DevOpsDays NYC: Operating Human Systems: MTBF v. MTTR2018-01 DevOpsDays NYC: Operating Human Systems: MTBF v. MTTR
2018-01 DevOpsDays NYC: Operating Human Systems: MTBF v. MTTRAaron Aldrich
 
DevOpsDays DC 2017 - Better Living Through Storytelling
DevOpsDays DC 2017 -  Better Living Through StorytellingDevOpsDays DC 2017 -  Better Living Through Storytelling
DevOpsDays DC 2017 - Better Living Through StorytellingAaron Aldrich
 
DevOpsDays TO - Managing Fires
DevOpsDays TO - Managing FiresDevOpsDays TO - Managing Fires
DevOpsDays TO - Managing FiresAaron Aldrich
 
DevOpsDays SEA - Managing Fires: Leadership through Crisis
DevOpsDays SEA - Managing Fires: Leadership through CrisisDevOpsDays SEA - Managing Fires: Leadership through Crisis
DevOpsDays SEA - Managing Fires: Leadership through CrisisAaron Aldrich
 
Skeptics in the Church of Data Getting Evangelical
Skeptics in the Church of Data Getting EvangelicalSkeptics in the Church of Data Getting Evangelical
Skeptics in the Church of Data Getting EvangelicalAaron Aldrich
 
Better Living Through Storytelling
Better Living Through StorytellingBetter Living Through Storytelling
Better Living Through StorytellingAaron Aldrich
 
DevOpsDays Madison 2016 - Humane Treatment of On-Call Engineers (Ignite)
DevOpsDays Madison 2016 - Humane Treatment of On-Call Engineers (Ignite)DevOpsDays Madison 2016 - Humane Treatment of On-Call Engineers (Ignite)
DevOpsDays Madison 2016 - Humane Treatment of On-Call Engineers (Ignite)Aaron Aldrich
 
DOD-OH - The Humane Treatment of Engineers
DOD-OH - The Humane Treatment of EngineersDOD-OH - The Humane Treatment of Engineers
DOD-OH - The Humane Treatment of EngineersAaron Aldrich
 

More from Aaron Aldrich (14)

DevOpsDays PDX - Operating Human Systems: MTBF v. MTTR
DevOpsDays PDX - Operating Human Systems: MTBF v. MTTRDevOpsDays PDX - Operating Human Systems: MTBF v. MTTR
DevOpsDays PDX - Operating Human Systems: MTBF v. MTTR
 
(Heartifacts) Continuous Improvement: Living with ADHD
(Heartifacts) Continuous Improvement: Living with ADHD(Heartifacts) Continuous Improvement: Living with ADHD
(Heartifacts) Continuous Improvement: Living with ADHD
 
Distributed By Design (BostonDevOps)
Distributed By Design (BostonDevOps)Distributed By Design (BostonDevOps)
Distributed By Design (BostonDevOps)
 
Inspirational Elasticserach for Boston JS
Inspirational Elasticserach for Boston JSInspirational Elasticserach for Boston JS
Inspirational Elasticserach for Boston JS
 
DevOpsDays 2018 - Operating Human Systems: MTBF v. MTTR
DevOpsDays 2018 - Operating Human Systems: MTBF v. MTTRDevOpsDays 2018 - Operating Human Systems: MTBF v. MTTR
DevOpsDays 2018 - Operating Human Systems: MTBF v. MTTR
 
2018-01 DevOpsDays NYC: Operating Human Systems: MTBF v. MTTR
2018-01 DevOpsDays NYC: Operating Human Systems: MTBF v. MTTR2018-01 DevOpsDays NYC: Operating Human Systems: MTBF v. MTTR
2018-01 DevOpsDays NYC: Operating Human Systems: MTBF v. MTTR
 
DevOpsDays DC 2017 - Better Living Through Storytelling
DevOpsDays DC 2017 -  Better Living Through StorytellingDevOpsDays DC 2017 -  Better Living Through Storytelling
DevOpsDays DC 2017 - Better Living Through Storytelling
 
DevOpsDays TO - Managing Fires
DevOpsDays TO - Managing FiresDevOpsDays TO - Managing Fires
DevOpsDays TO - Managing Fires
 
DevOpsDays SEA - Managing Fires: Leadership through Crisis
DevOpsDays SEA - Managing Fires: Leadership through CrisisDevOpsDays SEA - Managing Fires: Leadership through Crisis
DevOpsDays SEA - Managing Fires: Leadership through Crisis
 
Skeptics in the Church of Data Getting Evangelical
Skeptics in the Church of Data Getting EvangelicalSkeptics in the Church of Data Getting Evangelical
Skeptics in the Church of Data Getting Evangelical
 
Better Living Through Storytelling
Better Living Through StorytellingBetter Living Through Storytelling
Better Living Through Storytelling
 
DevOpsDays Madison 2016 - Humane Treatment of On-Call Engineers (Ignite)
DevOpsDays Madison 2016 - Humane Treatment of On-Call Engineers (Ignite)DevOpsDays Madison 2016 - Humane Treatment of On-Call Engineers (Ignite)
DevOpsDays Madison 2016 - Humane Treatment of On-Call Engineers (Ignite)
 
DOD-OH - The Humane Treatment of Engineers
DOD-OH - The Humane Treatment of EngineersDOD-OH - The Humane Treatment of Engineers
DOD-OH - The Humane Treatment of Engineers
 
Managing fires
Managing firesManaging fires
Managing fires
 

Recently uploaded

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

Batteries Included: Enabling Community Contribution

  • 1. Batteries Included1 — Aaron Aldrich - @CrayZeigh
  • 3. COMMUNITY 3 — Aaron Aldrich - @CrayZeigh
  • 4. "Pull requests welcome"is Open Source speak for"Go away, kid, you're bothering me." 4 — Aaron Aldrich - @CrayZeigh
  • 5. Welcome BY ENABLING SUCCESS 5 — Aaron Aldrich - @CrayZeigh
  • 6. Context6 — Aaron Aldrich - @CrayZeigh
  • 7. THINGS WE'RE NOT TALKING ABOUT ▸ root vegetables ▸ things by Dre 7 — Aaron Aldrich - @CrayZeigh
  • 8. Killer Tofu 8 — Aaron Aldrich - @CrayZeigh
  • 9. 9 — Aaron Aldrich - @CrayZeigh
  • 10. 10 — Aaron Aldrich - @CrayZeigh
  • 11. EXISTING BEATS INTENTED USE filebeat logs, csv, text metricbeat metrics packetbeat transaction logs & flow metrics winlogbeat Windows events auditbeat system activity, changes heartbeat network stats 11 — Aaron Aldrich - @CrayZeigh
  • 12. 12 — Aaron Aldrich - @CrayZeigh
  • 13. DOCUMENTATION INCLUDED fields.yml 13 — Aaron Aldrich - @CrayZeigh
  • 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
  • 17. Automate! 17 — Aaron Aldrich - @CrayZeigh
  • 18. BY DESIGN 18 — Aaron Aldrich - @CrayZeigh
  • 19. FILEBEAT MODULES filebeat/modules.d/ apache2.yml kafka.yml nginx.yml redis.yml auditd.yml logstash.yml osquery.yml system.yml icinga.yml mysql.yml postgresql.yml traefik.yml 19 — Aaron Aldrich - @CrayZeigh
  • 20. METRICBEAT MODULES metricbeat/modules.d/ aerospike.yml golang.yml logstash.yml rabbitmq.yml apache.yml graphite.yml memcached.yml redis.yml ceph.yml haproxy.yml mongodb.yml system.yml couchbase.yml http.yml mysql.yml uwsgi.yml docker.yml jolokia.yml nginx.yml vsphere.yml dropwizard.yml kafka.yml php_fpm.yml windows.yml elasticsearch.yml kibana.yml postgresql.yml zookeeper.yml etcd.yml kubernetes.yml prometheus.yml 20 — Aaron Aldrich - @CrayZeigh
  • 21. > filebeat setup Flags: --dashboards Setup dashboards only --machine-learning Setup machine learning job configurations only --template Setup index template only --modules string List of enabled modules (comma separated) 21 — 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
  • 24. MAIN-IMPORT TRICK package main import ( "os" "github.com/elastic/beats/libbeat/beat" "github.com/elastic/beats/metricbeat/beater" // load my plugins _ "my/module/package/name" ) func main() { if err := beat.Run("mymetricbeat", "", beater.New); err != nil { os.Exit(1) } } 24 — Aaron Aldrich - @CrayZeigh
  • 25. SHIP THE TEST ENVIRONMENT -OR- DOCKER ALL THE THINGS 25 — Aaron Aldrich - @CrayZeigh
  • 26. Environment > ls vendor/github.com/elastic/beats/testing/environments/ 2x.yml Dockerfile README.md docker local.yml 5.0.0-cgroups.yml Makefile args.yml latest.yml snapshot.yml 26 — 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
  • 28. Data 28 — Aaron Aldrich - @CrayZeigh
  • 29. ENABLE SHARING 29 — Aaron Aldrich - @CrayZeigh
  • 30. amazonbeatbeat, apachebeatbeat, apexbeatbeat, burrowbeat, cassandrabeat, cloudflarebeat, cloudfrontbeat, cloudtrailbeat, cloudwatchmetricbeat, cloudwatchlogsbeat, collectbeat, connbeat, consulbeat, dockbeat, elasticbeat, stcdbeat, execbeat, factbeat, flowbeat, gabeat, githubbeat, gpfsbeat, hsbeat, httpbeat, hwsensorsbeat, icingabeat, iobeat, jmxproxybeat, journalbeat, kafkabeat, krakenbeat, lmsensorsbeat, logstashbeat, mcqbeat, mongobeat, mqttbeat, mysqlbeat, nagioscheckbeat, nginxbeat, nginxupstreambeat, nvidagpubeat, openconfigbeat, packagebeat, phpfpmbeat, pingbeat, prombeat, prometheusbeat, protologbeat, redditbeat, redisbeat, retsbeat, rsbeat, saltbeat, springbeat, tracebeat, twitterbeat, udpbeat, udplogbeat, unifiedbeat, uwsgibeat, varnishlogbeat, varnishstatbeat, wmibeat HTTPS://WWW.ELASTIC.CO/GUIDE/EN/BEATS/LIBBEAT/CURRENT/COMMUNITY-BEATS.HTML 30 — Aaron Aldrich - @CrayZeigh
  • 31. BATTERIES INCLUDED 31 — Aaron Aldrich - @CrayZeigh