Last active
October 29, 2018 18:29
-
-
Save mplovepop/a950907f9566c18b736e31d783be24af to your computer and use it in GitHub Desktop.
Use eliot-tree to view papertrail logs. Requires: papertrail, jq, eliot-tree, and a papertrail API token
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -o errexit | |
eliot_cmd="eliot-prettyprint" | |
eliot_args=() | |
papertrail_args=("--json") | |
jq_term=".events[].message" | |
grep_cmd="cat" | |
grep_args=("-") | |
usage() { | |
cat <<EOF 1>&2 | |
Usage: eliot-papertrail [-hcf] | |
[-p <papertrail-group (str)>] | |
[-s <papertrail-system (str)>] | |
[-t <time filter (str)>] | |
[-g <grep search text (str)>] | |
[-l <eliot field-limit (int)>] | |
EOF | |
} | |
if [[ "$1" = "--help" || "$1" = "help" ]] ; then | |
usage | |
exit 0 | |
fi | |
while getopts ":hfcp:s:t:g:l:" o; do | |
case "${o}" in | |
p) | |
papertrail_args+=("--group" "${OPTARG}") | |
;; | |
s) | |
papertrail_args+=("--system" "${OPTARG}") | |
;; | |
t) | |
eliot_cmd="eliot-tree" | |
papertrail_args+=("--min-time" "${OPTARG}") | |
jq_term=".message" | |
;; | |
g) | |
grep_cmd="grep" | |
grep_args=("${OPTARG}") | |
;; | |
l) | |
eliot_cmd="eliot-tree" | |
eliot_args+=("--field-limit" "${OPTARG}") | |
;; | |
c) | |
eliot_cmd="eliot-tree" | |
eliot_args+=("--color" "always") | |
;; | |
f) | |
papertrail_args+=("--follow") | |
;; | |
h) | |
usage | |
exit 0 | |
;; | |
*) | |
usage | |
exit 1 | |
;; | |
esac | |
done | |
shift $((OPTIND-1)) | |
papertrail "${papertrail_args[@]}" \ | |
| jq -r "${jq_term}" \ | |
| $grep_cmd "${grep_args[@]}" \ | |
| $eliot_cmd "${eliot_args[@]}" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment