12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #!/bin/bash
- set -x
- LOG_DIR=$(mktemp -d)
- trap "{ rm -rf $LOG_DIR }" EXIT
- SYSTEMD_SERVICES=("dnsmasq NetworkManager atomic-openshift-node origin-node")
- since_docker="24h"
- since_systemd="24 hour ago"
- # Dump systemd services logs
- for name in ${SYSTEMD_SERVICES} ; do
- dump_file_path=${LOG_DIR}/${name}.log
- journalctl -u ${name}.service --since "${since_systemd}" > $dump_file_path
- done
- # Dump command output
- ip a > ${LOG_DIR}/ip_a.log
- netstat -antu > ${LOG_DIR}/netstat_antu.log
- dmesg > ${LOG_DIR}/dmesg.log
- route -n > ${LOG_DIR}/route_n.log
- ss -ntpl > ${LOG_DIR}/ss_ntpl.log
- cat /etc/resolv.conf > ${LOG_DIR}/resolve_conf.log
- df -h > ${LOG_DIR}/df_h.log
- vmstat 2 20 > ${LOG_DIR}/vmstat_2_20.log
- mount > ${LOG_DIR}/mount.log
- for table in filter nat; do
- iptables -t $table -nvL > ${LOG_DIR}/iptables_$table.log
- done
- # Dump system journal
- journalctl --since "${since_systemd}" > ${LOG_DIR}/journalctl.log
- # Dump sdn container logs
- uid=$(docker ps -l -a --filter "label=io.kubernetes.container.name=sdn" --format '{{ .Label "io.kubernetes.pod.uid" }}')
- if [[ ! -z "${uid}" ]]; then
- container=$(docker ps -l -a -q --filter "label=io.kubernetes.pod.uid=${uid}" --filter "label=io.kubernetes.container.name=sdn")
- docker logs --since ${since_docker} "${container}" >& ${LOG_DIR}/sdn.log
- fi
- prefix=osa_node_$(hostname)_$(date +%Y%m%d%H%M%S)
- tar -czPf $prefix.tar.gz --xform="s|^$LOG_DIR|$prefix|" $LOG_DIR
- echo $prefix.tar.gz
|