2016-10-11 10 views
1

Что требуется для автоматического удаления неактивных OSSEC агентов в случаях AutoScaling групп, в которых создаются экземпляры/удаленных постоянноКак автоматически удалять неактивные агенты OSSEC (партия)

+1

Если вы хотите поделиться решением, вы должны записать его в виде вопроса, а затем положить решение в разделе ответа, а не вопрос. – Barmar

ответ

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

Вот быстрый скрипт, который вы можете запустить в удалить «Отключено» и «никогда не подключен» агенты

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