Capturing and using application-level data to monitor a compute environment
An illustrative method includes receiving, by a data platform configured to monitor the compute environment, runtime workload data collected by an agent deployed to the compute environment, wherein the runtime workload data comprises user space data collected from a user space of the compute environment and kernel space data collected from a kernel space of the compute environment. The method further includes performing, by the data platform, a monitoring operation based on the user space data and the kernel space data of the runtime workload data.
1 . A method of monitoring a compute environment, the method comprising:
receiving, by a data platform configured to monitor the compute environment, runtime workload data collected by an agent deployed to the compute environment, wherein the runtime workload data comprises user space data collected from a user space of the compute environment and kernel space data collected from a kernel space of the compute environment, and wherein the user space data is collected by way of a user probe dynamically inserted by the agent into an application running in the compute environment during runtime; and
performing, by the data platform, a monitoring operation based on the user space data and the kernel space data of the runtime workload data.
2 . The method of claim 1 , further comprising:
determining, by the data platform and based on a characteristic of the application, a type of the user probe; and
providing, by the data platform and based on the determining the type of the user probe, the user probe to be inserted into the application.
3 . The method of claim 1 , wherein the user space data comprises data representing a user input to the application.
4 . The method of claim 3 , wherein the user input comprises a command line input to the application.
5 . The method of claim 1 , wherein:
the application comprises a load balancer;
the kernel space data comprises data indicating the load balancer as a source of a data packet routed by the load balancer; and
the user space data comprises data indicating a source of the data packet as received by the load balancer.
6 . The method of claim 1 , wherein the kernel space data comprises encrypted data representing an encrypted request and the user space data comprises unencrypted data related to the encrypted request.
7 . The method of claim 1 , wherein the performing the monitoring operation comprises detecting an anomaly based at least in part on the user space data.
8 . The method of claim 7 , wherein the detecting the anomaly comprises associating the user space data with the kernel space data.
9 . The method of claim 1 , wherein the performing the monitoring operation comprises generating a logical graph of nodes and edges based at least in part on the user space data, the logical graph representing activities in the compute environment.
10 . The method of claim 1 , wherein the user probe comprises an extended Berkely Packet Filter (eBPF) module.
11 . A method of monitoring a compute environment, the method comprising:
receiving, by an agent deployed to a compute environment being monitored by a data platform, kernel space data collected from a kernel space of the compute environment;
receiving, by the agent, user space data collected from a user space of the compute environment, wherein the agent receives the user space data from a user probe dynamically inserted into an application running in the compute environment by the agent during runtime;
generating, by the agent based on the kernel space data and the user space data, runtime workload data; and
providing, by the agent, the runtime workload data to the data platform, the data platform configured to perform a monitoring operation based on the runtime workload data.
12 . The method of claim 11 , wherein the user space data comprises data representing a user input to the application.
13 . The method of claim 11 , wherein:
the application comprises a proxy server;
the kernel space data comprises data indicating the proxy server as a source of a data packet routed by the proxy server; and
the user space data comprises data indicating a source of the data packet as received by the proxy server.
14 . The method of claim 11 , wherein the kernel space data comprises encrypted data representing an encrypted request and the user space data comprises unencrypted data related to the encrypted request.
15 . The method of claim 11 , wherein the user probe comprises an extended Berkely Packet Filter (eBPF) module.
16 . A non-transitory, computer-readable medium storing computer instructions that, when executed, direct one or more processors of one or more computing devices to perform a process comprising:
receiving runtime workload data collected by an agent deployed to a compute environment, wherein the runtime workload data comprises user space data collected from a user space of the compute environment and kernel space data collected from a kernel space of the compute environment, and wherein the user space data is collected by way of a user probe dynamically inserted by the agent into an application running in the compute environment during runtime; and
performing a monitoring operation based on the user space data and the kernel space data of the runtime workload data.
17 . The computer-readable medium of claim 16 , wherein the user space data comprises data representing a user input to the application.
18 . The computer-readable medium of claim 16 , wherein:
the application comprises a load balancer;
the kernel space data comprises data indicating the load balancer as a source of a data packet routed by the load balancer; and
the user space data comprises data indicating a source of the data packet as received by the load balancer.
19 . The computer-readable medium of claim 16 , wherein the kernel space data comprises encrypted data representing an encrypted request and the user space data comprises unencrypted data related to the encrypted request.
20 . The computer-readable of claim 16 , wherein the user probe comprises an extended Berkely Packet Filter (eBPF) module.