Skip to content

cloudfoundry-community/firehose-plugin

Repository files navigation

nozzle-plugin

Build Status

Installation

cf add-plugin-repo CF-Community http://plugins.cloudfoundry.org/
cf install-plugin "Firehose Plugin" -r CF-Community

Usage

User must be logged in as admin

Options

The entire firehose for CF.

NAME:
   nozzle - Displays messages from the firehose

USAGE:
   cf nozzle

OPTIONS:
   -debug                 -d, enable debugging
   -filter                -f, specify message filter such as LogMessage, ValueMetric, CounterEvent, HttpStartStop
   -no-filter             -n, no firehose filter. Display all messages
   -subscription-id       -s, specify subscription id for distributing firehose output between clients

All logs, metrics and events for a given app. This differs from cf logs APP_NAME because it provides other information like container metrics that are related to the app.

NAME:
   app-nozzle - Displays messages from the firehose for a given app

USAGE:
   cf app-nozzle APP_NAME

OPTIONS:
   -debug           -d, enable debugging
   -filter          -f, specify message filter such as LogMessage, ValueMetric, CounterEvent, HttpStartStop
   -no-filter       -n, no filter. Display all messages

With Interactive Prompt

cf nozzle
cf app-nozzle APP_NAME

Without Interactive Prompt

Error message will be displayed for unrecognized filter type

# For debug
cf nozzle --debug
cf app-nozzle APP_NAME --debug

# For all messages
cf nozzle --no-filter
cf app-nozzle APP_NAME --no-filter

# For Log Messages
cf nozzle --filter LogMessage
cf app-nozzle APP_NAME --filter LogMessage

# For HttpStartStop
cf nozzle --filter HttpStartStop
cf app-nozzle APP_NAME --filter HttpStartStop

# For ValueMetric
cf nozzle --filter ValueMetric
cf app-nozzle APP_NAME --filter ValueMetric

# For CounterEvent
cf nozzle --filter CounterEvent
cf app-nozzle APP_NAME --filter CounterEvent

# For ContainerMetric
cf nozzle --filter ContainerMetric
cf app-nozzle APP_NAME --filter ContainerMetric

# For Error
cf nozzle --filter Error
cf app-nozzle APP_NAME --filter Error

Subscription ID

In order to distribute the firehose data evenly among multiple CLI sessions, the user must specify the same subscription ID to each of the client connections.

cf nozzle --no-filter --subscription-id myFirehose

Uninstall

cf uninstall-plugin FirehosePlugin

Testing

Run tests

./scripts/test.sh

If you want to install the plugin locally and test it manually

./scripts/install.sh

Releasing

In order to create a new release, follow these steps

  1. Create local tag and binaries
./scripts/build-all.sh release VERSION_NUMBER #(e.g. 0.7.0)
  1. Copy the output of the previous command from the first line (should be '- name: Firehose Plugin' to the last checksum line (should be something like checksum: fde5fd52c40ea4c34330426c09c143a76a77a8db)
  2. Push the tag git push --follow-tags
  3. On github, create new release based on new tag here
  4. Upload the three binaries from the ./bin folders to the release (Linux, OSX and Win64)
  5. Fork this repo and clone it locally
  6. Edit the repo-index.yml to override the existing section about the firehose plugin with the text previously copied in Step 2.
  7. Run go run sort/main.go repo-index.yml in the cli-plugin-repo to alphabetize the properties
  8. Run BINARY_VALIDATION=true go test
  9. Push the change to your fork
  10. Create a PR against the original repo