ресурс хоста
Используйте ресурс проверки аудита Chef InSpec, чтобы проверить имя, используемое для ссылки на определенный хост, и его доступность, включая интернет-протоколы и порты, через которые это имя хоста должно быть доступно.
Доступность
Установка
Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.
Версия
Этот ресурс стал доступен в версии v1.0.0 InSpec.
Синтаксис
Блок ресурса host объявляет имя хоста, а затем (в зависимости от того, что необходимо проверить) порт и/или протокол:
describe host('example.com', port: 80, protocol: 'tcp') do
it { should be_reachable }
it { should be_resolvable }
its('ipaddress') { should include '12.34.56.78' }
end
где
-
host()должен указать имя хоста и может указать номер порта и/или протокол -
'example.com'— это имя хоста -
port:— это номер порта -
protocol: 'name'— это интернет-протокол: TCP (protocol: 'tcp'), UDP (protocol: 'udp'или ICMP (protocol: 'icmp'))
Свойства ресурса
-
connection,ipaddress,protocol,socket
Примеры ресурсов
В следующих примерах показано, как использовать этот ресурс аудита Chef InSpec.
ipaddress
Матчер ipaddress проверяет, разрешается ли имя хоста к определённому IP-адресу:
describe host('example.com') do
its('ipaddress') { should include '93.184.216.34' }
end
Проверка доступности имени хоста по определенному протоколу и номеру порта
describe host('example.com', port: 80, protocol: 'tcp') do
it { should be_reachable }
end
Проверка разрешимости определенного IP-адреса
describe host('example.com') do
it { should be_resolvable }
its('ipaddress') { should include '93.184.216.34' }
end
Обзор конфигурации соединения и содержимого сокета при проверке доступности
describe host('example.com', port: 12345, protocol: 'tcp') do
it { should be_reachable }
its('connection') { should_not match /connection refused/ }
its('socket') { should match /STATUS_OK/ }
end
Матчеры
Этот ресурс аудита Chef InSpec имеет следующие специальные матчеры. Полный список доступных матчеров можно найти на нашей странице матчеров.
be_reachable
Матчер be_reachable проверяет, доступно ли имя хоста:
it { should be_reachable }
be_resolvable
Матчер be_resolvable проверяет разрешение имени хоста, т.е. «разрешимость до IP-адреса»:
it { should be_resolvable }
© 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/host/