Ресурс службы
Используйте ресурс проверки 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/