add label (#72)
add the wazuh agent label to the agent within the `agent_metadata` table so that we can filter on what agents belong to which customers based on the group
taylor_socfortress committed
Jul 26, 2023 at 10:59 UTC
3d8ec50bc60c50df8a5de249bb846a99a8271341
1 file changed
+6
backend/app/services/agents/agents.py
+6
@@ -153,6 +153,7 @@ class AgentService:
153
existing_agent.ip_address = agent["agent_ip"]
154
existing_agent.os = agent["agent_os"]
155
existing_agent.last_seen = agent_last_seen
156
+ existing_agent.label = agent["agent_label"]
157
existing_agent.client_id = agent["client_id"]
158
existing_agent.client_last_seen = agent["client_last_seen"]
159
existing_agent.wazuh_agent_version = agent["wazuh_agent_version"]
@@ -169,6 +170,7 @@ class AgentService:
170
hostname=agent["agent_name"],
171
ip_address=agent["agent_ip"],
172
os=agent["agent_os"],
173
+ label=agent["agent_label"],
174
last_seen=agent_last_seen,
175
critical_asset=False,
176
client_id=agent["client_id"],
@@ -287,14 +289,18 @@ class AgentSyncService:
289
if agents_collected.status_code == 200:
290
wazuh_agents_list = []
291
for agent in agents_collected.json()["data"]["affected_items"]:
292
+ logger.info(f"Agent: {agent}")
293
os_name = agent.get("os", {}).get("name", "Unknown")
294
last_keep_alive = agent.get("lastKeepAlive", "Unknown")
295
+ agent_group_list = agent.get("group", []) # Use get method to access the 'group' list
296
+ agent_group = agent_group_list[0] if agent_group_list else "Unknown" # Get the first item of the 'group' list
297
wazuh_agents_list.append(
298
{
299
"agent_id": agent["id"],
300
"agent_name": agent["name"],
301
"agent_ip": agent["ip"],
302
"agent_os": os_name,
303
+ "agent_label": agent_group,
304
"agent_last_seen": last_keep_alive,
305
"wazuh_agent_version": agent["version"],
306
},