目录:
唯一标识问题
客户端方式面临的问题:
需要选出一个唯一的字段,作为唯一标识来区分服务器信息
解决问题的过程:
-
第一个解决方法,使用主机序列号
遇到的问题: 虚拟机和宿主机公用一个序列号,导致服务器信息采集不完整 -
第二个解决方法,使用主机名
这里需要制定一些规则,大家都需要遵守 :
- 需要给上架的服务器分配唯一的主机名
- 将服务器的主机名录入到cmdb
- 在分配给技术之前,需要运行下采集程序,此时收集的数据都是原始的
可以将原始数据中的hostname保存到一个文件中,以后,我们再向后端post数据的时候,以文件中的hostname为一个标准
唯一标识数据采集代码逻辑
class Agent(Base):
def collect(self): # 采集功能
res = PluginsManager().execute() # 采集好主机信息
hostname = res['basic']['data']['hostname'] # 获取采集的主机名
info = open(os.path.join(settings.BASEDIR