「エアコンの安全な修理・適切なフロン回収」はこちら

Ubuntu Server 20.04でサーバー構築 DiCE logwatch インストール etc

1. DiCEのインストール

ネットが切断されたり、ルーターが切断再起動したときにおこるグローバルIPの変更の度に、ダイナミックDNSにアクセスしグローバルIPが変更されたことを知らせなくてはいけません。その作業を自動的にやってくれるのがDiCEです

1. 1  Diceのダウンロード、インストール

①ダウンロード

# cd /usr/local/bin/
# wget https://centos.rcg.jp/download/DiCE.tar.gz
# tar -xzvf DiCE.tar.gz
#cd /usr/local/bin/DiCE

②DiCEの設定
DiCEの出力文字はEUCのため、文字化けしてしまう。
UTF-8に変換するために、nkfをインストールしておく

# apt-y install nkf

#64bitOSで32bitソフトのDiceを動かすため

# apt install lib32stdc++6

③DiCEを起動する

# cd /usr/local/bin/DiCE
# ./diced | nkf -uw

1. 2 イベントの追加

DNSサービスはVALUEDOMAIN

# ./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 イベントの確認

: list 
(No.)   (イベント名)     (スケジュール)         (次回予定)
0 *      xxxxxxxxx   IPアドレス変化時 (7日毎)   07/29 06:27ー

手動実行
:ex 0
+ 7/22 6:33 にddns_valuedomainが実行されました
IPアドレスを更新しました

1. 4 Diceの自動実行

DiCEデーモンを起動する

# /usr/local/bin/DiCE/diced -d -l

起動しているか確認

# ps aux | grep diced
root 5346 12.2 0.0 5440 492 ? Ss 06:37 0:04
/usr/local/bin/DiCE/diced -d -l

自動で起動するよう設定

# vi /etc/rc.local
/usr/local/bin/DiCE/diced -d -l ←追加
/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 スクリプト作成

# cd /opt/script/
# vi disk_capacity_check.sh
disk_capacity_check.shの内容

#!/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

# chmod 700 disk_capacity_check.sh

2.2 実行確認

①現在の使用率を確認

# df -h

次のように表示される

Filesystem               Size       Used     Avail     Use%      Mounted on
udev                   1.9G           0     1.9G         0%         /dev
tmpfs                                                 391M     1.6M    390M        1%         /run
/dev/mapper/ubuntu–vg-ubuntu–lv    19G      9.2G     8.6G      52%         /
dev/loop0                                           56M        56M        0      100%         /snap/core18/2253
/dev/loop1                                          62M        62M        0      100%         /snap/core20/1270

②使用率80%以上になるようダミーファイルを作成(例ではdummyfile という名前で8G)

# dd if=/dev/zero of=dummyfile bs=1M count=8192

③再度確認

# df -h

を実行して80%以上になっていることを確認

④ディスク容量チェックスクリプトを実行

# /opt/script/disk_capacity_check.sh

設定したメールアドレスに本文の内容として「Disk usage alert : 98%」のように記載のメールが届きます

⑤作成した「dummyfile」を削除

# rm dummyfile

⑥定期実行設定

# crontab -e
30 2 * * * /opt/script/disk_capacity_check.sh

3. ログ解析ツール logwatch インストール

3.1 logwatch のインストール

# apt -y install logwatch

3.2 logwatch 設定ファイルの編集

①デフォルトの設定ファイルをコピー

# cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/

②メールの送信先等を変更

# vi /etc/logwatch/conf/logwatch.conf
54行目
MailTo =<your mailaddress> # < = メール送信先
86行目
Detail = High # < = ログの詳細レベル (Low(0), Med(5), High(10) か 1~10 の整数)

3.3 ディレクトリの作成

キャッシュで使用するディレクトリが無いので作成しておく

# mkdir /var/cache/logwatch

3.4 動作確認

logwatch をインストールするとデフォルトで cron 登録されるので、毎日レポートメールが届く
すぐに確認したければ、以下のようにする

# /etc/cron.daily/00logwatch
タイトルとURLをコピーしました