关于sentry:聊聊使用错误采集平台sentry踩到的坑
前言sentry简介Sentry 是一款业余的企业级谬误跟踪和日志剖析工具,旨在帮忙开发人员、管理员和产品经理跟踪、剖析和解决应用程序谬误和性能问题。Sentry 的次要性能和长处包含: 谬误跟踪: Sentry 能够跟踪应用程序中的谬误,并将它们记录下来,以便开发人员可能疾速定位和解决问题。 日志剖析: Sentry 能够剖析应用程序的日志,并提供具体的信息,如谬误级别、调用堆栈、数据库拜访等,以帮忙开发人员疾速定位和解决问题。 告诉和警报: Sentry 能够通过电子邮件、Slack、PagerDuty 等渠道告诉开发人员谬误和性能问题的产生,以便及时响应和解决问题。 可扩展性: Sentry 反对自定义谬误音讯、扩大谬误跟踪性能等,开发人员能够依据本人的需要进行自定义和扩大。 团队合作: Sentry 反对团队合作,能够不便地共享谬误和日志信息,并反对多人同时编辑和评论。 总的来说,Sentry 是一款功能强大、易于应用的企业级谬误跟踪和日志剖析工具,能够帮忙开发人员和管理人员更好地治理和解决应用程序中的谬误和性能问题。 本文次要聊下在应用sentry过程中遇到的一些问题 问题锦集问题一:uWSGI listen queue of socket "127.0.0.1:42563" (fd: 3) full !!! (101/100)这是因为uWSGI的监听队列满了,默认的监听队列长度为100,把监听队列调大就行 具体操作,批改/onpremise/sentry/sentry.conf.py SENTRY_WEB_OPTIONS = { .... "listen":10240, ....} 不过调了,重启后大概率会报 Listen queue size is greater than the system max net.core.somaxconn (128)此时要批改零碎参数,如果是通过宿主机部署,则执行vim /etc/sysctl.conf,增加如下内容 # 用于设置内核无奈及时处理网络接口收到的数据包时容许发送到队列的最大数据包数目,默认为128。也就是每个监听的socket,在没有accept之前,期待解决的socket队列长度net.core.somaxconn = 10240而后执行sysctl -p 从新加载参数。不过如果是基于docker-compose部署sentry,这么加是没成果的。得通过在docker-compose.yml做如下配置 示例: version: '3'services: ...: image: ... container_name: ... privileged: true sysctls: net.core.somaxcomm: '10240'能够查看如下文档https://github.com/docker/compose/issues/3765#issuecomment-402929969 ...