この記事は Mackerel プラグインアドベントカレンダー(全部CRE) の12日目です。
それでは12日目は mackerel-plugin-inode
です。
mackerel-plugin-inodeはその名の通り、inodeの利用量を可視化するプラグインです。
インストールと設定手順
inodeのプラグインは df -iP
の中身を可視化してくれるプラグインです。
本プラグインはプラグイン集として提供しているパッケージの mackerel-agent-plugins
に含まれています。
インストール先は /usr/bin/mackerel-plugin-inode
です。
次にMackerelのプラグインはコマンドですので実行する事ができます。
※/usr/bin はPATHが通っているので省略出来ます
-- /usr/bin はPATHが通っているので省略出来ます # mackerel-plugin-inode inode.count.xvda1.used 46487 1512981612 inode.count.xvda1.free 1919593 1512981612 inode.count.xvda1.total 1966080 1512981612 inode.percentage.xvda1.used 2.364451 1512981612
設定ファイルであるmackerel-agent.confは標準では /etc/mackerel-agent/mackerel-agent.conf
にインストールされます。
こちらに下記のとおり追記しましょう。
[plugin.metrics.inode] command = "mackerel-plugin-inode"
以上を行った上でmackerel-agentを再起動してください。
見れるメトリック
df
コマンド自体の説明は割愛しますがディスクに関わる色んな情報を見ることができます。
inodeはそれを下記の図のように可視化してくれます。
それでは具体的に見ていきましょう。
各グラフ定義ごとに説明します。
それでは各グラフ定義ごとに説明します。
また表に出てくるdiffとはプラグイン上で差分値計算をするかどうかです。
◯
となっている項目はプラグインで前回の実行時の値と差分値計算して出力しています。
Inode
メトリック名(ラベル) | プラグインの出力名 | diff | 説明 |
---|---|---|---|
used | inode.count.xvda1.used | ー | 使用中のinodeの数 |
free | inode.count.xvda1.free | ー | 未使用のinodeの数 |
total | inode.count.xvda1.total | ー | inodeの総数 |
これはわかりやすいですね。 そのままinodeの利用している状態を可視化されています。 inodeが枯渇すると新しいディレクトリやファイルが作る事ができません。 画像などの共有ファイルサーバやバックアップサーバなどは枯渇しがちなので特に注意しましょう。
Inode Percentage
メトリック名(ラベル) | プラグインの出力名 | diff | 説明 |
---|---|---|---|
percentage | inode.percentage.xvda1.used | ー | inodeの利用率 |
こちらは利用状況を割合(%)で計算してくれます。 これで8割使うようだとアラートなど出せますし、全体のどれくらいを使っているか一目瞭然です。 いっぱいになると多くの場合、障害に即決しますので監視項目としてチェックするようにしましょう。
そもそもinodeって?
Linuxなどで使われているext4などのファイルシステムがファイルやディレクトリを管理するためのデータの事をinodeといいます。
上記のファイルシステムの全てのファイル、ディレクトリに対し、ユニークなinode番号が割り振られます。
このinode番号の発行できる総数が Inode total
の値なのです。
inodeはinode番号以外にも次のようなものを管理しています。
そのためinodeを使い切る前述のとおり、新しいファイルやディレクトリが作成することが出来ません。 このように普段、何気なく使っているファイルシステムですがinodeはとても大切な存在です。
inodeのアラートが来たら?
最初に言いますが ext4
は設定したinodeの容量を 後から変更する事が出来ません
ext4についてはファイルシステムを作り直す必要があります。
CentOS 5, CentOS 6ではext4がデフォルトですのでご注意ください。
CentOS 7からのデフォルトの xfs
は xfs_growfs
コマンドで増やすことができます(めっちゃ便利!
最初からinodeが枯渇することが目に見えている場合はしっかりとチューニングしておきましょう。
inodeを沢山使うサーバにはxfsを採用することも一つの選択肢ですね。
特に意識せずAmazon Linuxなどを使ってる方は今回を機に一度 df -T
でファイルシステムを確認すると良いでしょう。
12日目はinodeを可視化してくれるinodeプラグインについての説明でした。
明日は多機能プロクシサーバーの王道 haproxy
です。
引き続き、Mackerel プラグインアドベントカレンダーをお楽しみに!