#!/bin/sh #This script collects system information drawProgressBar() { local progress=$(( $1 * 100 / $2 )) local width=$(( $2 / 2 )) printf "[" printf "%-${width}s" "$(printf "#%.0s" $(seq 1 $progress))" printf "%-$((width+1))s" "]" printf " %d%%" "$progress" printf "\r" } # Example usage total=100 clear echo -e "====================================" echo "Surfly On-premise Log Collection Script." echo echo "Please inform Surfly Support Team (support@surfly.com) if you encounter an issue while running this script." echo echo "Logs collection started......" CARRIAGE=`echo "\0015"` SURVEY_MESSAGE="Starting..."; SURVEY_FILESIZE=0 SURVEY_GENERAL_PRODUCT=0 SURVEY_GETLOGS=0 PRODUCT_IS_INSTALLED=1 SURVEY_OS_PACKAGELIST="" SURVEY_NAV_PACKAGELIST="" VER="1.0" MYUID=`id|awk '{print $1}'|awk -F\( '{print $1}'|awk -F\= '{print $2}'` SURVEY_MESSAGE="Collecting UserID Info"; if [ "$(id -u)" != "0" ]; then echo "Script version $VER" echo "Please run this script as the client user" exit fi SURVEY_MEMORY_INSTALLED=0 SURVEY_CENTOS_CHECK=0 SURVEY_FILESIZE=0 #declare -i SURVEY_MEMORY_INSTALLED #declare -i SURVEY_CENTOS_CHECK #declare -i SURVEY_FILESIZE drawProgressBar 1 "$total" UNAME=`uname -s` SURVEY_MESSAGE="Determining OS"; case $UNAME in Linux) OS=linux HOSTNAME=`hostname -s` SURVEY_UID=$(id -u) SURVEY_UNAME=`id -un` SURVEY_PGID=`id -g` SURVEY_PGNAME=`id -gn` tmptest=`mount|grep /tmp|grep noexec | wc -l` tmptestout=`mount|grep /tmp|grep noexec` SURVEY_MESSAGE="Determining Hostname"; SURVEY_MAX_PROC=`ulimit -u` SURVEY_CPU_COUNT=`cat /proc/cpuinfo |grep "model name"|wc -l` SURVEY_MESSAGE="Determining CPU Count"; SURVEY_CPU_INFO=`cat /proc/cpuinfo |grep "model name"|awk -F: '{print $2}'|sed s/^\ //g|sort -u` SURVEY_MESSAGE="Determining CPU Type"; SURVEY_MEMORY_INSTALLED=`grep MemTotal /proc/meminfo|awk '{print $2}'` #SURVEY_MEMORY_INSTALLED=`expr $SURVEY_MEMORY_INSTALLED \* 1` SURVEY_MESSAGE="Determining System Memory"; SURVEY_MEMORY_INSTALLED=`expr $SURVEY_MEMORY_INSTALLED / 1021000` SURVEY_SYSTEM_UPTIME=`/usr/bin/uptime` SURVEY_MESSAGE="Determining System Uptime"; SURVEY_FILESURVEY_SYSTEM_DF=`/bin/df -Ph | awk 'sub("$", "\r")'` SURVEY_MESSAGE="Collecting File System Consumption"; SURVEY_FILESURVEY_SYSTEM_MOUNTS=`/bin/mount | awk 'sub("$", "\r")'` SURVEY_MESSAGE="Collecting File System Mount Points"; SURVEY_NETWORKING_NETSTAT=`/bin/netstat -anpee 2>/dev/null | awk 'sub("$", "\r")'` SURVEY_MESSAGE="Collecting Network Activity (netstat -anpee)"; SURVEY_NETWORKING_NSLOOKUP=`nslookup $HOSTNAME` SURVEY_MESSAGE="Collecting nslookup information (nslookup `hostname`)"; SURVEY_NETWORKING_STATS=`/bin/netstat -s 2>/dev/null | awk 'sub("$", "\r")'` SURVEY_MESSAGE="Collecting Networking Statistics (netstat -s)"; SURVEY_NETWORKING_CONFIG=`/sbin/ifconfig -a 2>/dev/null | awk 'sub("$", "\r")'` SURVEY_MESSAGE="Collecting Network Config (ifconfig -a)"; SURVEY_DETAILS_USERNAME=`id -un` SURVEY_DETAILS_OPENFILES=`/usr/sbin/lsof -u $SURVEY_DETAILS_USERNAME 2>/dev/null | wc -l` drawProgressBar 5 "$total" SURVEY_MESSAGE="Counting the number of open files by this user"; SURVEY_DETAILS_OPENFILES_COUNT=`lsof -u $SURVEY_DETAILS_USERNAME 2>/dev/null|wc -l` SURVEY_MESSAGE="Collecting the list of running processes for this user"; SURVEY_DETAILS_RUNNING_PROCESSES=`ps -ef | grep $USER | awk 'sub("$", "\r")'` SURVEY_OS_PACKAGELIST=`rpm -qa | sort | awk 'sub("$", "\r")'` SURVEY_MESSAGE="Collecting the packages installed to this system (rpm -qa)"; SURVEY_CENTOS_CHECK=`/bin/rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH};%{DISTRIBUTION}\n'|grep -i centos|wc -l` #SURVEY_CENTOS_CHECK=`expr $SURVEY_CENTOS_CHECK \* 1` #SURVEY_CENTOS_CHECK=`/bin/rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH};%{DISTRIBUTION}\n'|grep -i "Red Hat"|wc -l` HOSTNAME=`hostname|awk -F\. '{print $1}'` SURVEY_MESSAGE="Determining Hostname"; SURVEY_SYSTEM_UPTIME=`/usr/bin/uptime` SURVEY_MESSAGE="Determining System Uptime"; SURVEY_FILESURVEY_SYSTEM_DF=`df -h | sed s/$/${CARRIAGE}/` #SURVEY_FILESURVEY_SYSTEM_DF=`/usr/bin/df -h | awk 'sub("$", "\r")'` SURVEY_MESSAGE="Collecting File System Consumption"; SURVEY_FILESURVEY_SYSTEM_MOUNTS=`mount |sed s/$/${CARRIAGE}/` #SURVEY_FILESURVEY_SYSTEM_MOUNTS=`/usr/sbin/mount | awk 'sub("$", "\r")'` SURVEY_MESSAGE="Collecting File System Mount Points"; SURVEY_NETWORKING_NETSTAT=`netstat -an 2>/dev/null | sed s/$/${CARRIAGE}/` #SURVEY_NETWORKING_NETSTAT=`/usr/bin/netstat -an 2>/dev/null | awk 'sub("$", "\r")'` SURVEY_MESSAGE="Collecting Network Activity (netstat -anpee)"; SURVEY_NETWORKING_STATS=`netstat -i 2>/dev/null | sed s/$/${CARRIAGE}/` #SURVEY_NETWORKING_STATS=`/usr/bin/netstat -i 2>/dev/null | awk 'sub("$", "\r")'` SURVEY_MESSAGE="Collecting Networking Statistics (netstat -s)"; SURVEY_NETWORKING_CONFIG=`ifconfig -a 2>/dev/null | sed s/$/${CARRIAGE}/` #SURVEY_NETWORKING_CONFIG=`/usr/sbin/ifconfig -a 2>/dev/null | awk 'sub("$", "\r")'` SURVEY_MESSAGE="Collecting Network Config (ifconfig -a)"; SURVEY_DETAILS_USERNAME=$USER if [ -x /usr/sbin/lsof ]; then SURVEY_MESSAGE="Collecting the list of openfiles for this user"; SURVEY_DETAILS_OPENFILES=`lsof -u $SURVEY_DETAILS_USERNAME 2>/dev/null | wc -l` SURVEY_MESSAGE="Counting the number of open files by this user"; SURVEY_DETAILS_OPENFILES_COUNT=`lsof -u $SURVEY_DETAILS_USERNAME 2>/dev/null|wc -l` else SURVEY_DETAILS_OPENFILES="lsof not available" SURVEY_DETAILS_OPENFILES_COUNT="unavailable" fi SURVEY_MESSAGE="Counting the number of running processes for this user"; SURVEY_DETAILS_RUNNING_PROCESSES_COUNT=`ps | wc -l` SURVEY_MESSAGE="Collecting the list of running processes for this user"; SURVEY_DETAILS_RUNNING_PROCESSES=`ps -u $SURVEY_DETAILS_USERNAME -f | sed s/$/${CARRIAGE}/` #SURVEY_DETAILS_RUNNING_PROCESSES=`ps -u $SURVEY_DETAILS_USERNAME -f |awk 'sub("$", "\r")'` SURVEY_MESSAGE="Checking ansible version"; SURVEY_DETAILS_ANSIBLE_VERSION_DETAILS=`ansible --version` SURVEY_MESSAGE="Checking ansible galaxy version"; SURVEY_DETAILS_ANSIBLE_GALAXY_VERSION_DETAILS=`ansible-galaxy --version` ;; esac drawProgressBar 10 "$total" sleep 0.1 ### Post collection calculations ### End Post collection calculations SURVEY_OUTDIR=`date '+log_collection-%m%d%y_%H%M%S'`"-"$HOSTNAME"-"$UNAME SURVEY_STYLE="" SURVEY_LOGSFOUND=0 mkdir $SURVEY_OUTDIR mkdir $SURVEY_OUTDIR/content mkdir -p $SURVEY_OUTDIR/files drawProgressBar 20 "$total" sleep 0.1 if [ $SURVEY_CENTOS_CHECK -gt 0 ]; then SURVEY_CENTOS_ALERT="CENTOSCentOS " rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH};%{DISTRIBUTION}\n' | column -ts\;|awk 'sub("$", "\r")' > $SURVEY_OUTDIR/files/CENTOS.txt fi # Locale # This output should go to the system overview page if [ "x$LC_ALL" = "x" ]; then # LC_ALL not set SURVEY_MAIN_LOCALE="LC_ALL not set, please set to a valid locale per the supported platforms guide" else # LC_ALL is set so lets see if the value exists in the installed locale list SURVEY_TEMP_LCALL=`locale -a | grep $LC_ALL` if [ $SURVEY_TEMP_LCALL = $LC_ALL ]; then # LC_ALL value is an installed locale SURVEY_MAIN_LOCALE="LC_ALL set to $LC_ALL which is an installed locale" else SURVEY_MAIN_LOCALE="LC_ALL set to $LC_ALL which is NOT an installed locale" fi fi drawProgressBar 30 "$total" sleep 0.1 SURVEY_SOURCE="/opt/nginx/logs/error.log" if [ -s $SURVEY_SOURCE ]; then SURVEY_TARGETLABEL="Nginx Logs" SURVEY_TARGETFILE=nginx.txt SURVEY_TARGET=$SURVEY_OUTDIR/files/$SURVEY_TARGETFILE cp $SURVEY_SOURCE $SURVEY_TARGET SURVEY_NAV_PROFILE="
  • $SURVEY_TARGETLABEL" fi SURVEY_SOURCE="$HOME/.profile" if [ -s $SURVEY_SOURCE ]; then ##echo "Collecting $SURVEY_SOURCE" SURVEY_TARGETLABEL="~/.profile" SURVEY_TARGETFILE=Profile.txt SURVEY_TARGET=$SURVEY_OUTDIR/files/$SURVEY_TARGETFILE cp $SURVEY_SOURCE $SURVEY_TARGET SURVEY_NAV_PROFILE=$SURVEY_NAV_PROFILE+"
  • $SURVEY_TARGETLABEL" fi SURVEY_SOURCE="/opt/trafficserver/logs/ats_surfly.log" if [ -s $SURVEY_SOURCE ]; then SURVEY_TARGETLABEL="ATS Surfly Logs" SURVEY_TARGETFILE=ats_surfly.txt SURVEY_TARGET=$SURVEY_OUTDIR/files/$SURVEY_TARGETFILE cp $SURVEY_SOURCE $SURVEY_TARGET SURVEY_NAV_PROFILE=$SURVEY_NAV_PROFILE+"
  • $SURVEY_TARGETLABEL" fi SURVEY_SOURCE="/opt/trafficserver/logs/diags.log" if [ -s $SURVEY_SOURCE ]; then SURVEY_TARGETLABEL="ATS Diags Logs" SURVEY_TARGETFILE=ats_diags.txt SURVEY_TARGET=$SURVEY_OUTDIR/files/$SURVEY_TARGETFILE cp $SURVEY_SOURCE $SURVEY_TARGET SURVEY_NAV_PROFILE=$SURVEY_NAV_PROFILE+"
  • $SURVEY_TARGETLABEL" fi SURVEY_SOURCE="/opt/trafficserver/logs/error*" if [ -s $SURVEY_SOURCE ]; then SURVEY_TARGETLABEL="ATS ERROR Logs" SURVEY_TARGETFILE=ats_error.txt SURVEY_TARGET=$SURVEY_OUTDIR/files/$SURVEY_TARGETFILE cp $SURVEY_SOURCE $SURVEY_TARGET SURVEY_NAV_PROFILE=$SURVEY_NAV_PROFILE+"
  • $SURVEY_TARGETLABEL" fi SURVEY_SOURCE="/opt/trafficserver/logs/manager.log" if [ -s $SURVEY_SOURCE ]; then SURVEY_TARGETLABEL="ATS Manager Logs" SURVEY_TARGETFILE=ats_manager.txt SURVEY_TARGET=$SURVEY_OUTDIR/files/$SURVEY_TARGETFILE cp $SURVEY_SOURCE $SURVEY_TARGET SURVEY_NAV_PROFILE=$SURVEY_NAV_PROFILE+"
  • $SURVEY_TARGETLABEL" fi service_name="ss-surfly.target" # Get dependent services dependencies=$(systemctl list-dependencies $service_name --plain | awk '{print $1}') # Iterate over dependent services and display their journal logs for dependency in $dependencies; do sudo journalctl -u $dependency > $SURVEY_TARGET SURVEY_TARGETLABEL=$dependency SURVEY_TARGETFILE=$dependency+".txt" SURVEY_TARGET=$SURVEY_OUTDIR/files/$SURVEY_TARGETFILE SURVEY_NAV_PROFILE=$SURVEY_NAV_PROFILE+"
  • $SURVEY_TARGETLABEL" done drawProgressBar 35 "$total" sleep 0.1 unset SURVEY_TARGET output=$(curl -s -x http://127.0.0.1:8080 https://google.com/ -v -m 55 2>&1) SURVEY_TARGETLABEL="CURL TEST" SURVEY_TARGETFILE=curl.txt SURVEY_TARGET=$SURVEY_OUTDIR/files/$SURVEY_TARGETFILE echo $output > $SURVEY_TARGET SURVEY_NAV_PROFILE=$SURVEY_NAV_PROFILE+"
  • $SURVEY_TARGETLABEL" SURVEY_SOURCE="$HOME/.bash_profile" if [ -s $SURVEY_SOURCE ]; then ##echo "Collecting $SURVEY_SOURCE" SURVEY_TARGETLABEL="~/.bash_profile" SURVEY_TARGETFILE=BASH_Profile.txt SURVEY_TARGET=$SURVEY_OUTDIR/files/$SURVEY_TARGETFILE cp $SURVEY_SOURCE $SURVEY_TARGET SURVEY_NAV_BASH_PROFILE="
  • $SURVEY_TARGETLABEL" fi #/etc/resolv.conf SURVEY_SOURCE="/etc/resolv.conf" ##echo "Collecting $SURVEY_SOURCE" if [ -s $SURVEY_SOURCE ]; then SURVEY_TARGETLABEL=/etc/resolv.conf SURVEY_TARGETFILE=resolv.txt SURVEY_TARGET=$SURVEY_OUTDIR/files/$SURVEY_TARGETFILE echo "" >> $SURVEY_TARGET cat $SURVEY_SOURCE >> $SURVEY_TARGET SURVEY_NAV_RESOLVFILE="
  • $SURVEY_TARGETLABEL" fi #/etc/hosts SURVEY_SOURCE="/etc/hosts" ##echo "Collecting $SURVEY_SOURCE" if [ -s $SURVEY_SOURCE ]; then SURVEY_TARGETLABEL=/etc/hosts SURVEY_TARGETFILE=hosts.txt SURVEY_TARGET=$SURVEY_OUTDIR/files/$SURVEY_TARGETFILE echo "It is critical that any given hostname resovle to one and only 1 ip address, hosts file is below:" >> $SURVEY_TARGET echo "" >> $SURVEY_TARGET cat $SURVEY_SOURCE >> $SURVEY_TARGET SURVEY_NAV_HOSTSFILE="
  • $SURVEY_TARGETLABEL" fi drawProgressBar 40 "$total" sleep 0.1 SURVEY_SOURCE="/etc/redhat-release" if [ -s $SURVEY_SOURCE ]; then ##echo "Collecting $SURVEY_SOURCE" LINUXFLAVOR=`cat $SURVEY_SOURCE` fi SURVEY_SOURCE="/proc/meminfo" if [ -s $SURVEY_SOURCE ]; then ##echo "Collecting $SURVEY_SOURCE" SURVEY_TARGETLABEL="Memory Info" SURVEY_TARGETFILE="meminfo.txt" SURVEY_TARGET="$SURVEY_OUTDIR/files/$SURVEY_TARGETFILE" cp $SURVEY_SOURCE $SURVEY_TARGET SURVEY_NAV_MEMINFO="
  • $SURVEY_TARGETLABEL" fi drawProgressBar 50 "$total" sleep 0.1 SURVEY_TARGETLABEL="Network - Active Sockets" SURVEY_TARGETFILE=netstat.txt #echo "Collecting $SURVEY_TARGETLABEL" echo $SURVEY_NETWORKING_NETSTAT > $SURVEY_OUTDIR/files/$SURVEY_TARGETFILE SURVEY_NAV_NETWORKSOCKETS="
  • $SURVEY_TARGETLABEL" SURVEY_NETWORKING_NETSTAT="" drawProgressBar 60 "$total" sleep 0.1 SURVEY_TARGETLABEL="Network - Statistics" ##echo "Collecting $SURVEY_TARGETLABEL" SURVEY_TARGETFILE=netstat-stats.txt echo $SURVEY_NETWORKING_STATS > $SURVEY_OUTDIR/files/$SURVEY_TARGETFILE SURVEY_NAV_NETWORKSTATS="
  • $SURVEY_TARGETLABEL" SURVEY_NETWORKING_STATS="" SURVEY_TARGETLABEL="Network - ifconfig" ##echo "Collecting $SURVEY_TARGETLABEL" SURVEY_TARGETFILE=ifconfig.txt echo $SURVEY_NETWORKING_CONFIG > $SURVEY_OUTDIR/files/$SURVEY_TARGETFILE SURVEY_NAV_NETWORKCONFIG="
  • $SURVEY_TARGETLABEL" SURVEY_NETWORKING_CONFIG="" ## End Networking details ############################ drawProgressBar 70 "$total" sleep 0.1 SURVEY_TARGETLABEL="Packages Installed" SURVEY_TARGETFILE=rpmlist.txt ##echo "Collecting $SURVEY_TARGETLABEL" echo $SURVEY_OS_PACKAGELIST > $SURVEY_OUTDIR/files/$SURVEY_TARGETFILE SURVEY_NAV_PACKAGELIST="
  • $SURVEY_TARGETLABEL" SURVEY_OS_PACKAGELIST="" ######################### ## BEGIN File System Details ## echo "##########################" >> $SURVEY_OUTDIR/files/filesystem.txt echo "## output of df command ##" >> $SURVEY_OUTDIR/files/filesystem.txt echo "##########################" >> $SURVEY_OUTDIR/files/filesystem.txt echo "" >> $SURVEY_OUTDIR/files/filesystem.txt echo $SURVEY_FILESURVEY_SYSTEM_DF >> $SURVEY_OUTDIR/files/filesystem.txt echo "" >> $SURVEY_OUTDIR/files/filesystem.txt echo "#############################" >> $SURVEY_OUTDIR/files/filesystem.txt echo "## output of mount command ##" >> $SURVEY_OUTDIR/files/filesystem.txt echo "#############################" >> $SURVEY_OUTDIR/files/filesystem.txt echo "" >> $SURVEY_OUTDIR/files/filesystem.txt echo $SURVEY_FILESURVEY_SYSTEM_MOUNTS >> $SURVEY_OUTDIR/files/filesystem.txt SURVEY_NAV_SURVEY_FILESYSTEM="
  • File system details" SURVEY_FILESURVEY_SYSTEM_DF="" SURVEY_FILESURVEY_SYSTEM_MOUNTS="" ## END File System Details ## ######################### ######################## ## Begin Environment Info drawProgressBar 80 "$total" sleep 0.1 #SURVEY_TARGETLABEL="History" #SURVEY_TARGETFILE=history.txt ##echo "Collecting command history" #history > $SURVEY_OUTDIR/files/$SURVEY_TARGETFILE 2>&1 #SURVEY_NAV_HISTORY="
  • $SURVEY_TARGETLABEL" SURVEY_TARGETLABEL="Installed Locales" SURVEY_TARGETFILE=locales.txt ##echo "Collecting $SURVEY_TARGETLABEL" /usr/bin/locale -a >> $SURVEY_OUTDIR/files/$SURVEY_TARGETFILE 2>&1 SURVEY_NAV_LOCALES="
  • $SURVEY_TARGETLABEL" SURVEY_TARGETLABEL="Current Locales" SURVEY_TARGETFILE=locale.txt ##echo "Collecting $SURVEY_TARGETLABEL" /usr/bin/locale >> $SURVEY_OUTDIR/files/$SURVEY_TARGETFILE 2>&1 SURVEY_NAV_LOCALE="
  • $SURVEY_TARGETLABEL" SURVEY_TARGETLABEL="Process List" #echo "Collecting $SURVEY_TARGETLABEL" SURVEY_TARGETFILE=processlist.txt echo $SURVEY_DETAILS_RUNNING_PROCESSES > $SURVEY_OUTDIR/files/$SURVEY_TARGETFILE SURVEY_NAV_PROCESSLIST="
  • $SURVEY_TARGETLABEL" SURVEY_DETAILS_RUNNING_PROCESSES="" SURVEY_TARGETLABEL="Kernel Limits" #echo "Collecting $SURVEY_TARGETLABEL" SURVEY_TARGETFILE=kernellimits.txt echo $SURVEY_KERNEL_LIMITS > $SURVEY_OUTDIR/files/$SURVEY_TARGETFILE SURVEY_NAV_KERNELLIMITS="
  • $SURVEY_TARGETLABEL" SURVEY_KERNEL_LIMITS="" SURVEY_TARGETLABEL="Kernel Usage" #echo "Collecting $SURVEY_TARGETLABEL" SURVEY_TARGETFILE=kernelusage.txt echo $SURVEY_KERNEL_USAGE > $SURVEY_OUTDIR/files/$SURVEY_TARGETFILE SURVEY_NAV_KERNELUSAGE="
  • $SURVEY_TARGETLABEL" SURVEY_KERNEL_USAGE="" SURVEY_TARGETLABEL="ulimits - pre env sourcing" #echo "Collecting $SURVEY_TARGETLABEL" SURVEY_TARGETFILE=ulimits.txt ulimit -a > $SURVEY_OUTDIR/files/$SURVEY_TARGETFILE SURVEY_NAV_ULIMITS="
  • $SURVEY_TARGETLABEL" drawProgressBar 90 "$total" sleep 0.1 if [ -x /usr/bin/nohup ]; then SURVEY_MISC_NOHUP="
  • NOHUP CHECK - PASS: /usr/bin/nohup must be executable, and it is."; else SURVEY_MISC_NOHUP="
  • NOHUP CHECK - FAIL: /usr/bin/nohup must be executable, it is not, please have your system admin correct this."; fi SURVEY_TARGETLABEL="pre-sourcing env cmd" SURVEY_TARGETFILE=presourc-env.txt #echo "Collecting $SURVEY_TARGETLABEL" env > $SURVEY_OUTDIR/files/$SURVEY_TARGETFILE SURVEY_NAV_PRESOURCE_ENV="
  • $SURVEY_TARGETLABEL" ## End Environment Info ######################## ########################### ## LDD tests - must follow the sourcing of the env.sh #echo "Running some LDD tests against product binaries" #echo "x"$SURVEY_GENERAL_PRODUCT"x" SURVEY_TARGETLABEL="ldd tests" SURVEY_TARGETFILE=lddresults.txt SURVEY_NAV_LDDTESTS="
  • $SURVEY_TARGETLABEL" SURVEY_DESTFILE=$SURVEY_OUTDIR/files/$SURVEY_TARGETFILE echo "Any missing dependencies in this list is cause for concern" > $SURVEY_DESTFILE echo "" >> $SURVEY_DESTFILE drawProgressBar 95 "$total" sleep 0.1 ################################################### ###### Final steps, create the html elements ###### echo "" > $SURVEY_OUTDIR/index.html echo "" >> $SURVEY_OUTDIR/index.html echo "$HOSTNAME details" >> $SURVEY_OUTDIR/index.html echo "" >> $SURVEY_OUTDIR/index.html echo "" >> $SURVEY_OUTDIR/index.html echo " " >> $SURVEY_OUTDIR/index.html echo "" >> $SURVEY_OUTDIR/index.html echo " " >> $SURVEY_OUTDIR/index.html echo " " >> $SURVEY_OUTDIR/index.html echo "" >> $SURVEY_OUTDIR/index.html echo "" >> $SURVEY_OUTDIR/index.html echo "" >> $SURVEY_OUTDIR/index.html echo "" > $SURVEY_OUTDIR/content/main.html echo "" >> $SURVEY_OUTDIR/content/main.html echo "" >> $SURVEY_OUTDIR/content/main.html echo "" >> $SURVEY_OUTDIR/content/main.html #fill this area in with general system info, like OS brand and version, cpu details, memory amount, hostname, fqdn, and so on. A quick overview of the host. echo "" >> $SURVEY_OUTDIR/content/main.html echo "" >> $SURVEY_OUTDIR/content/main.html echo "" >> $SURVEY_OUTDIR/content/main.html echo "" >> $SURVEY_OUTDIR/content/main.html echo "" >> $SURVEY_OUTDIR/content/main.html echo "" >> $SURVEY_OUTDIR/content/main.html echo "" >> $SURVEY_OUTDIR/content/main.html echo "" >> $SURVEY_OUTDIR/content/main.html echo "" >> $SURVEY_OUTDIR/content/main.html echo "" >> $SURVEY_OUTDIR/content/main.html if [ $OS = 'linux' ]; then echo "" >> $SURVEY_OUTDIR/content/main.html if [ -s $SURVEY_OUTDIR/files/CENTOS.txt ]; then echo $SURVEY_CENTOS_ALERT >> $SURVEY_OUTDIR/content/main.html fi fi if [ $SURVEY_DETAILS_OPENFILES_COUNT != 'unavailable' ]; then echo "" >> $SURVEY_OUTDIR/content/main.html fi echo "" >> $SURVEY_OUTDIR/content/main.html echo "
    General Environment Information
    Hostname:"`hostname`"
    System Uptime$SURVEY_SYSTEM_UPTIME
    Operating System$UNAME
    CPU Details$SURVEY_CPU_COUNT x $SURVEY_CPU_INFO
    Ansible Details$SURVEY_DETAILS_ANSIBLE_VERSION_DETAILS
    Ansible Galaxy Details$SURVEY_DETAILS_ANSIBLE_GALAXY_VERSION_DETAILS
    Installed RAM$SURVEY_MEMORY_INSTALLED
    Locale$SURVEY_MAIN_LOCALE
    Linux ReleaseRelease File contents: $LINUXFLAVOR
    Open FilesThis user has "$SURVEY_DETAILS_OPENFILES_COUNT" files currently open of (ulimit -Hn) `ulimit -Hn` allowed
    Running ProcessesThis user has "$SURVEY_DETAILS_RUNNING_PROCESSES_COUNT" processes currently running out of (ulimit -u) ( "$SURVEY_MAX_PROC" ) allowed
    " >> $SURVEY_OUTDIR/content/main.html echo "" >> $SURVEY_OUTDIR/content/main.html echo "" >> $SURVEY_OUTDIR/content/main.html echo "" > $SURVEY_OUTDIR/content/survey.html echo "$SURVEY_STYLE" >> $SURVEY_OUTDIR/content/survey.html echo "" >> $SURVEY_OUTDIR/content/survey.html echo "" >> $SURVEY_OUTDIR/content/survey.html echo "" >> $SURVEY_OUTDIR/content/survey.html echo "
    Survey Script Details
    Version: $VER
    " >> $SURVEY_OUTDIR/content/survey.html echo " " >> $SURVEY_OUTDIR/content/survey.html echo " " >> $SURVEY_OUTDIR/content/survey.html echo " " >> $SURVEY_OUTDIR/content/survey.html echo " " >> $SURVEY_OUTDIR/content/survey.html echo "
    Run Date"`date`"
    Run From"`ls -ld $PWD`"
    Run by user"`id`"
    " >> $SURVEY_OUTDIR/content/survey.html echo "
    " >> $SURVEY_OUTDIR/content/survey.html echo "" >> $SURVEY_OUTDIR/content/survey.html echo "" >> $SURVEY_OUTDIR/content/survey.html SURVEY_MISC_CONTENT="The following information is miscellaneous details about the host that dont justify a category of their own. Where possible pass or fail is identified by green or red text.
    " SURVEY_MISC_CONTENT=$SURVEY_MISC_CONTENT$SURVEY_MISC_NOHUP SURVEY_MISC_CONTENT=$SURVEY_MISC_CONTENT$SURVEY_MISC_LIBEXPAT32 SURVEY_MISC_CONTENT=$SURVEY_MISC_CONTENT$SURVEY_MISC_LIBEXPAT64 echo $SURVEY_MISC_CONTENT > $SURVEY_OUTDIR/files/misc.html SURVEY_NAV_MISC="
  • Miscellaneous Info" SURVEY_NAV=$SURVEY_OUTDIR/content/nav.html SURVEY_NAV_GROUP_HOSTINFO="
    Host Information
    "`hostname`"
    " SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO"
  • Host Specs" SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_NETWORKCONFIG SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_NETWORKSOCKETS SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_NETWORKSTATS SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_HOSTSFILE SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_RESOLVFILE if [ $OS = 'linux' ]; then SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_NSSWITCHFILE; fi SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_MEMINFO SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$NAV_AIXSPECIFIC #SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_HISTORY SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_SURVEY_FILESYSTEM SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_PROCESSLIST SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_KERNELUSAGE SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_KERNELLIMITS SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_ULIMITS SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_LOCALE SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_LOCALES SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_PACKAGELIST SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_GCC SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_PROFILE SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_BASH_PROFILE SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_MISC SURVEY_NAV_GROUP_HOSTINFO=$SURVEY_NAV_GROUP_HOSTINFO$SURVEY_NAV_PRESOURCE_ENV echo "" > $SURVEY_NAV echo "" >> $SURVEY_NAV echo "" >> $SURVEY_NAV echo "" >> $SURVEY_NAV echo $SURVEY_NAV_GROUP_HOSTINFO >> $SURVEY_NAV echo $SURVEY_NAV_GROUP_PRODUCTINFO >> $SURVEY_NAV echo "" >> $SURVEY_NAV echo "" >> $SURVEY_NAV drawProgressBar 100 "$total" sleep 0.1 ###################################### # if done with editing the script, # remark this next line out #exit ###################################### SURVEY_FINAL_OUTPUT=${SURVEY_OUTDIR}.tar tar -cf $SURVEY_FINAL_OUTPUT $SURVEY_OUTDIR gzip $SURVEY_FINAL_OUTPUT SURVEY_FINAL_OUTPUT=${SURVEY_FINAL_OUTPUT}.gz rm -rf $SURVEY_OUTDIR # SURVEY_FILESIZE=`ls -s ${SURVEY_FINAL_OUTPUT}|awk '{print $1}'` echo "################################" echo echo -e "Thank you for running this script. Required logs have been collected into file ${SURVEY_FINAL_OUTPUT}" echo echo -e "Please get this file from your server and share with the Surfly Support team"