0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NFSを用いたシステムのアラート設定の注意点

Posted at

NFSを用いたシステムのアラートの設定について自分の体験談から注意点をまとめておこうと思います.
意外と気づきにくいところなのでもし今後,NFSを用いてファイルやディレクトリを共有する時に意識するといいかもしれません.

NFSとは

NFSとはNetwork File Systemの略で他のマシンのファイルやディレクトリを共有するシステムです.ファイルサーバに作成しデータをまとめたりする際に使用します.NFSはサーバとクライアントに分かれており,サーバ側のディレクトリを共有する形で使用します.割と簡単に利用できるのでぜひ使ってみてください.参考記事の1番でインストールできます.

実際に起きたこと

自分が使っていた構成を説明します.自分自身はWebサイト上にブログサイトを公開しようと思って6台のVMを用意していました.またその中でファイルを共有するためにNFSサーバとNFSクライアントでディレクトリを共有してました.

当時,PrometheusとNodeExporterを用いてそれぞれのVMのディスク使用率を監視していました.その際に実際に1から6台全てのVMでディスク使用率が高いよというアラートが一斉に出ました.これを最初に見た時,感じたことは「意味がわからん」とういことでした.なんで,1つのVMではなく同時に出るんだという感じでしたね.

当時Prometheusのアラートの設定を以下のようにしていました.

- alert: node-monitoring-disk-usage-high
      expr: 1 - (node_filesystem_avail_bytes / node_filesystem_size_bytes) >= 0.8
      for: 1m
      labels:
        severity: "warning"

Prometheusで監視できる対象全てのディスク使用率を見ていました.閾値は0.8です.つまり80%を超えた時にアラートが出ます.

例えば,/dev/mapper/ubuntu--vg-ubuntu--lvの部分を重点的に監視するとかかな.こうすればアラートの発生箇所も抑えられたよね.

原因

原因は結果的にNFSのサーバが原因でした.

image.png

どういうことかというと,NFSサーバとクライアントはディレクトリやファイルを共有します.その中で,NFSサーバがいるVMのディスクの容量が不足すると,共有している他のディレクトリも同様に容量が不足してるよとエラーが出ます.
NFSクライアント側の共有されているディレクトリを見てみると大体56%使用していますよね.

$ df -h
...
Filesystem                         Size  Used Avail Use% Mounted on
outside-nfs3:/home/cdsl/mysql       47G   25G   20G  56% /mnt
...

NFSサーバ側のディレクトリも/dev/mapper/ubuntu--vg-ubuntu--lが56%ですよね.つまりPrometheusはこの値を拾っていたことがわかります.

$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              392M  1.2M  390M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   47G   25G   20G  56% /
tmpfs                              2.0G     0  2.0G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          2.0G  254M  1.6G  14% /boot
/dev/sda1                          1.1G  6.1M  1.1G   1% /boot/efi
tmpfs                              392M  4.0K  392M   1% /run/user/1000

これは集中型のシステムであるNFSだからこそ起こることなんでしょうね.このような場合アラートが全てのVMで出てしまうので修正箇所がわからないですよね.

これは大問題です!!!!!!!!!!

なのでPrometheusの設定もちゃんと変えるべきでした.

- alert: node-monitoring-disk-usage-high
      expr: 1 - (node_filesystem_avail_bytes{instance = "NFSサーバのいるVMのIP"} / node_filesystem_size_bytes{instance = "NFSサーバのいるVMのIP"} ) >= 0.8
      for: 1m
      labels:
        severity: "warning"
      for: 1m
      labels:
        severity: "warning"

こんな感じで絞れればよかったですね.

最後に

この件で学んだことは監視する際に対象を分けてあげることの重要性と動いているものはなんなのか意識することですね.
僕もまだまだなんでこれからも頑張ります.

参考記事

  1. https://www.server-world.info/query?os=Ubuntu_22.04&p=nfs&f=2
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?