问题标签 [sysdig]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
trace - 如何使用“sysdig”跟踪单个进程?
如何使用 跟踪单个进程sysdig
?
类似的东西strace /bin/ls
c - 使用 sysdig 监督时奇怪的过程时间改进
我最近为一个项目尝试了 Sysdig。
我的主要目标是从内核捕获系统调用,而 Sysdig 似乎是一个不错的选择。实际上,我已经使用不同的技术进行了一些测试,并比较了每种技术的开销。
我带着一个简单的测试来到这里:一个 C 程序,它只打开、写入然后关闭一个文件 100000 次。
我在没有监督的情况下进行了 5 次测试,平均持续时间为:
- 真实:30,29s
- 用户:1.068
- 系统:13.098
我使用带有 kprobes 的小型 LKM 运行了其他 5 个测试。完成相同的测试又花了大约 3 秒。
此时,一切看起来都很正常,但是当我使用 Sysdig 运行测试时:
我的 C 程序在哪里ctest
,我的平均结果如下:
- 真实:17,1108
- 用户:0,6336
- 系统:7,3752
所以这个测试的结果是 Sysdig 将我的流程提高了两倍。
我精确到我的测试的标准偏差小于 1 秒。
有人已经看到类似的东西或有解释吗?
由于 Sysdig 作业,它可以与 linux 任务调度程序相关吗?
logging - 如何获取容器上特定进程的 RAM、CPU、网络使用情况
我正在查看在 Centos7 VM 上运行的许多 Docker 容器。每个容器将运行多个进程。对于每个进程,我希望能够查看 CPU 网络和 RAM 使用情况,以确定容器何时开始过载。获得容器的 CPU 和 RAM 是不够的,因为 CPU 可能分配了 100% 的 RAM,但在进程中实际上有空闲的 RAM。我已经使用 Sysdig chisels 来获取单独进程的 CPU 使用率,但网络和 RAM 的使用没有合并。特别是对于网络统计信息,我希望能够知道网络数据包丢弃的任何其他相关统计信息。理想情况下,我将能够使用类似 Sysdig 的工具从主机检索统计信息,而不必使用容器内的资源来运行单独的日志生成器。
django - API监控工具
我希望监控我在一个 docker 容器上创建的所有 API。该 Docker 容器使用 Django REST 框架提供服务。我在 Azure 上运行它。我想通过它是否正在工作或者是否有太多请求会引发警报来监视我的 API。它每秒的请求是多少。
我们正在使用 sysdig 来监控我们的容器,但我认为它没有能力监控我们 Django Rest Framework 的所有 API
bash - 将 sysdig 输出写入文件
我想在我的服务器上检查我的用户命令一段时间,所以我使用带有 nohup 的 sysdig 命令。我想将输出写入这样的文件:
但结果不会实时写入文件。任何想法?
lua - 如何确定 sysdig 字段是否存在或如果不存在则处理错误
我正在使用 Sysdig 来捕获一些事件,并有一个小凿子(LUA 脚本)来根据需要捕获和格式化事件。在 on_init() 我请求这样的字段:
我的问题是如何在请求之前检查字段是否存在?我将使用仅在 0.24.1 上发布的新字段,但理想情况下,我希望我的凿子在没有此字段的情况下继续处理旧版本的 sysdig。我尝试将 chisel.request_field 的调用包装在 pcall() 中,如下所示:
甚至实现我自己的“get_field”功能:
但错误 ( "chisel requesting nonexistent field <field>"
) 仍然存在。
我看不到检查字段是否存在的方法,但我似乎也无法处理错误。如果可能的话,我真的不想要我的脚本的多个版本。
谢谢史蒂夫 H
kubernetes - 如何将 Rancher Kubernetes 集群与 Sysdig 检查集成
将 Rancher 上的 Kubernetes 集群与 Sysdig Inspect 集成的任何想法
kubernetes - 在 minikube 上运行 sysdig
我正在尝试在本地 kubernetes 集群上运行 sysdig,我使用 minikube 和 kvm2 作为 vm-driver 运行该集群。我是 sysdig 的新手,想找到由 pod 运行的系统调用。
我运行的命令是:
sudo sysdig k8s.ns.name=default or k8s.pod.name=algorithm
豆荚正在运行(我检查过),但没有系统调用进入低谷。
如果命名空间正确,我使用 kubectl describe 命令检查;它是。所以我不确定这是哪里出错了。可能是 sysdig 没有找到任何东西,因为 minikube 正在使用上述虚拟机。如果是这种情况,我不确定如何在其中运行 sysdig。
提前致谢
sysdig - 时间聚合如何在 Sysdig 中工作?
我怀疑时间聚合在 Sysdig 中的工作方式。我已经参考了这个文档:https ://sysdigdocs.atlassian.net/wiki/spaces/Monitor/pages/209027280/Data+Aggregation我仍然觉得它含糊不清。
据我了解,Sysdig 每隔 10 秒轮询一次数据。这意味着每 10 秒将有 1 个数据点。这意味着,对于每个数据点(即 10 秒),平均值、最小值、最大值和速率是相同的。但是看看下面的图表,平均值和最大值是不同的,虽然图表已经显示了 10 秒的间隔。
如果假设每秒轮询一次数据,我可以理解,这意味着 10 秒有 10 个数据点。然后可以从这 10 个数据点计算平均值、最大值和最小值,并且这些图表是有意义的。但是如果每10秒只有1个数据点,我想知道平均值/最大值/最小值是如何计算的