Skip to content

Commit

Permalink
Merge pull request #252 from splunk/feature/check-config-version
Browse files Browse the repository at this point in the history
Multiple startup fixes
  • Loading branch information
Ryan Faircloth authored and GitHub committed Dec 20, 2019
2 parents c930a66 + e9cc6f9 commit a68846f
Show file tree
Hide file tree
Showing 8 changed files with 82 additions and 7 deletions.
8 changes: 5 additions & 3 deletions package/etc/conf.d/log_paths/internal.conf.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,19 @@ log {

} else {

{{- if eq (getenv "SC4S_DEBUG_STDOUT" "yes") "yes"}}
destination(d_stdout);
{{- end}}
rewrite { r_set_splunk_dest_default(sourcetype("sc4s:events"), index("main"))};
parser {p_add_context_splunk(key("sc4s_events")); };

{{- if ((getenv "SC4S_DEST_SPLUNK_HEC_GLOBAL" "yes") | conv.ToBool) or (conv.ToBool (getenv "SC4S_DEST_INTERNAL_EVENTS_HEC" "no") | conv.ToBool) }}
destination(d_hec_internal);
{{- end}}

{{- if eq (getenv "SC4S_DEBUG_STDOUT" "yes") "yes"}}
destination(d_stdout);
{{- end}}

};
flags(flow-control,final);
};
{{- end}}
{{- tmpl.Exec "log_path" "yes" }}
37 changes: 37 additions & 0 deletions package/etc/conf.d/log_paths/startup.conf.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{{- define "log_path"}}
log {
source(s_startup_out);


rewrite { r_set_splunk_dest_default(sourcetype("sc4s:events"), index("main"))};
parser {p_add_context_splunk(key("sc4s_events:startup:out")); };

{{- if ((getenv "SC4S_DEST_SPLUNK_HEC_GLOBAL" "yes") | conv.ToBool) or (conv.ToBool (getenv "SC4S_DEST_INTERNAL_EVENTS_HEC" "no") | conv.ToBool) }}
destination(d_hec_internal);
{{- end}}

{{- if eq (getenv "SC4S_DEBUG_STDOUT" "yes") "yes"}}
destination(d_stdout);
{{- end}}

flags(flow-control,final);
};
log {
source(s_startup_err);


rewrite { r_set_splunk_dest_default(sourcetype("sc4s:events:startup:err"), index("main"))};
parser {p_add_context_splunk(key("sc4s_events")); };

{{- if ((getenv "SC4S_DEST_SPLUNK_HEC_GLOBAL" "yes") | conv.ToBool) or (conv.ToBool (getenv "SC4S_DEST_INTERNAL_EVENTS_HEC" "no") | conv.ToBool) }}
destination(d_hec_internal);
{{- end}}

{{- if eq (getenv "SC4S_DEBUG_STDOUT" "yes") "yes"}}
destination(d_stdout);
{{- end}}

flags(flow-control,final);
};
{{- end}}
{{- tmpl.Exec "log_path" "yes" }}
13 changes: 13 additions & 0 deletions package/etc/conf.d/sources/startup.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
source s_startup_out {
file("/var/log/syslog-ng.out"
program-override("syslog-ng-config")
flags(no-hostname,no-parse,assume-utf8)
);

};
source s_startup_err {
file("/var/log/syslog-ng.err"
program-override("syslog-ng-config")
flags(no-hostname,no-parse,assume-utf8)
);
};
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
@version: 3.24
filter f_test_test {
# host("something-*" type(glob)) or
# netmask(169.254.100.0/24)
Expand Down
2 changes: 0 additions & 2 deletions package/etc/context_templates/vendor_product_by_source.conf
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
@version: 3.24

filter f_test_test {
host("testvp-*" type(glob))
#or netmask(xxx.xxx.xxx.xxx/xx)
Expand Down
2 changes: 1 addition & 1 deletion package/etc/syslog-ng.conf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@version:3.24
@version:3.25

# syslog-ng configuration file.
#
Expand Down
3 changes: 3 additions & 0 deletions package/sbin/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,8 @@ mkdir -p /opt/syslog-ng/etc/conf.d/local/config/
cp --verbose -n /opt/syslog-ng/etc/context_templates/* /opt/syslog-ng/etc/conf.d/local/context/
cp --verbose -R /opt/syslog-ng/etc/local_config/* /opt/syslog-ng/etc/conf.d/local/config/

echo syslog-ng checking config
/opt/syslog-ng/sbin/syslog-ng -s >/var/log/syslog-ng.out 2>/var/log/syslog-ng.err

echo syslog-ng starting
exec /opt/syslog-ng/sbin/syslog-ng $@
23 changes: 23 additions & 0 deletions tests/test_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,3 +149,26 @@ def test_tz_fix_ny(record_property, setup_wordlist, setup_splunk):
record_property("message", message)

assert resultCount == 1


def test_check_config_version(record_property, setup_wordlist, setup_splunk):

st = env.from_string("search index=main sourcetype=\"sc4s:events:startup:err\" \"Configuration file format is too old\" ")
search = st.render()

resultCount, eventCount = splunk_single(setup_splunk, search)

record_property("resultCount", resultCount)

assert resultCount == 0

def test_check_config_version_multiple(record_property, setup_wordlist, setup_splunk):

st = env.from_string("search index=main sourcetype=\"sc4s:events:startup:err\" \"you have multiple @version directives\" ")
search = st.render()

resultCount, eventCount = splunk_single(setup_splunk, search)

record_property("resultCount", resultCount)

assert resultCount == 0

0 comments on commit a68846f

Please sign in to comment.