Enhance iprsos to collect some missing log files. Signed-off-by: Brian King <brking@linux.vnet.ibm.com> Reviewed-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
120 lines
2.2 KiB
Bash
Executable file
120 lines
2.2 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# This script displays information about iprutils, IPR adapters and systemd services
|
|
# related to IPR. It will also create an sos report with iprutils information at $file
|
|
# when iprsos is invoked with "-o /path/to/file".
|
|
|
|
function _ipr_dump() {
|
|
echo "=== Running 'iprconfig -c dump' ==="
|
|
iprconfig -c dump
|
|
}
|
|
|
|
function _lspci() {
|
|
echo
|
|
echo "=== Running 'lspci' ==="
|
|
lspci
|
|
}
|
|
|
|
function _lsscsi() {
|
|
echo
|
|
echo "=== Running 'lsscsi' ==="
|
|
lsscsi
|
|
}
|
|
|
|
function _lsscsi_H() {
|
|
echo
|
|
echo "=== Running 'lsscsi -H' ==="
|
|
lsscsi -H
|
|
}
|
|
|
|
function _check_daemons() {
|
|
if which systemctl >/dev/null 2>&1; then
|
|
echo
|
|
echo === IPR daemons: Running 'systemctl status ipr{init,dump,update}.service' ===
|
|
systemctl status iprdump.service
|
|
systemctl status iprinit.service
|
|
systemctl status iprupdate.service
|
|
else
|
|
echo
|
|
echo === IPR daemons: Running 'service ipr* status' ===
|
|
service iprinit status
|
|
service iprdump status
|
|
service iprupdate status
|
|
fi
|
|
}
|
|
|
|
function _etc_ipr() {
|
|
echo
|
|
echo "=== Contents of '/etc/ipr/ ' ==="
|
|
if [ -d /etc/ipr ]; then
|
|
ls /etc/ipr/
|
|
else
|
|
echo "No files at /etc/ipr/"
|
|
fi
|
|
}
|
|
|
|
function _var_log_iprdump () {
|
|
echo
|
|
echo "=== Contents of '/var/log/iprdump*' ==="
|
|
if [ -f /var/log/iprdump.? ]; then
|
|
ls -lh /var/log/iprdump*
|
|
else
|
|
echo "No iprdump files found at /var/log."
|
|
fi
|
|
}
|
|
|
|
function _var_log_messages() {
|
|
echo
|
|
echo "=== Contents of '/var/log/messages' ==="
|
|
cat /var/log/messages
|
|
|
|
if [ -f /var/log/dmesg ]; then
|
|
echo "=== Contents of '/var/log/dmesg' ==="
|
|
cat /var/log/dmesg
|
|
fi
|
|
|
|
if [ -f /var/log/boot.msg ]; then
|
|
echo "=== Contents of '/var/log/boot.msg' ==="
|
|
cat /var/log/boot.msg
|
|
fi
|
|
|
|
if [ -f /var/log/kern.log ]; then
|
|
echo "=== Contents of '/var/log/kern.log' ==="
|
|
cat /var/log/kern.log
|
|
fi
|
|
|
|
if [ -f /var/log/syslog ]; then
|
|
echo "=== Contents of '/var/log/syslog' ==="
|
|
cat /var/log/syslog
|
|
fi
|
|
}
|
|
|
|
function _run_sos() {
|
|
_ipr_dump
|
|
_lspci
|
|
_lsscsi
|
|
_lsscsi_H
|
|
_check_daemons
|
|
_etc_ipr
|
|
_var_log_iprdump
|
|
_var_log_messages
|
|
}
|
|
|
|
args=($@)
|
|
|
|
if [ -z ${args[0]} ]; then
|
|
file=
|
|
|
|
elif [ ${args[0]} = "-o" ]; then
|
|
file=${args[1]}
|
|
if [ -z $file ]; then
|
|
echo "Usage: ./iprsos -o path/to/file"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if [ -z $file ]; then
|
|
_run_sos
|
|
else
|
|
_run_sos > $file
|
|
fi
|