Skip to content

Commit 1980786

Browse files
pfrcksAmol Agrawal
and
Amol Agrawal
authored
enable syslog collection for cosmic (#1282)
* enable syslog collection for cosmic --------- Co-authored-by: Amol Agrawal <[email protected]>
1 parent 8e3a8a8 commit 1980786

File tree

3 files changed

+60
-34
lines changed

3 files changed

+60
-34
lines changed

build/linux/installer/scripts/livenessprobe.sh

+26-19
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,33 @@
11
#!/bin/bash
22
source /opt/env_vars
33

4-
if [[ "${CONTROLLER_TYPE}" == "DaemonSet" && "${CONTAINER_TYPE}" != "PrometheusSidecar" ]]; then
5-
syslog_status=$(cat /var/opt/microsoft/docker-cimprov/state/syslog.status 2>/dev/null)
6-
if grep -qr LINUX_SYSLOGS_BLOB /etc/mdsd.d/config-cache/configchunks > /dev/null 2>&1; then
7-
if [[ "$syslog_status" == "disabled" ]]; then
8-
echo "enabled" > /var/opt/microsoft/docker-cimprov/state/syslog.status
9-
[ -d "/var/run/mdsd-ci" ] && cp /etc/opt/microsoft/docker-cimprov/70-rsyslog-forward-mdsd-ci.conf /var/run/mdsd-ci && echo "add" > /var/run/mdsd-ci/update.status
10-
fi
11-
else
12-
if [[ "$syslog_status" == "enabled" ]]; then
13-
echo "disabled" > /var/opt/microsoft/docker-cimprov/state/syslog.status
14-
[ -f "/var/run/mdsd-ci/70-rsyslog-forward-mdsd-ci.conf" ] && rm /var/run/mdsd-ci/70-rsyslog-forward-mdsd-ci.conf && echo "remove" > /var/run/mdsd-ci/update.status
15-
fi
16-
fi
4+
syslogSetup() {
5+
syslog_status=$(cat /var/opt/microsoft/docker-cimprov/state/syslog.status 2>/dev/null)
6+
if grep -qr LINUX_SYSLOGS_BLOB /etc/mdsd.d/config-cache/configchunks > /dev/null 2>&1; then
7+
if [[ "$syslog_status" == "disabled" ]]; then
8+
echo "enabled" > /var/opt/microsoft/docker-cimprov/state/syslog.status
9+
[ -d "/var/run/mdsd-ci" ] && cp /etc/opt/microsoft/docker-cimprov/70-rsyslog-forward-mdsd-ci.conf /var/run/mdsd-ci && echo "add" > /var/run/mdsd-ci/update.status
10+
fi
11+
else
12+
if [[ "$syslog_status" == "enabled" ]]; then
13+
echo "disabled" > /var/opt/microsoft/docker-cimprov/state/syslog.status
14+
[ -f "/var/run/mdsd-ci/70-rsyslog-forward-mdsd-ci.conf" ] && rm /var/run/mdsd-ci/70-rsyslog-forward-mdsd-ci.conf && echo "remove" > /var/run/mdsd-ci/update.status
15+
fi
16+
fi
17+
}
1718

18-
CURRENT_LOGS_AND_EVENTS_ONLY=${LOGS_AND_EVENTS_ONLY}
19-
ruby /opt/dcr-config-parser.rb > /dev/write-to-traces 2>&1
20-
source /opt/dcr_env_var
21-
if [ "${LOGS_AND_EVENTS_ONLY}" != "${CURRENT_LOGS_AND_EVENTS_ONLY}" ]; then
22-
echo "dcr_env_var has been updated - dcr config changed" > /dev/termination-log
23-
exit 1
19+
if [[ "${CONTROLLER_TYPE}" == "DaemonSet" ]]; then
20+
if [[ "${CONTAINER_TYPE}" == "PrometheusSidecar" && "${GENEVA_LOGS_INTEGRATION}" == "true" && -d "/var/run/mdsd-ci" ]]; then
21+
syslogSetup
22+
else
23+
syslogSetup
24+
CURRENT_LOGS_AND_EVENTS_ONLY=${LOGS_AND_EVENTS_ONLY}
25+
ruby /opt/dcr-config-parser.rb > /dev/write-to-traces 2>&1
26+
source /opt/dcr_env_var
27+
if [ "${LOGS_AND_EVENTS_ONLY}" != "${CURRENT_LOGS_AND_EVENTS_ONLY}" ]; then
28+
echo "dcr_env_var has been updated - dcr config changed" > /dev/termination-log
29+
exit 1
30+
fi
2431
fi
2532
fi
2633

kubernetes/ama-logs.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,8 @@ spec:
547547
value: "PrometheusSidecar"
548548
- name: CONTROLLER_TYPE
549549
value: "DaemonSet"
550+
- name: SYSLOG_HOST_PORT
551+
value: "28330"
550552
- name: NODE_IP
551553
valueFrom:
552554
fieldRef:
@@ -567,6 +569,8 @@ spec:
567569
- name: kube-api-access
568570
mountPath: /var/run/secrets/kubernetes.io/serviceaccount
569571
readOnly: true
572+
- mountPath: /var/run/mdsd-ci
573+
name: mdsd-sock
570574
- mountPath: /var/run/mdsd-PrometheusSidecar
571575
name: mdsd-prometheus-sock
572576
- mountPath: /etc/kubernetes/host

kubernetes/linux/main.sh

+30-15
Original file line numberDiff line numberDiff line change
@@ -660,6 +660,8 @@ else
660660
true > /etc/opt/microsoft/docker-cimprov/fluent-bit-internal-metrics.conf
661661
fi
662662

663+
setGlobalEnvVar GENEVA_LOGS_INTEGRATION "${GENEVA_LOGS_INTEGRATION}"
664+
663665
if [ "${CONTAINER_TYPE}" != "PrometheusSidecar" ] && [ "${GENEVA_LOGS_INTEGRATION_SERVICE_MODE}" != "true" ]; then
664666
#Parse the configmap to set the right environment variables.
665667
ruby tomlparser.rb
@@ -998,6 +1000,18 @@ else
9981000
echo "MDSD backpressure threshold not set since tail_mem_buf_limit_megabytes is used in configmap. Use backpressure_memory_threshold_in_mb in configmap to set it."
9991001
fi
10001002

1003+
if [ -n "$SYSLOG_HOST_PORT" ] && [ "$SYSLOG_HOST_PORT" != "28330" ]; then
1004+
echo "Updating rsyslog config file with non default SYSLOG_HOST_PORT value ${SYSLOG_HOST_PORT}"
1005+
if sed -i "s/Port=\"[0-9]*\"/Port=\"$SYSLOG_HOST_PORT\"/g" /etc/opt/microsoft/docker-cimprov/70-rsyslog-forward-mdsd-ci.conf; then
1006+
echo "Successfully updated the rsylog config file."
1007+
else
1008+
echo "Failed to update the rsyslog config file."
1009+
fi
1010+
else
1011+
echo "SYSLOG_HOST_PORT is ${SYSLOG_HOST_PORT}. No changes made."
1012+
fi
1013+
SYSLOG_PORT_CONFIG="-y 0" # disables syslog listener for mdsd
1014+
10011015
if [ "${CONTAINER_TYPE}" == "PrometheusSidecar" ]; then
10021016
if [ "${MUTE_PROM_SIDECAR}" != "true" ]; then
10031017
echo "starting mdsd with mdsd-port=26130, fluentport=26230 and influxport=26330 in sidecar container..."
@@ -1009,8 +1023,15 @@ if [ "${CONTAINER_TYPE}" == "PrometheusSidecar" ]; then
10091023
echo "export MDSD_ROLE_PREFIX=$MDSD_ROLE_PREFIX" >> ~/.bashrc
10101024
source ~/.bashrc
10111025
mkdir -p /var/run/mdsd-${CONTAINER_TYPE}
1026+
if [[ "${GENEVA_LOGS_INTEGRATION}" == "true" && -d "/var/run/mdsd-ci" && -n "${SYSLOG_HOST_PORT}" ]]; then
1027+
echo "enabling syslog listener for mdsd in prometheus sidecar container"
1028+
export MDSD_DEFAULT_TCP_SYSLOG_PORT=$SYSLOG_HOST_PORT
1029+
echo "export MDSD_DEFAULT_TCP_SYSLOG_PORT=$MDSD_DEFAULT_TCP_SYSLOG_PORT" >> ~/.bashrc
1030+
source ~/.bashrc
1031+
SYSLOG_PORT_CONFIG="" # enable syslog listener for mdsd for prometheus sidecar in geneva mode
1032+
fi
10121033
# add -T 0xFFFF for full traces
1013-
mdsd ${MDSD_AAD_MSI_AUTH_ARGS} -r ${MDSD_ROLE_PREFIX} -p 26130 -f 26230 -i 26330 -y 0 -e ${MDSD_LOG}/mdsd.err -w ${MDSD_LOG}/mdsd.warn -o ${MDSD_LOG}/mdsd.info -q ${MDSD_LOG}/mdsd.qos &
1034+
mdsd ${MDSD_AAD_MSI_AUTH_ARGS} -r ${MDSD_ROLE_PREFIX} -p 26130 -f 26230 -i 26330 "${SYSLOG_PORT_CONFIG}" -e ${MDSD_LOG}/mdsd.err -w ${MDSD_LOG}/mdsd.warn -o ${MDSD_LOG}/mdsd.info -q ${MDSD_LOG}/mdsd.qos &
10141035
else
10151036
echo "not starting mdsd (no metrics to scrape since MUTE_PROM_SIDECAR is true)"
10161037
fi
@@ -1019,24 +1040,18 @@ else
10191040
if isHighLogScaleMode; then
10201041
startAMACoreAgent
10211042
fi
1022-
# add -T 0xFFFF for full traces
10231043
export MDSD_ROLE_PREFIX=/var/run/mdsd-ci/default
10241044
echo "export MDSD_ROLE_PREFIX=$MDSD_ROLE_PREFIX" >> ~/.bashrc
1025-
if [ -n "$SYSLOG_HOST_PORT" ] && [ "$SYSLOG_HOST_PORT" != "28330" ]; then
1026-
echo "Updating rsyslog config file with non default SYSLOG_HOST_PORT value ${SYSLOG_HOST_PORT}"
1027-
if sed -i "s/Port=\"[0-9]*\"/Port=\"$SYSLOG_HOST_PORT\"/g" /etc/opt/microsoft/docker-cimprov/70-rsyslog-forward-mdsd-ci.conf; then
1028-
echo "Successfully updated the rsylog config file."
1029-
else
1030-
echo "Failed to update the rsyslog config file."
1031-
fi
1032-
else
1033-
echo "SYSLOG_HOST_PORT is ${SYSLOG_HOST_PORT}. No changes made."
1045+
if [[ "${GENEVA_LOGS_INTEGRATION}" != "true" ]]; then
1046+
echo "enabling syslog listener for mdsd in main container"
1047+
export MDSD_DEFAULT_TCP_SYSLOG_PORT=28330
1048+
echo "export MDSD_DEFAULT_TCP_SYSLOG_PORT=$MDSD_DEFAULT_TCP_SYSLOG_PORT" >> ~/.bashrc
1049+
source ~/.bashrc
1050+
SYSLOG_PORT_CONFIG="" # enable syslog listener for mdsd for main container when not in geneva mode
10341051
fi
1035-
export MDSD_DEFAULT_TCP_SYSLOG_PORT=28330
1036-
echo "export MDSD_DEFAULT_TCP_SYSLOG_PORT=$MDSD_DEFAULT_TCP_SYSLOG_PORT" >> ~/.bashrc
1037-
source ~/.bashrc
10381052
mkdir -p /var/run/mdsd-ci
1039-
mdsd ${MDSD_AAD_MSI_AUTH_ARGS} -r ${MDSD_ROLE_PREFIX} -e ${MDSD_LOG}/mdsd.err -w ${MDSD_LOG}/mdsd.warn -o ${MDSD_LOG}/mdsd.info -q ${MDSD_LOG}/mdsd.qos 2>>/dev/null &
1053+
# add -T 0xFFFF for full traces
1054+
mdsd ${MDSD_AAD_MSI_AUTH_ARGS} -r ${MDSD_ROLE_PREFIX} "${SYSLOG_PORT_CONFIG}" -e ${MDSD_LOG}/mdsd.err -w ${MDSD_LOG}/mdsd.warn -o ${MDSD_LOG}/mdsd.info -q ${MDSD_LOG}/mdsd.qos 2>>/dev/null &
10401055
fi
10411056

10421057
# # Set up a cron job for logrotation

0 commit comments

Comments
 (0)