| As services in cloud environments evolve towards microservices,and containerization,the relationships between services in cloud services become more and more complex,and the behavior of the system becomes more and more difficult to understand and control.To solve the problems caused by architectural evolution,distributed tracing technology emerges as an important means to achieve observability in cloud environments.It improves the understandability and reliability of distributed systems by fully probing the cloud environment and controlling the end-to-end request execution path of the complex environment to quickly diagnose and locate abnormal services in the system.However,with the widespread use of this technology,some shortcomings of traditional distributed tracing systems have been exposed.First of all,the collected data of the probe is not enough and does not have security attributes such as operation identity.Also,the descriptions of different operations are inconsistent,which leads to the inability of security analysis for the data collected by the distributed tracing system.The second point is that the implantation of probes is complicated,and many probes and monitored program components are highly coupled and cannot be reused.The third point is that the sampling algorithms implemented in existing distributed tracing techniques are too simple and do not take into account the unbalanced nature of traffic in the system,leading to the neglect of sampling for small traffic tasks.In this paper,we design and implement a distributed tracing system Bee that supports the OpenTracing interface for the cloud base code OpenStack.firstly,we add a complete and unified record of security attributes in the data record.By studying the system architecture of OpenStack and the vulnerabilities in recent years,five major types of component-independent target operations are designed for OpenStack for probe implantation,which ensures the reusability of the probe system while realizing the complete detection of OpenStack services.Secondly,to improve the complex problem of stubbing,a probe point identification algorithm based on the distributed representation of code is proposed,which can effectively identify 85.6%of resource management functions,and automate probe implantation through Python syntax tree modification technology,which improves the implantation efficiency and simplifies the staking task.In solving the performance problem,we compensate for the problem of unbalanced sampling of the traditional sampling algorithm,design and implement the max-min fair adaptive sampling algorithm to ensure the balance of different traffic data monitoring,and improve the performance by 70.1%compared with the traditional sampling algorithm.Finally,in the vulnerability verification work,we confirmed the security analysis capability of the system,highlighting its advantages over traditional distributed tracing tools. |