supermarket-ctl (исполняемый файл)
Установка Chef Supermarket, выполненная с использованием установщика Chef, включает в себя утилиту командной строки с именем supermarket-ctl. Этот инструмент командной строки используется для запуска и остановки отдельных служб, перенастройки сервера Chef Supermarket, запуска проверок работоспособности и просмотра файлов журнала Chef Supermarket.
make-admin
Подкоманда make-admin используется для назначения пользователя Chef Supermarket администратором.
Эта подкоманда имеет следующий синтаксис:
sudo -u supermarket supermarket-ctl make-admin USER_NAME
где USER_NAME представляет имя пользователя, которому будут предоставлены права администратора.
Метрики качества
qm-flip-admin-only
Команда qm-flip-admin-only используется для того, чтобы сделать один именованный показатель качества видимым только для администраторов.
Эта подкоманда имеет следующий синтаксис:
sudo -u supermarket supermarket-ctl qm-flip-admin-only "METRIC_NAME"
где METRIC_NAME — это имя показателя качества, который нужно сделать доступным только для администраторов. Имена, содержащие пробелы, должны быть заключены в кавычки.
qm-flip-all-admin-only
Команда qm-flip-all-admin-only используется для того, чтобы сделать все показатели качества видимыми только для администраторов.
Эта подкоманда имеет следующий синтаксис:
sudo -u supermarket supermarket-ctl qm-flip-all-admin-only
qm-flip-all-public
Команда qm-flip-all-public используется для того, чтобы сделать все показатели качества видимыми для всех пользователей.
Эта подкоманда имеет следующий синтаксис:
sudo -u supermarket supermarket-ctl qm-flip-all-public
qm-flip-public
Команда qm-flip-public используется для того, чтобы сделать один именованный показатель качества видимым для всех пользователей.
Эта подкоманда имеет следующий синтаксис:
sudo -u supermarket supermarket-ctl qm-flip-public "METRIC_NAME"
где METRIC_NAME — это имя показателя качества, который нужно сделать общедоступным. Имена, содержащие пробелы, должны быть заключены в кавычки.
qm-list
Команда qm-list используется для вывода списка имен показателей качества, определенных в данный момент в Supermarket.
Эта подкоманда имеет следующий синтаксис:
sudo -u supermarket supermarket-ctl qm-list
qm-run-all-the-latest
Команда qm-run-all-the-latest используется для запуска всех показателей качества на последних версиях всех кулинарных книг.
Эта подкоманда имеет следующий синтаксис:
sudo -u supermarket supermarket-ctl qm-run-all-the-latest
qm-run-on-latest
Команда qm-run-on-latest используется для запуска всех показателей качества на последней версии именованной кулинарной книги.
Эта подкоманда имеет следующий синтаксис:
sudo -u supermarket supermarket-ctl qm-run-on-version COOKBOOK_NAME
где COOKBOOK_NAME — это имя кулинарной книги, на которой нужно запустить все показатели качества в её последней версии.
qm-run-on-version
Команда qm-run-on-version используется для запуска всех показателей качества на заданной версии именованной кулинарной книги.
Эта подкоманда имеет следующий синтаксис:
sudo -u supermarket supermarket-ctl qm-run-on-version COOKBOOK_NAME VERSION
где COOKBOOK_NAME и VERSION — это соответственно имя и версия кулинарной книги, на которой нужно запустить все показатели качества.
Общие команды
cleanse
Подкоманда cleanse используется для возвращения сервера в состояние, в котором он находился до первого запуска подкоманды reconfigure для удаления всех данных, файлов конфигурации и журналов.
Эта подкоманда имеет следующий синтаксис:
supermarket-ctl cleanse
help
Подкоманда help используется для вывода списка всех доступных команд supermarket-ctl.
Эта подкоманда имеет следующий синтаксис:
supermarket-ctl help
reconfigure
Подкоманда reconfigure используется, когда вносятся изменения в файл supermarket.rb для перенастройки сервера. Когда вносятся изменения в файл supermarket.rb, они не будут применены к конфигурации Chef Supermarket до тех пор, пока не будет выполнена эта команда. Эта подкоманда также перезапустит все службы, для которых параметр service_name['enabled'] установлен в true.
Эта подкоманда имеет следующий синтаксис:
supermarket-ctl reconfigure
show-config
Подкоманда show-config используется для просмотра конфигурации, которая будет создана подкомандой reconfigure. Эта команда наиболее полезна на ранних этапах развертывания, чтобы убедиться, что все построено правильно до установки.
Эта подкоманда имеет следующий синтаксис:
supermarket-ctl show-config
uninstall
Подкоманда uninstall используется для удаления приложения Chef Supermarket, но без удаления каких-либо данных. Эта подкоманда остановит все службы (включая супервайзер процессов runit).
Эта подкоманда имеет следующий синтаксис:
supermarket-ctl uninstall
Примечание
uninstall, запустите подкоманду reconfigure (потому что подкоманда start отключена командой uninstall).Подкоманды службы
Эта команда имеет встроенный супервайзер процессов, который гарантирует, что все необходимые службы находятся в соответствующем состоянии в любой момент времени. Супервайзер запускает два процесса на каждую службу и предоставляет следующие подкоманды для управления службами: hup, int, kill, once, restart, service-list, start, status, stop, tail и term.
hup
Подкоманда hup используется для отправки SIGHUP всем службам. Эта команда также может быть запущена для отдельной службы, указав имя службы в команде.
Эта подкоманда имеет следующий синтаксис:
supermarket-ctl hup name_of_service
где name_of_service представляет имя любой службы, которая указана после запуска подкоманды service-list.
int
Подкоманда int используется для отправки SIGINT всем службам. Эта команда также может быть запущена для отдельной службы, указав имя службы в команде.
Эта подкоманда имеет следующий синтаксис:
supermarket-ctl int name_of_service
где name_of_service представляет имя любой службы, которая указана после запуска подкоманды service-list.
kill
Подкоманда kill используется для отправки SIGKILL всем службам. Эта команда также может быть запущена для отдельной службы, указав имя службы в команде.
Эта подкоманда имеет следующий синтаксис:
supermarket-ctl kill name_of_service
где name_of_service представляет имя любой службы, которая указана после запуска подкоманды service-list.
once
Супервайзер для Chef Supermarket настроен на перезапуск любой службы, которая выходит из строя, если только не было запрошено изменение её состояния. Подкоманда once используется, чтобы сказать супервайзеру не пытаться перезапускать любую службу, которая выходит из строя.
Эта команда полезна при устранении неполадок конфигурации, которые мешают запуску службы. Запустите подкоманду once и затем подкоманду status, чтобы найти службы в нерабочем состоянии и/или определить, какие службы имеют проблемы. Эта команда также может быть запущена для отдельной службы, указав имя службы в команде.
Эта подкоманда имеет следующий синтаксис:
supermarket-ctl once name_of_service
где name_of_service представляет имя любой службы, которая указана после запуска подкоманды service-list.
restart
Подкоманда restart используется для перезапуска всех служб, включенных в Chef Supermarket, или для перезапуска отдельной службы, указав имя этой службы в команде.
Эта подкоманда имеет следующий синтаксис:
supermarket-ctl restart name_of_service
где name_of_service представляет имя любой службы, которая указана после запуска подкоманды service-list. После успешного перезапуска службы вывод должен быть похож на:
ok: run: service_name: (pid 12345) 1s
service-list
Подкоманда service-list используется для отображения списка всех доступных служб. Включенная служба помечена звездочкой (*).
Эта подкоманда имеет следующий синтаксис:
supermarket-ctl service-list
start
Подкоманда start используется для запуска всех служб, которые включены в Chef Supermarket. Эта команда также может быть запущена для отдельной службы, указав имя службы в команде.
Эта подкоманда имеет следующий синтаксис:
supermarket-ctl start name_of_service
где name_of_service представляет имя любой службы, которая указана после запуска подкоманды service-list. После успешного запуска службы вывод должен быть похож на:
ok: run: service_name: (pid 12345) 1s
Супервайзер для Chef Supermarket настроен на ожидание семи секунд, пока служба не ответит на команду от супервайзера. Если вы видите вывод, в котором упоминается тайм-аут, это означает, что сигнал был отправлен процессу, но процесс еще не выполнил его. В целом, процессы, которые превысили время ожидания, не вызывают больших опасений, если только они вообще не отвечают на сигналы. Если процесс не отвечает, используйте команду, такую как подкоманда kill, чтобы остановить процесс, исследовать причину (при необходимости), а затем использовать подкоманду start, чтобы снова включить его.
status
Подкоманда status используется для отображения состояния всех служб, доступных Chef Supermarket. Результаты будут варьироваться в зависимости от конфигурации данного сервера. Эта подкоманда имеет следующий синтаксис:
supermarket-ctl status
и вернет состояние для всех служб. Состояние может быть возвращено для отдельных служб, указав имя службы как часть команды:
supermarket-ctl status name_of_service
где name_of_service представляет имя любой службы, которая указана после запуска подкоманды service-list.
При запросе состояния службы вывод должен быть похож на:
run: service_name: (pid 12345) 12345s; run: log: (pid 1234) 67890s
где
-
run:— состояние службы (run:илиdown:) -
service_name:— имя службы, для которой возвращается статус -
(pid 12345)— идентификатор процесса -
12345s— время работы службы в секундах
Например:
down: actions: (pid 35546) 10s
По умолчанию runit будет автоматически перезапускать службы при сбоях. Поэтому runit может отображать статус службы как run:, даже если с этой службой есть проблемы. При расследовании причин, по которым конкретная служба не работает должным образом, обратите внимание на службы с самым коротким временем работы. Например, список ниже указывает, что службы actions требуют дальнейшего изучения:
run: actions: (pid 6361) 4132s; run: log: (pid 6173) 4146s
run: actions_consumer: (pid 6374) 5s; run: log: (pid 6227) 4139s
run: actions_messages: (pid 6392) 4131s; run: log: (pid 6324) 4133s
run: memcached: (pid 6115) 4157s; run: log: (pid 6129) 4156s
Логи
Типичная строка статуса службы, работающей в Chef Supermarket, выглядит следующим образом:
run: name_of_service: (pid 1486) 7819s; run: log: (pid 1485) 7819s
где:
-
runописывает состояние, в котором диспетчер пытается поддерживать процессы. Это состояние может бытьrunилиdown. Если служба находится в состоянииdown, её необходимо остановить -
name_of_service— имя службы -
(pid 1486) 7819s;— идентификатор процесса, за которым следует время работы службы в секундах -
run: log: (pid 1485) 7819s— процесс логов. Обычно время работы процесса логов больше, чем время работы службы, так как диспетчеру не нужно перезапускать процесс логов для подключения контролируемого процесса
Если служба не работает, строка статуса будет выглядеть примерно так:
down: actions: 3s, normally up; run: log: (pid 1485) 8526s
где
-
downуказывает, что служба находится в состоянии «остановлена» -
3s, normally up;указывает, что служба обычно находится в состоянии «запущена» и диспетчер попытается перезапустить эту службу после перезагрузки
stop
Подкоманда stop используется для остановки всех служб, включенных в Chef Supermarket. Эту команду также можно выполнить для отдельной службы, указав её имя в команде.
Синтаксис этой подкоманды:
supermarket-ctl stop name_of_service
где name_of_service представляет имя любой службы, которая отображается после выполнения подкоманды service-list. При успешном завершении остановки службы вывод должен быть похожим на:
ok: diwb: service_name: 0s, normally up
Например:
supermarket-ctl stop
вернёт что-то подобное:
ok: down: actions: 1s, normally up
ok: down: actions_consumer: 0s, normally up
ok: down: actions_messages: 0s, normally up
ok: down: memcached: 1s, normally up
tail
Подкоманда tail используется для отслеживания всех логов Chef Supermarket для всех служб. Эту команду также можно выполнить для отдельной службы, указав её имя в команде.
Синтаксис этой подкоманды:
supermarket-ctl tail name_of_service
где name_of_service представляет имя любой службы, которая отображается после выполнения подкоманды service-list.
term
Подкоманда term используется для отправки SIGTERM сигнала всем службам. Эту команду также можно выполнить для отдельной службы, указав её имя в команде.
Синтаксис этой подкоманды:
supermarket-ctl term name_of_service
где name_of_service представляет имя любой службы, которая отображается после выполнения подкоманды service-list.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/ctl_supermarket/