Sidekiq 无法连接到数据库?
Sidekiq can't connect to database?
我在 /etc/hosts 文件中将 "mariadb" 设置为 127.0.0.1,sidekiq 偶尔会抛出如下错误:
Mysql2::Error::ConnectionError: Unknown MySQL server host 'mariadb' (16)
虚拟机负载不高或类似情况。
稍后编辑:似乎其他 gem 也无法解析主机:
WARN -- : Unable to record event with remote Sentry server (Errno::EBUSY - Failed to open TCP connection to XXXX.ingest.sentry.io:443 (Device or resource busy - getaddrinfo)):
有人知道为什么会发生这种情况吗?
几周前我已经解决了这个问题,但想在发布答案之前确定一下。
我仍然无法弄清楚这个问题的机制,但它是由 fail2ban 引起的。
我把它 运行 放在一个容器中,轮询 httpd 日志并阻止大量爬虫程序抓取我的网站。
我还增加了最大文件处理程序和 inotify 处理程序。
fs.file-max = 131070
fs.inotify.max_user_watches = 65536
一旦我摆脱了 fail2ban 并增加了 inotify 处理程序,错误就消失了。
显然,fail2ban 正因此进入“请勿触摸”列表,我们在应用层推出了一个 404/403/500 处理程序,将未知 IP 推送到 Cloudflare。
虽然这可能是一个边缘案例,但我将其留在此处,希望它能在某些时候对某人有所帮助。
我在 /etc/hosts 文件中将 "mariadb" 设置为 127.0.0.1,sidekiq 偶尔会抛出如下错误:
Mysql2::Error::ConnectionError: Unknown MySQL server host 'mariadb' (16)
虚拟机负载不高或类似情况。
稍后编辑:似乎其他 gem 也无法解析主机:
WARN -- : Unable to record event with remote Sentry server (Errno::EBUSY - Failed to open TCP connection to XXXX.ingest.sentry.io:443 (Device or resource busy - getaddrinfo)):
有人知道为什么会发生这种情况吗?
几周前我已经解决了这个问题,但想在发布答案之前确定一下。
我仍然无法弄清楚这个问题的机制,但它是由 fail2ban 引起的。
我把它 运行 放在一个容器中,轮询 httpd 日志并阻止大量爬虫程序抓取我的网站。
我还增加了最大文件处理程序和 inotify 处理程序。
fs.file-max = 131070
fs.inotify.max_user_watches = 65536
一旦我摆脱了 fail2ban 并增加了 inotify 处理程序,错误就消失了。
显然,fail2ban 正因此进入“请勿触摸”列表,我们在应用层推出了一个 404/403/500 处理程序,将未知 IP 推送到 Cloudflare。
虽然这可能是一个边缘案例,但我将其留在此处,希望它能在某些时候对某人有所帮助。