meta data for this page
  •  

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalonElőző változat
Következő változat
Előző változat
shell:riportok:gather_data [2022/09/05 11:57] adminshell:riportok:gather_data [2026/03/03 21:17] (aktuális) admin
Sor 1: Sor 1:
 ====== TSM és OS adatgyűjtő TSM szerver felméréshez ====== ====== TSM és OS adatgyűjtő TSM szerver felméréshez ======
-TSM-es környezet OS konfigurációjának és TSM szerver állapotának felméréséhez gyűjt le néhány hasznos adatot.+TSM-es környezet OS konfigurációjának és TSM szerver állapotának felméréséhez gyűjt le néhány hasznos adatot. [[.:gather_data:dsmadmc_to_excel.sh|]]
  
 <WRAP prewrap> <WRAP prewrap>
Sor 14: Sor 14:
  
 HOST=$(hostname) HOST=$(hostname)
-DSMADMCOPTS="-se=$TSMSERVER"+DSMADMCOPTS="-se=$TSMSERVER" # -dataonly=y"
  
 # Az elmult 7 nap aktivitasa tipusonken:t # Az elmult 7 nap aktivitasa tipusonken:t
Sor 35: Sor 35:
 SQL9="SELECT substr(o.stgpool_name,1,25) as STGPOOL_NAME,substr(case when s.devclass='DISK'  then s.devclass else s.devclass || ' (' || d.devtype || ')' end,1,25) as DEVCLASS ,substr(d.library_name,1,20) as LIBRARY_NAME,CAST(FLOAT(SUM(o.logical_mb))/1024/1024 AS DEC(6,2)) as TB FROM stgpools s, occupancy o, devclasses d where s.stgpool_name=o.stgpool_name and s.devclass=d.devclass_name GROUP BY o.stgpool_name,s.devclass,d.devtype,d.library_name ORDER BY o.stgpool_name" SQL9="SELECT substr(o.stgpool_name,1,25) as STGPOOL_NAME,substr(case when s.devclass='DISK'  then s.devclass else s.devclass || ' (' || d.devtype || ')' end,1,25) as DEVCLASS ,substr(d.library_name,1,20) as LIBRARY_NAME,CAST(FLOAT(SUM(o.logical_mb))/1024/1024 AS DEC(6,2)) as TB FROM stgpools s, occupancy o, devclasses d where s.stgpool_name=o.stgpool_name and s.devclass=d.devclass_name GROUP BY o.stgpool_name,s.devclass,d.devtype,d.library_name ORDER BY o.stgpool_name"
 # Inaktiv node-ok # Inaktiv node-ok
-SQL10="select substr(node_name,1,30) as node, (select domain_name from nodes no where no.node_name=oc.node_name),(select (days(current_timestamp)-days(lastac +SQL10="select substr(node_name,1,30) as node, (select domain_name from nodes no where no.node_name=oc.node_name),(select (days(current_timestamp)-days(lastacc_time)) as LAST_ACCESS  from nodes no where no.node_name=oc.node_name), sum(REPORTING_MB)/1024 as GB from occupancy oc where (select (days(current_timestamp)-days(lastacc_time)) as LAST_ACCESS  from nodes no where no.node_name=oc.node_name)>$INAKTIV_NODE_NAPSZAM GROUP BY oc.node_name order by last_access" 
-c_time)) as LAST_ACCESS  from nodes no where no.node_name=oc.node_name), sum(REPORTING_MB)/1024 as GB from occupancy oc where (select (days(current_timestamp +SQL11="select no.domain_name, count(no.node_name) as inactive_nodes,(select count(node_name) as ALL_NODES from nodes no2 where no2.domain_name=no.domain_name) from nodes no where (days(current_timestamp)-days(no.lastacc_time)) \> $INAKTIV_NODE_NAPSZAM group by no.domain_name" 
-)-days(lastacc_time)) as LAST_ACCESS  from nodes no where no.node_name=oc.node_name)>$INAKTIV_NODE_NAPSZAM GROUP BY oc.node_name order by last_access" +# Direkt tape mountok 
-SQL11="select no.domain_name, count(no.node_name) as inactive_nodes,(select count(node_name) as ALL_NODES from nodes no2 where no2.domain_name=no.domain_name +SQL12="select substr(message,instr(message,' ',1,6)+1,instr(message,' ',1,7)-instr(message,' ',1,6)-1) as NODE, count(*) as TAPE_MOUNTS from actlog where msgno in (0839,0406) and session in (select session from actlog where msgno=0511 and substr(message,instr(message,' ',1,6)+1,1)!='/') and current_timestamp < date_time + 7 days group by substr(message,instr(message,' ',1,6)+1,instr(message,' ',1,7)-instr(message,' ',1,6)-1)" 
-) from nodes no where (days(current_timestamp)-days(no.lastacc_time)) \> $INAKTIV_NODE_NAPSZAM group by no.domain_name"+
  
 if [[ $1 != "-t" && $1 != "-o" ]]; then if [[ $1 != "-t" && $1 != "-o" ]]; then
Sor 65: Sor 65:
     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q drive" > ${OUTPUT_DIR}/${HOST}_q_drive.out     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q drive" > ${OUTPUT_DIR}/${HOST}_q_drive.out
     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q drive f=d" > ${OUTPUT_DIR}/${HOST}_q_drive_fd.out     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q drive f=d" > ${OUTPUT_DIR}/${HOST}_q_drive_fd.out
 +    dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q fi" > ${OUTPUT_DIR}/${HOST}_q_fi.out
 +    dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q fi f=d" > ${OUTPUT_DIR}/${HOST}_q_fi_fd.out
     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q path" > ${OUTPUT_DIR}/${HOST}_q_path.out     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q path" > ${OUTPUT_DIR}/${HOST}_q_path.out
     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q path f=d" > ${OUTPUT_DIR}/${HOST}_q_path_fd.out     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q path f=d" > ${OUTPUT_DIR}/${HOST}_q_path_fd.out
Sor 82: Sor 84:
     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q n" > ${OUTPUT_DIR}/${HOST}_q_node.out     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q n" > ${OUTPUT_DIR}/${HOST}_q_node.out
     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q n f=d" > ${OUTPUT_DIR}/${HOST}_q_node_fd.out     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q n f=d" > ${OUTPUT_DIR}/${HOST}_q_node_fd.out
-    dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q replnode" > ${OUTPUT_DIR}/${HOST}_q_replnode_fd.out+    dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS "q replnode *" > ${OUTPUT_DIR}/${HOST}_q_replnode_fd.out
  
     echo "TSM-es SELECT-eket futtatok..."     echo "TSM-es SELECT-eket futtatok..."
Sor 96: Sor 98:
     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS $SQL10 > ${OUTPUT_DIR}/${HOST}_Inaktiv_node-ok_listaja_merettel.out     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS $SQL10 > ${OUTPUT_DIR}/${HOST}_Inaktiv_node-ok_listaja_merettel.out
     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS $SQL11 > ${OUTPUT_DIR}/${HOST}_Inaktiv_node-ok_szama.out     dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS $SQL11 > ${OUTPUT_DIR}/${HOST}_Inaktiv_node-ok_szama.out
 +    dsmadmc -id=$TSMUSER -pa=$TSMPASS $DSMADMCOPTS $SQL12 > ${OUTPUT_DIR}/${HOST}_Direkt_tape_mountok_szama.out
 fi fi
  
Sor 119: Sor 122:
     fi     fi
  
-    if [ $(uname -s) = 'Linux' ]; then +if [ $(uname -s) = 'Linux' ]; then 
- uname -a > ${OUTPUT_DIR}/${HOST}_uname-a.out + 
- cp /etc/udev/rules.d/99-lin_tape.rules > ${OUTPUT_DIR}/${HOST}_udev.out +    ARCH=$(uname -m) 
- cat /proc/meminfo > ${OUTPUT_DIR}/${HOST}_meminfo.out + 
- cat /proc/cpuinfo > ${OUTPUT_DIR}/${HOST}_cpuinfo.out +    uname -a > ${OUTPUT_DIR}/${HOST}_uname-a.out 
- cat /proc/version > ${OUTPUT_DIR}/${HOST}_version.out+    cat /proc/meminfo > ${OUTPUT_DIR}/${HOST}_meminfo.out 
 +    cat /proc/cpuinfo > ${OUTPUT_DIR}/${HOST}_cpuinfo.out 
 +    cat /proc/version > ${OUTPUT_DIR}/${HOST}_version.out 
 +    ip addr show > ${OUTPUT_DIR}/${HOST}_ip.out 
 +    ip route show > ${OUTPUT_DIR}/${HOST}_route.out 
 +    df -h > ${OUTPUT_DIR}/${HOST}_df.out 
 + 
 +    # LVM 
 +    lvs > ${OUTPUT_DIR}/${HOST}_lvs.out 
 +    pvs > ${OUTPUT_DIR}/${HOST}_pvs.out 
 +    vgs > ${OUTPUT_DIR}/${HOST}_vgs.out 
 + 
 +    # Tape 
 +    cat /proc/scsi/IBMtape > ${OUTPUT_DIR}/${HOST}_IBMtape.out 2>/dev/null 
 +    cat /proc/scsi/IBMchanger > ${OUTPUT_DIR}/${HOST}_IBMchanger.out 2>/dev/null 
 + 
 +    # Klasszikus Linux only 
 +    if [ "$ARCH" != "s390x" ]; then
         ifconfig -a > ${OUTPUT_DIR}/${HOST}_ifconfig-a.out         ifconfig -a > ${OUTPUT_DIR}/${HOST}_ifconfig-a.out
- netstat -nr > ${OUTPUT_DIR}/${HOST}_netstat-nr.out +        netstat -nr > ${OUTPUT_DIR}/${HOST}_netstat-nr.out 
- lspci -vvknnqq > ${OUTPUT_DIR}/${HOST}_lspci.out +        lspci -vvknnqq > ${OUTPUT_DIR}/${HOST}_lspci.out
- lvs > ${OUTPUT_DIR}/${HOST}_lvs.out  +
- pvs > ${OUTPUT_DIR}/${HOST}_pvs.out +
-        vgs > ${OUTPUT_DIR}/${HOST}_vgs.out +
-        cat /proc/scsi/IBMtape > ${OUTPUT_DIR}/${HOST}_IBMtape.out +
-        cat /proc/scsi/IBMchanger > ${OUTPUT_DIR}/${HOST}_IBMchanger.out +
-        df -h > ${OUTPUT_DIR}/${HOST}_df.out+
     fi     fi
 +
 +    # ===== z/Linux specifikus rész =====
 +    if [ "$ARCH" = "s390x" ]; then
 +
 +        # CPU topology
 +        lscpu > ${OUTPUT_DIR}/${HOST}_lscpu.out
 +
 +        # Channel / device info
 +        lsblk > ${OUTPUT_DIR}/${HOST}_lsblk.out
 +        cat /proc/dasd/devices > ${OUTPUT_DIR}/${HOST}_dasd_devices.out 2>/dev/null
 +        cat /proc/dasd/statistics > ${OUTPUT_DIR}/${HOST}_dasd_stats.out 2>/dev/null
 +
 +        # CCW eszközök (mainframe "PCI helyett")
 +        ls /sys/bus/ccw/devices/ > ${OUTPUT_DIR}/${HOST}_ccw_devices.out 2>/dev/null
 +
 +        # Multipath (nagyon gyakori z-n)
 +        multipath -ll > ${OUTPUT_DIR}/${HOST}_multipath.out 2>/dev/null
 +
 +        # Hálózat (OSA / HiperSockets miatt)
 +        ls /sys/class/net > ${OUTPUT_DIR}/${HOST}_net_devices.out
 +
 +    fi
 +fi
 fi fi