Задача: необходимость удаления агента(ов) платформы.

На машине с платформой необходимо выполнить следующие действия:

Создаём файл:

sudo touch clear_agent.sh
CODE


Назначаем права исполняемости:

chmod u+x clear_agent.sh
CODE

Записывапваем текст скрипта в файл:

cat > clear_agent.sh << EOL
#!/bin/bash

echo "Введите список id агентов через запятую. Пример: 2,4,10"
read agent_id

docker exec -it db psql -U postgres -p 5432 pma -c "delete from "audit".audits WHERE instance_id in ( select instance_id from core.instances where agent_id in (\$agent_id) );
delete from "monitoring".trigger_states WHERE instance_id in ( select instance_id from core.instances where agent_id in (\$agent_id) );
delete from core.instance_config WHERE instance_id in ( select instance_id from core.instances where agent_id in (\$agent_id) );
delete from core.instances WHERE instance_id in ( select instance_id from core.instances where agent_id in (\$agent_id) );
delete from core.host_config where host_id in ( select host_id from core.agents where agent_id in (\$agent_id) );
delete from core.agents where agent_id in (\$agent_id);
delete from core.hosts where host_id in (\$agent_id );"

EOL
CODE


Вызываем скрипт, указав id агентов через запятую, которые необходимо удалить(id можно посмотреть в веб интерфейсе):

./clear_agent.sh
CODE