chore(ext): remove Logspout extension
This software is no longer maintained. Nowadays, Filebeat largely addresses the problems that Logspout was designed to solve.
This commit is contained in:
parent
5dd178ac1a
commit
c77a5a9ba9
|
@ -30,7 +30,6 @@ jobs:
|
|||
run: >-
|
||||
docker compose
|
||||
-f docker-compose.yml
|
||||
-f extensions/logspout/logspout-compose.yml
|
||||
-f extensions/fleet/fleet-compose.yml
|
||||
-f extensions/fleet/agent-apmserver-compose.yml
|
||||
-f extensions/metricbeat/metricbeat-compose.yml
|
||||
|
@ -82,34 +81,6 @@ jobs:
|
|||
# #
|
||||
##############################
|
||||
|
||||
#
|
||||
# Logspout
|
||||
#
|
||||
|
||||
- name: Execute Logspout test suite
|
||||
run: |
|
||||
|
||||
# Set mandatory Logstash settings
|
||||
|
||||
sed -i '$ a input { udp { port => 50000 codec => json } }' logstash/pipeline/logstash.conf
|
||||
|
||||
# Restart Logstash for changes to take effect
|
||||
|
||||
docker compose restart logstash
|
||||
|
||||
# Run Logspout and execute tests.
|
||||
|
||||
docker compose -f docker-compose.yml -f extensions/logspout/logspout-compose.yml up --remove-orphans -d logspout
|
||||
.github/workflows/scripts/run-tests-logspout.sh
|
||||
|
||||
# Revert changes to Logstash configuration
|
||||
|
||||
sed -i '/input { udp { port => 50000 codec => json } }/d' logstash/pipeline/logstash.conf
|
||||
docker compose restart logstash
|
||||
|
||||
# next steps don't need Logstash
|
||||
docker compose stop logstash
|
||||
|
||||
#
|
||||
# Fleet
|
||||
#
|
||||
|
@ -181,7 +152,6 @@ jobs:
|
|||
|
||||
docker compose \
|
||||
-f docker-compose.yml \
|
||||
-f extensions/logspout/logspout-compose.yml \
|
||||
-f extensions/fleet/fleet-compose.yml \
|
||||
-f extensions/fleet/agent-apmserver-compose.yml \
|
||||
-f extensions/metricbeat/metricbeat-compose.yml \
|
||||
|
@ -192,7 +162,6 @@ jobs:
|
|||
|
||||
docker compose \
|
||||
-f docker-compose.yml \
|
||||
-f extensions/logspout/logspout-compose.yml \
|
||||
-f extensions/fleet/fleet-compose.yml \
|
||||
-f extensions/fleet/agent-apmserver-compose.yml \
|
||||
-f extensions/metricbeat/metricbeat-compose.yml \
|
||||
|
@ -221,7 +190,6 @@ jobs:
|
|||
run: >-
|
||||
docker compose
|
||||
-f docker-compose.yml
|
||||
-f extensions/logspout/logspout-compose.yml
|
||||
-f extensions/fleet/fleet-compose.yml
|
||||
-f extensions/fleet/agent-apmserver-compose.yml
|
||||
-f extensions/metricbeat/metricbeat-compose.yml
|
||||
|
|
|
@ -1,70 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -eu
|
||||
set -o pipefail
|
||||
|
||||
|
||||
source "${BASH_SOURCE[0]%/*}"/lib/testing.sh
|
||||
|
||||
|
||||
cid_es="$(container_id elasticsearch)"
|
||||
cid_ls="$(container_id logstash)"
|
||||
cid_lsp="$(container_id logspout)"
|
||||
|
||||
ip_es="$(service_ip elasticsearch)"
|
||||
ip_ls="$(service_ip logstash)"
|
||||
ip_lsp="$(service_ip logspout)"
|
||||
|
||||
grouplog 'Wait for readiness of Elasticsearch'
|
||||
poll_ready "$cid_es" "http://${ip_es}:9200/" -u 'elastic:testpasswd'
|
||||
endgroup
|
||||
|
||||
grouplog 'Wait for readiness of Logstash'
|
||||
poll_ready "$cid_ls" "http://${ip_ls}:9600/_node/pipelines/main?pretty"
|
||||
endgroup
|
||||
|
||||
grouplog 'Wait for readiness of Logspout'
|
||||
poll_ready "$cid_lsp" "http://${ip_lsp}/health"
|
||||
endgroup
|
||||
|
||||
# When Logspout starts, it prints the following log line:
|
||||
# 2021/01/07 16:14:52 # logspout v3.2.13-custom by gliderlabs
|
||||
#
|
||||
# which we expect to find by querying:
|
||||
# docker.image:"docker-elk-logspout" AND message:"logspout gliderlabs"~3
|
||||
#
|
||||
log 'Searching a log entry forwarded by Logspout'
|
||||
|
||||
declare response
|
||||
declare -i count
|
||||
|
||||
declare -i was_retried=0
|
||||
|
||||
# retry for max 60s (30*2s)
|
||||
for _ in $(seq 1 30); do
|
||||
response="$(curl "http://${ip_es}:9200/logs-generic-default/_search?q=docker.image:%22docker-elk-logspout%22%20AND%20message:%22logspout%20gliderlabs%22~3&pretty" -s -u elastic:testpasswd)"
|
||||
|
||||
set +u # prevent "unbound variable" if assigned value is not an integer
|
||||
count="$(jq -rn --argjson data "${response}" '$data.hits.total.value')"
|
||||
set -u
|
||||
|
||||
if (( count > 0 )); then
|
||||
break
|
||||
fi
|
||||
|
||||
was_retried=1
|
||||
echo -n 'x' >&2
|
||||
sleep 2
|
||||
done
|
||||
if ((was_retried)); then
|
||||
# flush stderr, important in non-interactive environments (CI)
|
||||
echo >&2
|
||||
fi
|
||||
|
||||
echo "$response"
|
||||
# Logspout may restart if Logstash isn't ready yet, so we tolerate multiple
|
||||
# results
|
||||
if (( count == 0 )); then
|
||||
echo 'Expected at least 1 document'
|
||||
exit 1
|
||||
fi
|
|
@ -1,6 +0,0 @@
|
|||
# Ignore Docker build files
|
||||
Dockerfile
|
||||
.dockerignore
|
||||
|
||||
# Ignore OS artifacts
|
||||
**/.DS_Store
|
|
@ -1,5 +0,0 @@
|
|||
# uses ONBUILD instructions described here:
|
||||
# https://github.com/gliderlabs/logspout/tree/master/custom
|
||||
|
||||
FROM gliderlabs/logspout:master
|
||||
ENV SYSLOG_FORMAT rfc3164
|
|
@ -1,28 +0,0 @@
|
|||
# Logspout extension
|
||||
|
||||
Logspout collects all Docker logs using the Docker logs API, and forwards them to Logstash without any additional
|
||||
configuration.
|
||||
|
||||
## Usage
|
||||
|
||||
If you want to include the Logspout extension, run Docker Compose from the root of the repository with an additional
|
||||
command line argument referencing the `logspout-compose.yml` file:
|
||||
|
||||
```bash
|
||||
$ docker-compose -f docker-compose.yml -f extensions/logspout/logspout-compose.yml up
|
||||
```
|
||||
|
||||
In your Logstash pipeline configuration, enable the `udp` input and set the input codec to `json`:
|
||||
|
||||
```logstash
|
||||
input {
|
||||
udp {
|
||||
port => 50000
|
||||
codec => json
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
<https://github.com/looplab/logspout-logstash>
|
|
@ -1,13 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# source: https://github.com/gliderlabs/logspout/blob/621524e/custom/build.sh
|
||||
|
||||
set -e
|
||||
apk add --update go build-base git mercurial ca-certificates
|
||||
cd /src
|
||||
go build -ldflags "-X main.Version=$1" -o /bin/logspout
|
||||
apk del go git mercurial build-base
|
||||
rm -rf /root/go /var/cache/apk/*
|
||||
|
||||
# backwards compatibility
|
||||
ln -fs /tmp/docker.sock /var/run/docker.sock
|
|
@ -1,19 +0,0 @@
|
|||
version: '3.7'
|
||||
|
||||
services:
|
||||
logspout:
|
||||
build:
|
||||
context: extensions/logspout
|
||||
volumes:
|
||||
- type: bind
|
||||
source: /var/run/docker.sock
|
||||
target: /var/run/docker.sock
|
||||
read_only: true
|
||||
environment:
|
||||
ROUTE_URIS: logstash://logstash:50000
|
||||
LOGSTASH_TAGS: docker-elk
|
||||
networks:
|
||||
- elk
|
||||
depends_on:
|
||||
- logstash
|
||||
restart: on-failure
|
|
@ -1,10 +0,0 @@
|
|||
package main
|
||||
|
||||
// installs the Logstash adapter for Logspout, and required dependencies
|
||||
// https://github.com/looplab/logspout-logstash
|
||||
import (
|
||||
_ "github.com/gliderlabs/logspout/healthcheck"
|
||||
_ "github.com/gliderlabs/logspout/transports/tcp"
|
||||
_ "github.com/gliderlabs/logspout/transports/udp"
|
||||
_ "github.com/looplab/logspout-logstash"
|
||||
)
|
Loading…
Reference in New Issue