🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Q&A

解決済

2回答

599閲覧

Cent OS 6.x or Cent OS 7.x - Disk容量がいっぱいになりそうなときにアラートを飛ばす方法 - SyslogやAPIなど。

hogehoge989

総合スコア11

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

0グッド

0クリップ

投稿2019/11/15 03:28

前提・実現したいこと

CentOS version 6.9と version 7を利用してます。
disk容量がたまに一杯になり、サービスが止まることがあるので、
容量が一杯になる前に、syslogかapiか何かで例えば80%を超えたらアラートを飛ばすなどの設定を
施したいのですが、可能でしょうか?

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

scsi

2019/11/15 03:39

cronで監視するスクリプトを書いたり、監視サーバを構築して定期的に監視したり、いくらでも方法はありそうですが、何がわからないのでしょうか?
退会済みユーザー

退会済みユーザー

2019/11/15 03:43

《disk容量がたまに一杯にな》る原因追求の方が気になるわ
hogehoge989

2019/11/15 04:00

cronで1時間ごとにdf -h /var/logなどのディレクトリ容量の結果を出し、 その後、それら結果をSyslogで宛先のSyslogServerに飛ばす方法はどのようにすればよろしいでしょうか。 恐らくですが、 1..shでコマンドを走らせるのを記載し、 2.cronで定期的に実行させ、 3.rsyslog.confにcronで定期的に実行された上記1の結果を記録したログを 飛ばす。ということでしょうか。 2までは検索して調べて設定できそうなのですが、3からわからないです。。 .shにも特定のディレクトリを作ってみてそこに出力を毎回させて /var/log/emptycheck ディレクトリを例えば作ってみて、、 その場合は、日付.txtで1時間ごとに作成したほうがいいのでしょうか。。 そしてそれら.txtをsyslogで飛ばす。。ってのは不可能なので、、どうしたらいいでしょうか。 df-hの結果を定期的に走らせて、それがsyslogでSyslogサーバに飛んでくるようにしたいんですが、すみません技術がまだ低く。。
urbainleverrier

2019/11/15 04:06 編集

丁寧な方法では、CentOS7だとxfsのproject quotaを使うことになると思います。 通知のソフトもいくらか用意があると思います。
scsi

2019/11/15 04:24

Syslogserverに飛ばしたいのであれば、 1.dfの結果が閾値を超えていた時にloggerコマンドでsyslogserverに通知するシェルスクリプトを作成 2.シェルスクリプトをcronに設定
hogehoge989

2019/11/15 04:25

読んだんですが、、私には難易度が高くてまだわかりませんでしたが、頑張って週末読みます。ありがとうございます。
退会済みユーザー

退会済みユーザー

2019/11/15 06:12

自分で使ったことはありませんが、業務なら、サーバー監視ツールなどを使うと保守など引き継ぎまで含めると良さげな感じはあります。 https://www.dnsstuff.com/free-server-monitoring-tools 無論自分で全部監視しちゃうのもありだけど、グラフで見たいとか言われることもあるので… ゴリゴリ書いてると保守に引き継ぐときにあーってなったりします。
guest

回答2

0

サーバー管理アプリをつかうのが現実的では?
まぁcronの定期処理にdfでチェックするだけでもやりようはありそうですが

投稿2019/11/15 03:38

編集2019/11/15 03:39
yambejp

総合スコア116688

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hogehoge989

2019/11/15 03:51

すみません、今ハッと気がつきました。。初心者で申し訳ございません。。。 例えばですが、 cronで1時間ごとにdf -h /var/logなどのディレクトリ容量の結果を、 次にそれら結果をSyslogで飛ばす方法はどのようにすればよろしいでしょうか。
yambejp

2019/11/15 03:56

> Syslogで飛ばす そのへんのこだわりがわからないのですが 普通にmailコマンドでいけますよね?
hogehoge989

2019/11/15 04:03

Syslogの理由は、無料のSyslogサーバで受けられるようにしたいのと、(例えばBlack Jumbodocや3Cdaemonとか)それ以外では、SIEM側で受け取りたいので、Syslogとなります。 あとはAPI等がイメージしたんですが、、これまたPythonで作らないとダメだと思うので、、わからないです。こちらのサイトですと、Python凄い詳しそうな方や、ベテランのサーバ管理者の方がたくさんおられそうなので投稿しました。。
yambejp

2019/11/15 04:09

どうしてもというならloggerをつかえばいいでしょう
hogehoge989

2019/11/15 04:23

loggerを調べてみます。完成したら走らせてみます。
guest

0

ベストアンサー

df でディスクの空き容量を調べては?

投稿2019/11/15 03:34

Orlofsky

総合スコア16417

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hogehoge989

2019/11/15 03:42 編集

df -h で現在のディレクトリの空き容量はタイプしてみることはあるのですが、 容量が一杯になったり、ある程度溜まってきたときに、Syslogで飛ばしたいんですが、、 どうやったらいいのかわからなく、、こちらにご相談いたしました。  特に何か監視用の有料のソフトは無く自前でsyslogかapiで飛ばすしかない状態です。 どこか遠出した時にや、夜中、容量が一杯、もしくはもう80%等の、Syslogが飛んで来れば、 急いでリモートでサーバにログインして不要なデータは移動したりすることが可能なのですが 方法が見つからず。。
hentaiman

2019/11/15 03:48

手動で見ろって意味では無くて、dfでもduでも何でも良いから容量見て、既定の容量超えてたらメール飛ばすシェルでも作ってcron回しとけば?という意味の回答だとは思いますが ちなみに有料ツールが良いんですか?検索すると有名どころの無料監視ツールが最低二つは出てくると思うけど
hogehoge989

2019/11/15 03:54

回答ありがとうございます。そういえばCronがあったので1時間ごとにdf -hを走らせるようにすればよいと気がついたのですが、、その結果をsyslogで飛ばしたいときはどのように設定すればいいでしょうか。 まずCronでコマンドを一時間毎に走らせる。 次に、その結果をSyslogで宛先に飛ばすと思うのですが、、、。
Orlofsky

2019/11/15 04:08

hentaimanさんが書かれている通り、ディスクがパンクしそうなったら管理者にメールを飛ばせば済むことですよね?syslogはOS側の専用ログだから、ここに書き込むのは難しいように思えます。
hentaiman

2019/11/15 04:13

syslogに出力するのはやめた方が良いと思うし、少し厳しい言い方ですがその程度調べられないならsyslogに出力するなんて尚更やめた方が良いです ログに出すこと自体が目的なら別のログファイルに出力すれば良いです syslogに拘る理由が分からない
hogehoge989

2019/11/15 04:24

皆様ありがとうございます。loggerを作成してみます。 shell syslog 出力で今日一日調べて自分の環境で走らせてみて結果を見てみます。初めて作るのでどうなるかまだ未定ですが、、、。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問