Spec-Zone.ru › Chef 16

supermarket-ctl (исполняемый файл)

[изменить на GitHub]

Установка 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API