Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: remove goss from healthcheck #2600

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/agreements.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: "CLA Assistant"
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
# Alpha Release
uses: contributor-assistant/github-action@v2.4.0
uses: contributor-assistant/github-action@v2.6.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# the below token should have repo scope and must be manually added by you in the repository's secret
Expand All @@ -43,7 +43,7 @@ jobs:
- name: "COC Assistant"
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the Code of Conduct and I hereby accept the Terms') || github.event_name == 'pull_request_target'
# Alpha Release
uses: contributor-assistant/github-action@v2.4.0
uses: contributor-assistant/github-action@v2.6.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# the below token should have repo scope and must be manually added by you in the repository's secret
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-lite.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ jobs:
type=ref,event=tag
- name: matrix
id: matrix
uses: splunk/addonfactory-test-matrix-action@v1.13.1
uses: splunk/addonfactory-test-matrix-action@v2.1.8

security-fossa-scan:
continue-on-error: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ jobs:
type=ref,event=tag
- name: matrix
id: matrix
uses: splunk/addonfactory-test-matrix-action@v1.13.1
uses: splunk/addonfactory-test-matrix-action@v2.1.8

security-fossa-scan:
continue-on-error: true
Expand Down
4 changes: 2 additions & 2 deletions ansible/resources/podman_sc4s.service
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ ExecStart=/usr/bin/podman run \
-v "$SC4S_ARCHIVE_MOUNT" \
-v "$SC4S_TLS_MOUNT" \
--env-file=/opt/sc4s/env_file \
--health-cmd="/healthcheck.sh" \
--health-interval=10s --health-retries=6 --health-timeout=6s \
--health-cmd="/usr/sbin/syslog-ng-ctl healthcheck --timeout 5" \
--health-interval=2m --health-retries=6 --health-timeout=5s \
mstopa-splunk marked this conversation as resolved.
Show resolved Hide resolved
--network host \
--name SC4S \
--rm $SC4S_IMAGE
Expand Down
13 changes: 4 additions & 9 deletions charts/splunk-connect-for-syslog/templates/statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -134,9 +134,6 @@ spec:
- name: ietf-dflt-tls
containerPort: 5425
protocol: TCP
- name: health
containerPort: 8080
protocol: TCP
{{- if .Values.sc4s }}
{{- if .Values.sc4s.vendor_product }}
{{- range $vp := .Values.sc4s.vendor_product }}
Expand Down Expand Up @@ -216,16 +213,14 @@ spec:
readOnly: true
{{- end }}
livenessProbe:
httpGet:
path: /healthz
port: 8080
exec:
command: ["syslog-ng-ctl", "healthcheck", "--timeout", "5"]
initialDelaySeconds: 10
periodSeconds: 3
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /healthz
port: 8080
exec:
command: ["syslog-ng-ctl", "healthcheck", "--timeout", "5"]
initialDelaySeconds: 10
failureThreshold: 60
periodSeconds: 10
Expand Down
14 changes: 12 additions & 2 deletions docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,16 @@ A syntax error will cause the runtime process to abort in the "preflight" phase

To update your changes, restart SC4S.

### Set source value as 'sc4s'

User can set the source field value to 'sc4s' by using the `SC4S_SET_SOURCE_AS_SC4S` variable.

**Note:** If the source field value is specified in a local parser or the splunk_metadata.csv file, it will take precedence over the `SC4S_SET_SOURCE_AS_SC4S` variable and overwrite the source field value.

| Variable | Values | Description |
|----------|---------------|-------------|
| SC4S_SET_SOURCE_AS_SC4S | yes or no(default) | Set the source field value to 'sc4s'. |

## Drop all data by IP or subnet (deprecated)

Using `vendor_product_by_source` to null queue is now a deprecated task. See the supported method for dropping data in [Filtering events from output](https://splunk.github.io/splunk-connect-for-syslog/main/sources/#filtering-events-from-output).
Expand Down Expand Up @@ -324,8 +334,8 @@ ExecStart=/usr/bin/podman run \
-v "$SC4S_TLS_MOUNT" \
--privileged \
--env-file=/opt/sc4s/env_file \
--health-cmd="/healthcheck.sh" \
--health-interval=10s --health-retries=6 --health-timeout=6s \
--health-cmd="/usr/sbin/syslog-ng-ctl healthcheck --timeout 5" \
--health-interval=2m --health-retries=6 --health-timeout=5s \
--network host \
--name SC4S \
--rm $SC4S_IMAGE
Expand Down
1 change: 0 additions & 1 deletion docs/gettingstarted/ansible-docker-podman.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,6 @@ SC4S_ENV_CHECK_HEC: Splunk HEC connection test successful to index=main for sour
SC4S_ENV_CHECK_HEC: Splunk HEC connection test successful to index=main for sourcetype=sc4s:events...
syslog-ng checking config
sc4s version=v1.36.0
starting goss
ikheifets-splunk marked this conversation as resolved.
Show resolved Hide resolved
starting syslog-ng
```

Expand Down
1 change: 0 additions & 1 deletion docs/gettingstarted/ansible-docker-swarm.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@ SC4S_ENV_CHECK_HEC: Splunk HEC connection test successful to index=main for sour
SC4S_ENV_CHECK_HEC: Splunk HEC connection test successful to index=main for sourcetype=sc4s:events...
syslog-ng checking config
sc4s version=v1.36.0
starting goss
starting syslog-ng
```

Expand Down
1 change: 0 additions & 1 deletion docs/gettingstarted/ansible-mk8s.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,5 @@ SC4S_ENV_CHECK_HEC: Splunk HEC connection test successful to index=main for sour
SC4S_ENV_CHECK_HEC: Splunk HEC connection test successful to index=main for sourcetype=sc4s:events...
syslog-ng checking config
sc4s version=v1.36.0
starting goss
starting syslog-ng
```
1 change: 0 additions & 1 deletion docs/gettingstarted/docker-compose-MacOS.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,6 @@ You should see events similar to those below in the output:
```ini
syslog-ng checking config
sc4s version=v1.36.0
starting goss
starting syslog-ng
```

Expand Down
1 change: 0 additions & 1 deletion docs/gettingstarted/docker-compose.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,6 @@ You should see events similar to those below in the output:
```ini
syslog-ng checking config
sc4s version=v1.36.0
starting goss
starting syslog-ng
```

Expand Down
1 change: 0 additions & 1 deletion docs/gettingstarted/docker-systemd-general.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,6 @@ You should see events similar to those below in the output:
```ini
syslog-ng checking config
sc4s version=v1.36.0
starting goss
starting syslog-ng
```

Expand Down
5 changes: 2 additions & 3 deletions docs/gettingstarted/podman-systemd-general.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ You should see events similar to those below in the output:
```ini
syslog-ng checking config
sc4s version=v1.36.0
starting goss
starting syslog-ng
```

Expand Down Expand Up @@ -178,8 +177,8 @@ ExecStart=/usr/bin/podman run -p 2514:514 -p 2514:514/udp -p 6514:6514 \
-v "$SC4S_ARCHIVE_MOUNT" \
-v "$SC4S_TLS_MOUNT" \
--env-file=/home/sc4s/env_file \
--health-cmd="/healthcheck.sh" \
--health-interval=10s --health-retries=6 --health-timeout=6s \
--health-cmd="/usr/sbin/syslog-ng-ctl healthcheck --timeout 5" \
--health-interval=2m --health-retries=6 --health-timeout=5s \
--network host \
--name SC4S \
--rm $SC4S_IMAGE
Expand Down
4 changes: 2 additions & 2 deletions docs/resources/podman/sc4s.service
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ ExecStart=/usr/bin/podman run \
-v "$SC4S_ARCHIVE_MOUNT" \
-v "$SC4S_TLS_MOUNT" \
--env-file=/opt/sc4s/env_file \
--health-cmd="/healthcheck.sh" \
--health-interval=10s --health-retries=6 --health-timeout=6s \
--health-cmd="/usr/sbin/syslog-ng-ctl healthcheck --timeout 5" \
--health-interval=2m --health-retries=6 --health-timeout=5s \
--network host \
--name SC4S \
--rm $SC4S_IMAGE
Expand Down
1 change: 0 additions & 1 deletion docs/v3_upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ SC4S_ENV_CHECK_HEC: Splunk HEC connection test successful to index=main for sour
SC4S_ENV_CHECK_HEC: Splunk HEC connection test successful to index=main for sourcetype=sc4s:events...
syslog-ng checking config
sc4s version=3.0.0
starting goss
starting syslog-ng
```

Expand Down
6 changes: 1 addition & 5 deletions package/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ RUN apk add -U --upgrade --no-cache \
cargo \
ca-certificates \
poetry \
&& curl -fsSL https://goss.rocks/install | GOSS_VER=v0.4.8 sh \
&& groupadd --gid 1024 syslog \
&& useradd -M -g 1024 -u 1024 syslog \
&& usermod -L syslog \
Expand All @@ -56,9 +55,7 @@ EXPOSE 6514/tcp
#/dev/log a low priv user cannot read this and the container will fail in SC4S
#and other uses the low user may be selected

HEALTHCHECK --interval=10s --retries=6 --timeout=6s CMD /healthcheck.sh

COPY package/etc/goss.yaml /etc/syslog-ng/goss.yaml
HEALTHCHECK --interval=2m --timeout=5s --start-period=30s CMD /usr/sbin/syslog-ng-ctl healthcheck --timeout 5

COPY pyproject.toml /
COPY poetry.lock /
Expand All @@ -75,7 +72,6 @@ COPY package/etc/test_parsers /etc/syslog-ng/test_parsers
COPY package/etc/local_config /etc/syslog-ng/local_config
COPY package/etc/local_config /etc/syslog-ng/local_config
COPY package/sbin/entrypoint.sh /
COPY package/sbin/healthcheck.sh /
COPY package/sbin/source_ports_validator.py /

ENV SC4S_CONTAINER_OPTS=--no-caps
Expand Down
6 changes: 1 addition & 5 deletions package/Dockerfile.lite
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ RUN apk add -U --upgrade --no-cache \
cargo \
ca-certificates \
poetry \
&& curl -fsSL https://goss.rocks/install | GOSS_VER=v0.4.8 sh \
&& groupadd --gid 1024 syslog \
&& useradd -M -g 1024 -u 1024 syslog \
&& usermod -L syslog \
Expand All @@ -56,9 +55,7 @@ EXPOSE 6514/tcp
#/dev/log a low priv user cannot read this and the container will fail in SC4S
#and other uses the low user may be selected

HEALTHCHECK --interval=10s --retries=6 --timeout=6s CMD /healthcheck.sh

COPY package/etc/goss.yaml /etc/syslog-ng/goss.yaml
HEALTHCHECK --interval=2m --timeout=5s --start-period=30s CMD /usr/sbin/syslog-ng-ctl healthcheck --timeout 5

COPY pyproject.toml /
COPY poetry.lock /
Expand Down Expand Up @@ -97,7 +94,6 @@ COPY package/lite/etc/config.yaml /etc/syslog-ng/config.yaml
COPY package/lite/etc/addons /etc/syslog-ng/addons

COPY package/sbin/entrypoint.sh /
COPY package/sbin/healthcheck.sh /
COPY package/sbin/source_ports_validator.py /


Expand Down
11 changes: 11 additions & 0 deletions package/etc/conf.d/sources/source_syslog/plugin.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,11 @@ source s_{{ port_id }} {
};
};

{%- if set_source_sc4s == True %}
rewrite {
set("sc4s", value(".splunk.source"));
};
{%- endif %}

rewrite {
set($FACILITY, value("fields.sc4s_syslog_facility") condition(match('facility' template('`SC4S_DEST_SPLUNK_INDEXED_FIELDS`') type(string) flags(substring))));
Expand Down Expand Up @@ -475,6 +480,12 @@ source s_{{ port_id }} {
parser(app-group-sc4s-fallback);
};

{%- if set_source_sc4s == True %}
rewrite {
set("sc4s", value(".splunk.source"));
};
{%- endif %}

rewrite {
set($FACILITY, value("fields.sc4s_syslog_facility") condition(match('facility' template('`SC4S_DEST_SPLUNK_INDEXED_FIELDS`') type(string) flags(substring))));
set($LEVEL, value("fields.sc4s_syslog_severity") condition(match('severity' template('`SC4S_DEST_SPLUNK_INDEXED_FIELDS`') type(string) flags(substring)) ));
Expand Down
1 change: 1 addition & 0 deletions package/etc/conf.d/sources/source_syslog/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,5 +133,6 @@ def normalize_env_variable_input(env_variable: str):
ebpf_no_sockets=int(os.getenv("SC4S_EBPF_NO_SOCKETS", 4)),
enable_parallelize=normalize_env_variable_input(f"SC4S_ENABLE_PARALLELIZE"),
parallelize_no_partitions=int(os.getenv(f"SC4S_PARALLELIZE_NO_PARTITION", 4)),
set_source_sc4s=normalize_env_variable_input("SC4S_SET_SOURCE_AS_SC4S"),
)
print(outputText)
12 changes: 0 additions & 12 deletions package/etc/goss.yaml

This file was deleted.

7 changes: 0 additions & 7 deletions package/sbin/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -224,13 +224,6 @@ echo sc4s version=$(cat $SC4S_ETC/VERSION)
echo sc4s version=$(cat $SC4S_ETC/VERSION) >>$SC4S_VAR/log/syslog-ng.out
$SC4S_SBIN/syslog-ng --no-caps $SC4S_CONTAINER_OPTS -s >>$SC4S_VAR/log/syslog-ng.out 2>$SC4S_VAR/log/syslog-ng.err

# Use goss to pick up default listening ports for health check
if command -v goss &> /dev/null
then
echo starting goss
goss -g $SC4S_ETC/goss.yaml serve -l 0.0.0.0:$SC4S_LISTEN_STATUS_PORT --format json >/dev/null 2>/dev/null &
fi

# OPTIONAL for BYOE: Comment out/remove all remaining lines and launch syslog-ng directly from systemd
if [ "${SC4S_DEBUG_CONTAINER}" == "yes" ]
then
Expand Down
4 changes: 0 additions & 4 deletions package/sbin/healthcheck.sh

This file was deleted.

Loading