AGENT 模式唯一标识主机名

客户端以自身主机名为唯一标识将数据上报到API,每个客户端数据根据主机名去存储,若主机名被改变则数据会被认为是新主机得数据造成信息上报失误。

  • 解决方式

客户端建立配置文件,第一次数据采集后把主机名配置写入配置文件,第二次后以配置文件中主机名为准进行数据上报

  • 代码

 1 config/settings.py
 2 
 3 CERT_PATH = os.path.join(BASEDIR,'config','cert')
 4 
 5 src/plugins/client.py
 6 class Agent(Base):    def execute(self):
 7 
 8         server_info = PluginManager().exec_plugin()
 9         #唯一标识主机名得处理(在config/cert为记录主机名得文件)
10         hostname = server_info['basic']['data']['hostname']
11         certname = open(Settings.CERT_PATH,'r',encoding='utf-8').read()
12         if not certname.strip():              #注意去空行。如果文件中没有,第一次会写入获取得主机名
13             with open(Settings.CERT_PATH,'w',encoding='utf-8') as f:
14                 f.write(hostname)
15         else:                                 #如果有就以文件中主机名为准
16             server_info['basic']['data']['hostname'] = certname
17         self.post_asset(server_info)
View Code

相关文章:

  • 2021-12-07
  • 2022-12-23
  • 2022-12-23
  • 2021-12-10
  • 2021-12-04
  • 2021-07-27
  • 2021-10-15
猜你喜欢
  • 2022-12-23
  • 2021-04-20
  • 2021-09-22
  • 2022-12-23
  • 2021-07-30
  • 2021-05-13
相关资源
相似解决方案