У меня есть следующие команды в моих пользовательских данных 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