TestEngineering/Services/HekaInfo

Heka Info/Intro

  • In Progress - brain dump of all notes related to Heka usage, testing, deployment, etc...
  • Focus 1: Functional testing of the Heka releases before they go out to the public
  • Focus 2: Specific functional and compatibility testing with internal Services projects before they get deployed to Production.

Heka Development Team

  • Rob Miller (RaFromBRC)
  • Ben Bangert (benbangert)
  • Mike Trinkala (trink)
  • Victor Ng (vng)

Heka Documentation

GitHub Repos

Issues and Bugs

Travis/CI

Deploying Heka to AWS

  • Standard methods can be used here - AWS Console wizard, AWSBox, AWSBoxen - to deploy Heka to one instances or stacks within AWS. Services QA has credentials for deploying to both common regions: East, West. There are two PEM files that can be used - one for East (Virginia), one for West (Oregon). There is separate documentation for installing a PEM file locally for use with specific instances in AWS.
  • NOTE: Services QA has some documentation for using the AWS Classic Wizard to create EC2 instances of the standard Linux flavors.
  • NOTE: Heka Development team has further documentation for creating Windows Server instances.

General Installation Notes

  • The following is the (fairly) complete list of prerequisites for installing Hekad on Mac, Windows, and Linux.
  • NOTE: There are specific additions for EC2 instances in AWS, since both the Ubuntu and RHEL flavors deploy with minimal package/library support (see below):
  • Specific additions for Ubuntu EC2 instances:
    • Easy (Wizard) installs may only come with make, perl, and python. So, you may need to install cmake, gcc, g++, git, python-devel.
  • Specific additions for RHEL EC2 instances:
    • Easy (Wizard) installs may only come with make, perl, and python. So, you may need to install cmake, gcc, g++, git, python-devel.
  • Specific additions for stripped-down/minimal Linux installations:
    • Similar to the above. Most base Linux installations (not development installations), may be missing compilers and other basic development packages that will be needed.

Using hekad.toml Files To Configure Hekad

  • Beyond the sample config file, many additions can be made to the options, input, output, and filters section for specific testing.

Installing The Heka RPM

  • TBD


Installing Heka From GitHub

  • TBD


Installing the Heka Package on Mac

  • NOTE: There is no uninstaller for this package, so it has to be done manually using Mac's pkgutil:
$ pkgutil --pkgs | grep heka
com.mozilla.hekad.pkg

$ pkgutil --files com.mozilla.hekad.pkg
bin
bin/hekad
share
share/man
share/man/man1
share/man/man1/hekad.1
share/man/man5
share/man/man5/hekad.config.5
share/man/man5/hekad.plugin.5

$ pkgutil --pkg-info com.mozilla.hekad.pkg (example)
package-id: com.mozilla.hekad.pkg
version: 0.3
volume: /
location: usr/local
install-time: 1374618711

$ cd /
$ sudo find . -name "*heka*" -print
./usr/local/bin/hekad
./usr/local/share/man/man1/hekad.1
./usr/local/share/man/man5/hekad.config.5
./usr/local/share/man/man5/hekad.plugin.5
Manually remove the 4 files
$ sudo rm -i /usr/local/bin/hekad /usr/local/share/man/man1/hekad.1 /usr/local/share/man/man5/hekad.config.5 /usr/local/share/man/man5/hekad.plugin.5
Unregister the package
$ sudo pkgutil --forget com.mozilla.hekad.pkg

Installing the Heka Package on Windows Server

  • TBD

Creating an RPM for Heka

  • TBD

The Hekad Command Line Options

Testing Hekad

  • TBD

Using/Reconfiguring the Hekad TOML (Configuration) File

  • TBD

Using Flood and the flood.toml File

Monitoring Hekad with Dashboard

Testing Ideas for Services QA

  • Functional testing of each Heka release before it gets posted to the public.
  • QA/Dev environment deployments in AWS using GitHub or the RPM build.
  • "Load" testing of hekad using Flood and a more complete TOML file.
  • Testing a more complete (or various types of) hekad.toml file.
  • Testing with sandboxed filters.
  • Deployment and testing in the Persona Stage environment.
  • Testing in the new Sync Stage environment (TBD).

Advanced Configurations for Heka

Using Sandboxed Filters

Heka for "New" Sync

  • The following "front-end" services - all part of Firefox Accounts - are either already using or will be using the latest release of Heka for various types of stats and log collection:
    • Auth API service (picl-idp)
    • Firefox Account Bridge (FAB)
    • Scrypt Helper (scrypt-helper)
  • Heka will also be used for stats and log collection at the "back-end" data storage service.

Heka for Marketplace

Heka for Sync 1.1