Revision 45019897
Added by Alexis Mousset almost 7 years ago
techniques/system/common/1.0/promises.st | ||
---|---|---|
classes:
|
||
|
||
!android::
|
||
"rsyslogd" expression => fileexists("${rsyslog_conffile}");
|
||
"syslogng" expression => fileexists("${syslogng_conffile}");
|
||
"syslogd" expression => fileexists("${syslog_conffile}");
|
||
"rsyslogd_conffile_present" expression => fileexists("${rsyslog_conffile}"), scope => "namespace";
|
||
"syslogng_conffile_present" expression => fileexists("${syslogng_conffile}"), scope => "namespace";
|
||
"syslogd_conffile_present" expression => fileexists("${syslog_conffile}"), scope => "namespace";
|
||
|
||
any::
|
||
"use_udp" expression => strcmp("&RUDDER_SYSLOG_PROTOCOL&", "UDP");
|
||
... | ... | |
|
||
files:
|
||
|
||
!windows.rsyslogd::
|
||
!windows.rsyslogd_conffile_present::
|
||
"${rsyslog_conffile}"
|
||
edit_line => append_if_no_lines("$IncludeConfig /etc/rsyslog.d/*.conf"),
|
||
edit_defaults => noempty_backup,
|
||
comment => "Add the rsyslog.conf.d include if not already present",
|
||
classes => kept_if_else("rsyslog_kept", "rsyslog_repaired" , "rsyslog_failed");
|
||
|
||
(rsyslog_version_5_6_4_ok|rsyslog_version_5_6_4_not_ok).!windows.rsyslogd.!policy_server::
|
||
(rsyslog_version_5_6_4_ok|rsyslog_version_5_6_4_not_ok).!windows.rsyslogd_conffile_present.!policy_server::
|
||
"${rsyslog_rudder_conffile}"
|
||
edit_line => append_if_no_lines("#Rudder log system${const.n}${rsyslogd_message_reduction}${const.n}if $syslogfacility-text == 'local6' and $programname startswith 'rudder' then ${rsyslog_rule_prefix}${server_info.cfserved}:&SYSLOGPORT&${const.n}if $syslogfacility-text == 'local6' and $programname startswith 'rudder' then ~${const.n}if $syslogfacility-text == 'local6' and $programname startswith 'cf-agent' then ${rsyslog_rule_prefix}${server_info.cfserved}:&SYSLOGPORT&${const.n}if $syslogfacility-text == 'local6' and $programname startswith 'cf-agent' then ~"),
|
||
create => "true",
|
||
edit_defaults => empty_backup,
|
||
classes => rudder_common_classes("rsyslog");
|
||
|
||
SuSE.rsyslogd.policy_server::
|
||
SuSE.rsyslogd_conffile_present.policy_server::
|
||
# For SuSE, ensure that SYSLOG_DAEMON is set to 'rsyslogd' even if another syslog has been installed before
|
||
"/etc/sysconfig/syslog"
|
||
edit_line => ensure_rsyslogd_on_suse,
|
||
edit_defaults => noempty_backup,
|
||
classes => rudder_common_classes("rsyslog");
|
||
|
||
!windows.syslogng.!policy_server::
|
||
!windows.syslogng_conffile_present.!policy_server::
|
||
"${syslogng_conffile}"
|
||
edit_line => edit_syslog_conf_file("${syslog_ng_conf}", "${syslog_ng_conf_regex}"),
|
||
edit_defaults => noempty_backup,
|
||
classes => rudder_common_classes("syslog_ng");
|
||
|
||
!windows.syslogd.!policy_server::
|
||
!windows.syslogd_conffile_present.!policy_server::
|
||
"${syslog_conffile}"
|
||
edit_line => fix_syslogd("@${server_info.cfserved}"),
|
||
edit_defaults => noempty_backup,
|
||
... | ... | |
|
||
methods:
|
||
|
||
pass2.syslogd::
|
||
pass2.syslogd_conffile_present::
|
||
"any" usebundle => rudder_common_report("Common", "log_info", "&TRACKINGKEY&", "Log system for reports", "None", "Detected running syslog as syslogd");
|
||
|
||
pass2.syslogng::
|
||
pass2.syslogng_conffile_present::
|
||
"any" usebundle => rudder_common_report("Common", "log_info", "&TRACKINGKEY&", "Log system for reports", "None", "Detected running syslog as syslog-ng");
|
||
|
||
pass2.rsyslogd::
|
||
pass2.rsyslogd_conffile_present::
|
||
"any" usebundle => rudder_common_report("Common", "log_info", "&TRACKINGKEY&", "Log system for reports", "None", "Detected running syslog as rsyslog");
|
||
|
||
pass3.(syslogd_failed|syslog_ng_failed|rsyslog_failed)::
|
||
... | ... | |
pass3.!(syslogd_failed|syslog_ng_failed|rsyslog_failed).(syslogd_repaired|syslog_ng_repaired|rsyslog_repaired)::
|
||
"any" usebundle => rudder_common_report("Common", "result_repaired", "&TRACKINGKEY&", "Log system for reports", "None", "Configured logging system for report centralization");
|
||
|
||
pass3.!(syslogd_failed|syslog_ng_failed|rsyslog_failed).!(syslogd_repaired|syslog_ng_repaired|rsyslog_repaired).(syslogd.syslogd_kept|syslogng.syslog_ng_kept|rsyslogd.rsyslog_kept))::
|
||
pass3.!(syslogd_failed|syslog_ng_failed|rsyslog_failed).!(syslogd_repaired|syslog_ng_repaired|rsyslog_repaired).(syslogd_conffile_present.syslogd_kept|syslogng_conffile_present.syslog_ng_kept|rsyslogd_conffile_present.rsyslog_kept))::
|
||
"any" usebundle => rudder_common_report("Common", "result_success", "&TRACKINGKEY&", "Log system for reports", "None", "Logging system for report centralization is already correctly configured");
|
||
|
||
pass3.android::
|
||
... | ... | |
|
||
commands:
|
||
|
||
rsyslogd.check_rsyslog_version_present::
|
||
rsyslogd_conffile_present.check_rsyslog_version_present::
|
||
# 5.6.4 is the first version mentionning RepeatedMsgReduction in http://www.rsyslog.com/change-log/
|
||
# The option is probably older though.
|
||
"${g.rudder_tools}/check-rsyslog-version 5.6.4"
|
techniques/system/common/1.0/restart-services.st | ||
---|---|---|
ifvarclass => "service_restart_rsyslog_not_ok|service_restart_syslog_ng_not_ok|service_restart_syslog_not_ok|${restart_cmd_class}_not_ok";
|
||
|
||
# Ensure at least one syslog is running
|
||
# We cannot detect which one is used for Rudder
|
||
!windows.!aix.!solaris::
|
||
# We cannot detect which one exist
|
||
"run_syslog" usebundle => service_ensure_running("syslog");
|
||
"run_syslogng" usebundle => service_ensure_running("syslog-ng");
|
||
"run_rsyslog" usebundle => service_ensure_running("rsyslog");
|
||
"run_syslog" usebundle => service_ensure_running("syslog"),
|
||
ifvarclass => "syslogd_conffile_present";
|
||
"run_syslogng" usebundle => service_ensure_running("syslog-ng"),
|
||
ifvarclass => "syslogng_conffile_present";
|
||
"run_rsyslog" usebundle => service_ensure_running("rsyslog"),
|
||
ifvarclass => "rsyslogd_conffile_present";
|
||
# We have a problem only if all 3 have an error (otherwise at least one is running)
|
||
!windows.!aix.!solaris.service_ensure_running_syslog_error.service_ensure_running_syslogng_error.service_ensure_running_rsyslog_error::
|
||
service_ensure_running_syslog_error.service_ensure_running_syslogng_error.service_ensure_running_rsyslog_error::
|
||
"any" usebundle => rudder_common_report("Common", "result_error", "&TRACKINGKEY&", "Log system for reports", "None", "Could not start the logging system");
|
||
}
|
Also available in: Unified diff
Fixes #10949: Agent output contains error because of new syslog service checks