Contents
1. DiCEのインストール
ネットが切断されたり、ルーターが切断再起動したときにおこるグローバルIPの変更の度に、ダイナミックDNSにアクセスしグローバルIPが変更されたことを知らせなくてはいけません。その作業を自動的にやってくれるのがDiCEです
1. 1 Diceのダウンロード、インストール
①ダウンロード
1 2 3 4 |
# cd /usr/local/bin # wget http://www.hi-ho.ne.jp/yoshihiro_e/dice/diced01914.tar.gz # tar -xzvf diced01914.tar.gz # cd /usr/local/bin/DiCE |
②DiCEの設定
DiCEの出力文字はEUCのため、文字化けしてしまう。
UTF-8に変換するために、nkfをインストールしておく
1 |
# apt install nkf |
#64bitOSで32bitソフトのDiceを動かすため
1 |
# apt install lib32stdc++6 |
③DiCEを起動する
1 2 |
# cd /usr/local/bin/DiCE # ./diced | nkf -uw |
1. 2 イベントの追加
DNSサービスはVALUEDOMAIN
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# ./diced | nkf -uw : add DynamicDNSサービス名を入力してください "?"で対応しているサービスを一覧表示します (P)戻る >VALUEDOMAIN ドメイン名を入力してください "?"でドメイン一覧を表示します (P)戻る ><ドメイン名> ホスト名を入力してください (P)戻る ><ホスト名> ログインユーザ名を入力してください (P)戻る ><ユーザー名> ←VALUEDOMAINに登録したユーザー名 ログインパスワードを入力してください (P)戻る ><passwd> ←VALUEDOMAINにログインするパスワード 登録するIPアドレスを入力してください 空白にすると現在のIPアドレスを自動検出します (P)戻る >空白 このイベントに題名を付けてください (P)戻る >xxxxxxxxx(適当に付ける) 実行する頻度を指定してください (番号入力) (0)1回のみ (1)1日1回 (2)1週間に1回 (3)1ヵ月に1回 (4)その他の周期 (5)IPアドレス変化時 (6)起動時 (P)戻る >5 IPアドレスがあまり変化しない環境の場合、更新せずに一定期間を過ぎると アカウントを削除されてしまうことがあります IPアドレスの変化が無い時に実行する間隔を指定してください (0)7日毎 (1)14日毎 (2)21日毎 (3)28日毎 (4)35日毎 (5)56日毎 (6)84日毎 (P)戻る >0(任意に決める) このイベントを有効にしますか? (Y/N) (イベントの有効/無効は"EN/DIS"コマンドで切替えられます) >y イベントを保存しますか? (Y/N) >y |
1. 3 イベントの確認
1 2 3 4 5 6 7 8 9 |
: list (No.) (イベント名) (スケジュール) (次回予定) 0 * xxxxxxxxx IPアドレス変化時 (7日毎) 10/14 10:50 #手動実行 :ex 0 + 10/7 10:53 にxxxxxxxxxが実行されました IPアドレスを更新しました #DiCEの終了 exit |
1. 4 Diceの自動実行
DiCEデーモンを起動する
1 2 3 4 5 |
# /usr/local/bin/DiCE/diced -d -l =-=-=- DiCE DynamicDNS Client -=-=-= Version 0.19 for Japanese Copyright(c) 2001 sarad # DiCE Daemon Started !! |
起動しているか確認
1 2 3 4 |
# ps aux | grep diced root 35643 0.5 0.0 4044 116 ? Ss 10:55 0:00 /usr/local/bin/DiCE/diced -d -l root 35644 102 0.1 4260 2084 ? Rs 10:55 0:16 /usr/local/bin/DiCE/diced -d -l root 35646 0.0 0.0 4428 640 pts/0 S+ 10:56 0:00 grep diced |
自動で起動するよう設定
1 2 |
# vi /etc/rc.local /usr/local/bin/DiCE/diced -d -l ←追加 |
1 2 3 4 5 6 7 8 9 |
/etc/rc.localがない場合 systemd になって、起動時に実行したいプログラムは、スクリプトを書いてサービスとして登録します。Debianの場合 /etc/rc.local を root で書いて実行ビットを立てておくと、rc-local というサービスによって自動的に実行されるようになっています。 /etc/rc.local新規作成する # vi /etc/rc.local #!/bin/sh /usr/sbin/ethtool -s eno1 wol g ※ eno1は各自のネットワークインターフェース名(# ip addrで確認) # chmod 700 /etc/rc.local |
2. ディスク使用率チェックスクリプト導入
2.1 スクリプト作成
1 2 |
# cd /opt/script/ # vi disk_capacity_check.sh |
disk_capacity_check.shの内容
ディスク使用量が80%を超えた場合通知するよう設定した
1 2 3 4 5 6 7 8 9 10 |
#!/bin/bash #通知先メールアドレス指定 MAIL="[your mailaddress]" DVAL=`/bin/df / | /usr/bin/tail -1 | /bin/sed 's/^.* \([0-9]*\)%.*$/\1/'` if [ $DVAL -gt 80 ]; then echo "Disk usage alert: $DVAL %" | mail -s "Disk Space Alert in `hostname`" $MAIL fi |
1 |
# chmod 700 disk_capacity_check.sh |
2.2 実行確認
①現在の使用率を確認
1 |
# df -h |
次のように表示される
1 2 3 4 5 6 7 8 |
Filesystem Size Used Avail Use% Mounted on udev 970M 0 970M 0% /dev tmpfs 197M 23M 175M 12% /run /dev/sda1 19G 3.8G 14G 22% / tmpfs 985M 0 985M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 985M 0 985M 0% /sys/fs/cgroup tmpfs 197M 0 197M 0% /run/user/1000 |
②使用率80%以上になるようダミーファイルを作成(例ではdummyfile という名前で13G程度)
1 |
# dd if=/dev/zero of=dummyfile bs=1M count=13000 |
③再度確認
1 |
# df -h |
を実行して80%以上になっていることを確認
④ディスク容量チェックスクリプトを実行
1 |
# /opt/script/disk_capacity_check.sh |
設定したメールアドレスに本文の内容として「Disk usage alert : 94%」のように記載のメールが届きます
⑤作成した「dummyfile」を削除
1 |
# rm dummyfile |
⑥定期実行設定
1 2 |
# crontab -e 30 2 * * * /opt/script/disk_capacity_check.sh |
3. ログ解析ツール logwatch インストール
3.1 logwatch のインストール
1 |
# apt -y install logwatch |
3.2 logwatch 設定ファイルの編集
①デフォルトの設定ファイルをコピー
1 |
# cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/ |
②メールの送信先等を変更
1 2 3 4 5 6 |
# vi /etc/logwatch/conf/logwatch.conf 54行目 #MailTo = root ← コメントアウトにして下記追加 MailTo =[your mailaddress] ← メール送信先 87行目 Detail = High |
3.3 ディレクトリの作成
キャッシュで使用するディレクトリが無いので作成しておく
1 |
# mkdir /var/cache/logwatch |
3.4 動作確認
logwatch をインストールするとデフォルトで cron 登録されるので、毎日レポートメールが届く
すぐに確認したければ、以下のようにする
1 |
# /etc/cron.daily/00logwatch |