Spec-Zone.ru › Chef 16

ресурс службы

[править на GitHub]

Используйте ресурс проверки service Chef InSpec для проверки, установлена ли, запущена и/или включена служба с заданным именем.

В некоторых случаях может потребоваться указать диспетчер службы, используя один из следующих ресурсов, специфичных для диспетчера службы: bsd_service, launchd_service, runit_service, systemd_service, sysv_service, или upstart_service. Эти ресурсы основаны на ресурсе service.

Доступность

Установка

Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.

Версия

Этот ресурс впервые стал доступен в версии v1.0.0 InSpec.

Синтаксис

Блок ресурса service объявляет имя службы, а затем один (или несколько) матчеров для проверки состояния службы:

describe service('service_name') do
  it { should be_installed }
  it { should be_enabled }
  it { should be_running }
end

где

  • ('service_name') должен указать имя службы
  • be_installed, be_enabled, и be_running являются допустимыми матчерами для этого ресурса

Примеры

Следующие примеры демонстрируют, как использовать этот ресурс аудита Chef InSpec.

Проверка, запущена ли и включена ли служба postgresql

describe service('postgresql') do
  it { should be_enabled }
  it { should be_running }
end

Проверка, запущена ли и включена ли служба mysql

describe service('mysqld') do
  it { should be_enabled }
  it { should be_running }
end

Проверка, установлена и запущена ли ClamAV (антивирусный движок)

describe package('clamav') do
  it { should be_installed }
  its('version') { should eq '0.98.7' }
end

describe service('clamd') do
  it { should_not be_enabled }
  it { should_not be_installed }
  it { should_not be_running }
end

Тестирование уровней выполнения Unix System V

На целевых системах, использующих службы SystemV, можно также проверить существующие уровни выполнения:

describe service('sshd').runlevels do
  its('keys') { should include(2) }
end

describe service('sshd').runlevels(2,4) do
  it { should be_enabled }
end

Переопределение диспетчера службы

В некоторых случаях может потребоваться переопределить логику выбора правильного диспетчера службы. Например, для проверки службы, управляемой Upstart:

describe upstart_service('service') do
  it { should_not be_enabled }
  it { should be_installed }
  it { should be_running }
end

Это также возможно с помощью systemd_service, runit_service, sysv_service, bsd_service, и launchd_service. Укажите управляющую команду, если она не найдена в стандартном месте. Например, если команда sv для служб, управляемых runit, не находится в PATH,:

describe runit_service('service', '/opt/chef/embedded/sbin/sv') do
  it { should be_enabled }
  it { should be_installed }
  it { should be_running }
end

Проверка, что IIS запущен

describe service('W3SVC') do
  it { should be_installed }
  it { should be_running }
end

Матчеры

Полный список доступных матчеров можно найти на нашей странице матчеров.

be_enabled

Матчер be_enabled проверяет, включена ли служба с заданным именем:

it { should be_enabled }

be_installed

Матчер be_installed проверяет, установлена ли служба с заданным именем:

it { should be_installed }

be_running

Матчер be_running проверяет, запущена ли служба с заданным именем:

it { should be_running }

© 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/inspec/resources/service/

Spec-Zone.ru

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