Ajuda com o shell script do Linux para coletar informações de servidores em núcleos e processos

0

Estou tentando criar um script que se conecte a vários servidores e execute um comando, rotule a coluna de saída com o nome do host e classifique-os dependendo do nome do processo (dinâmico, alguns servidores terão processos diferentes em execução, viu nome bruto expandirá dependendo disso), mas o nome bruto é o nome do processo e a coluna é o host com o núcleo em que o processo está sendo executado.

Eu comecei com o seguinte, que se conecta a todos os hosts e pega a saída em uma tela

#!/bin/bash
for ssh_host in $(cat ssh_hosts.txt)
do
   echo $ssh_host
   ssh -q $ssh_host  'ps -eo pid,comm,lastcpu'
done

A saída de um único host

hosttest1:

    PID   COMMAND             C
      1  init               0
      2  kthreadd           1
      3  migration/0        0
      4  ksoftirqd/0        0
      5  stopper/0          0
      6  watchdog/0         0
      7  migration/1        1
      8  stopper/1          1
      9 ksoftirqd/1        1
     10 watchdog/1         1
     11 migration/2        2
     12 stopper/2          2
     13 ksoftirqd/2        2
     14 watchdog/2         2
     15 migration/3        3
     16 stopper/3          3
     17 ksoftirqd/3        3
     18 watchdog/3         3
     19 migration/4        4
     20 stopper/4          4
     21 ksoftirqd/4       4
     22 watchdog/4        4
     23 migration/5       5
     24 stopper/5         5
     25 ksoftirqd/5       5
     26 watchdog/5        5
     27 migration/6       6
     28 stopper/6         6
     29 ksoftirqd/6       6
     30 watchdog/6        6
     31 migration/7       7
     32 stopper/7         7
     33 ksoftirqd/7       7

Estou interessado em

hosttest1
COMMAND = ProcessName      
C = Process Core

O arquivo de saída final, ele irá mesclar todos os dados de todos os servidores para este formato

o 0, 1, 2,3 .... 23 são os núcleos da CPU

 command         hosttest1  hosttest2  hosttest3  ......  hosttest100 
   init              0              0                             9
  kthreadd          1               2                             3 
  stopper         0               1
  watchdog        0               1
  migration       1               3
  stopper         1               10                            3
 migration       2                 1
 stopper         2                2
 ksoftirqd       2                3
 watchdog        3                2
 migration       4
 ksoftirqd       5              
 watchdog        5
 stopper         7                2
 ksoftirqd       7                23

 . 
 .
 DynamicApendNewCmd
    
por SaSa2929 09.08.2018 / 11:06

0 respostas