2016-10-11 5 views
1

Was zum automatischen Entfernen von inaktiven OSSEC Mittel in Fällen von automatischen Skalierung Gruppen erforderlich ist, wo Instanzen erstellt werden/gelöscht werden ständigWie automatisch entfernen inaktive OSSEC Mittel (Batch)

+1

Wenn Sie eine Lösung gemeinsam nutzen möchten, können Sie es in Form einer Frage schreiben sollte, dann in der Antwort Abschnitt die Lösung gegeben, nicht die Frage. – Barmar

Antwort

0
#This is to be run on ossec server, path for ossec is /var/ossec/ 

    file=agents.txt 
    /var/ossec/bin/agent_control -l > $file 

#Wipe working tmp files 
    rm remove.txt 
    rm removed.txt 
    echo -n "" > remove.txt 
    echo -n "" > removed.txt 

#Find Disconnected agents 
    while IFS= read -r line 
    do 
    ids=$(echo $line | awk '{print $2}') 
    status=$(echo $line | awk '{print $NF}') 

    if [ "$status" == "Disconnected" ]; then 
    echo $ids >> remove.txt 
    fi 
    done < "$file" 

#Find Never connected agents 
    while IFS= read -r line 
    do 
    ids=$(echo $line | awk '{print $2}') 
    status=$(echo $line | awk '{ if (NF > 1) print $(NF-1),$NF ; else print $NF; }') 

    if [ "$status" == "Never connected" ]; then 
     echo $ids >> remove.txt 
    fi 

    done < "$file" 

#Remove commas 
    sed 's/.$//' remove.txt > removed.txt 

#Remove agents with IDs in removed.txt file 
    file2=removed.txt 

    while IFS= read -r line 
    do 
    /var/ossec/bin/manage_agents -r "$line" 
    done < $file2 

#Restart OSSEC service 
    /var/ossec/bin/ossec-control restart 
#End 
0

Hier ist eine kurze Skript Sie ausführen können entfernen ‚Disconnected‘ und ‚nie‘ verbunden Agenten

for OUTPUT in $(/var/ossec/bin/agent_control -l | grep -E 'Disconnected|Never' | tr ':' ',' | cut -d "," -f 2) 
do 
    /var/ossec/bin/manage_agents -r $OUTPUT 
done