Сценарий, выполняемый в пользовательских данных EC2 с nohup, не запускается до тех пор, пока не будет введен SSH вручную - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть следующие команды в моих пользовательских данных EC2:

setsid nohup /root/go/src/prometheus-to-cloudwatch-master/dist/bin/prometheus-to-cloudwatch --cloudwatch_namespace TestBox/Prometheus --cloudwatch_region eu-west-1 --cloudwatch_publish_timeout 5 --prometheus_scrape_interval 30 --prometheus_scrape_url MyScrapeUrl &

Этот скрипт будет принимать метрики, опубликованные в prometheus_scrape_url, и отправлять их в CloudWatch. По умолчанию этот скрипт выполняется на переднем плане, и каждые 30 секунд выводит количество метрик, отправленных в CloudWatch. Я добавил setsid nohup для запуска сценария в фоновом режиме в новом сеансе.

Проблема заключается в том, что сценарий, по-видимому, не запускается до тех пор, пока я не выполню SSH в поле после инициализации и su дляпользователь root (это похоже на очередь для запуска, когда я в следующий раз SSH в качестве пользователя root).

Мое ожидаемое поведение заключается в том, что сценарий выполняется как часть пользовательских данных, и мне никогда не потребуется SSH в поле.

Рассматриваемый сценарий: https://github.com/cloudposse/prometheus-to-cloudwatch

...