Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Puppet 如何检查领班从所有主持人收集事实_Puppet_Puppet Enterprise_Theforeman - Fatal编程技术网

Puppet 如何检查领班从所有主持人收集事实

Puppet 如何检查领班从所有主持人收集事实,puppet,puppet-enterprise,theforeman,Puppet,Puppet Enterprise,Theforeman,希望编写自动化脚本以确保foreman从所有节点收集事实 如何确保领班掌握来自所有节点的事实 事实是表示节点状态某些方面的键/值数据对,例如其IP地址、正常运行时间、操作系统或是否为虚拟机 1。手动过程包括: a。登录到foreman UI,单击监视器->事实 b。在主机上运行facter-p 2。自动化: 我已经写了下面的脚本来检查来自每个主机的事实 #!/usr/bin/python import requests import json foreman_url = "https://fo

希望编写自动化脚本以确保foreman从所有节点收集事实


如何确保领班掌握来自所有节点的事实

事实是表示节点状态某些方面的键/值数据对,例如其IP地址、正常运行时间、操作系统或是否为虚拟机

1。手动过程包括:

a。登录到foreman UI,单击监视器->事实

b。在主机上运行
facter-p

2。自动化: 我已经写了下面的脚本来检查来自每个主机的事实

#!/usr/bin/python
import requests
import json

foreman_url = "https://foreman_ip/api/hosts"
username = "admin"
password = "changeme"
node = "node1.puppet.com"
headers = {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
}    
def retrive_hostid():
  host_id = requests.get(foreman_url, headers=headers, verify=False, auth=(username, password))
  hostobj = json.loads(host_id.content)
  for s in hostobj:
     print s['host']['name']
     host_name = s['host']['name']
     url = foreman_url  + host_name + '/facts'  # check facts from each hosts
     print url
     response = requests.get(url, headers=headers, verify=False, auth=('admin', 'changeme'))
     #print response
     respobj = json.loads(response.content)
     print respobj['total'] # display total number of facts found

retrive_hostid()