LoginSignup
4
0

More than 3 years have passed since last update.

Mattermostでいきなり504エラーが出てきだしたと思ったら、ファイルディスクリプター不足だった話

Last updated at Posted at 2020-12-22

毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。

0. はじめに

社内のMattermostを運用し始めてからそろそろ2年ですが、快適に使えておりました。
しかし、突然 504エラーが発生しはじめたのでございます。

10.XX.YY.ZZ - - [19/Oct/2020:05:16:03 +0900] "GET /api/v4/users/me/teams/g8wt6k198p87fb5t69n4skknqc/channels/members HTTP/2.0" 504 569 "-" "k3xaqkwfefgxdnkcpd1gupi83o" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Mattermost/4.5.3 Chrome/78.0.3904.130 Electron/7.3.2 Safari/537.36" "-" "61.503"
10.XX.YY.ZZ  - - [19/Oct/2020:05:16:03 +0900] "GET /api/v4/users/me/teams/g8wt6k198p87fb5t69n4skknqc/channels?include_deleted=true HTTP/2.0" 504 569 "-" "k3xaqkwfefgxdnkcpd1gupi83o" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Mattermost/4.5.3 Chrome/78.0.3904.130 Electron/7.3.2 Safari/537.36" "-" "61.504"

リソースには余裕があり、メモリー/CPUの問題ではありませんでした。

しかし、Mattermostのログを見ると以下のログが大量に出力されておりました。

{"level":"error","ts":1603052014.4308474,"caller":"http/server.go:3088","msg":"http: Accept error: accept tcp [::]:8065: accept4: too many open files; retrying in 10ms","source":"httpserver"}

見事にサボっていたファイルディスクリプターに引っかかっておりました。

1. ulimitを増やす

一番簡単なのがsystemdのserviceを直す事でしょう。

以下を参考にしました。
https://github.com/mattermost/mattermost-docker-preview/issues/32#issuecomment-405083050

sudo vi /etc/systemd/system/mattermost.service

以下の下線部分を追記します。

image.png

LimitNOFILE=65535

TimeoutStartSec=3600 も追加する人もいるようです。

systemdをリロードします。

sudo systemctl daemon-reload

2. まとめ

反省.
手を抜くといかんですね...。

その他にも /etc/sysctl.conf も直すと良いかもです。

High Availability Cluster (E20) — Mattermost 5.29 documentation
https://docs.mattermost.com/deployment/cluster.html#mattermost-server-configuration

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0