skucky.com


HOME


Ubuntuその他の設定メモ

  1. analog
  2. ntp
  3. mrtg
  4. motion
  5. サーバーチェックシェル

analog

Ubuntuにanalogをインストールした際の設定メモ。

コマンド1.analogのインストール
quark:~# apt install analog

設定1. /etc/analog.cfg
#以下をコメント
#LOGFILE /var/log/apache/access.log
#LOGFILE /var/log/apache2/referer.log
#LOGFILE /var/log/apache2/agent.log
#以下を修正(ログローテを考慮)
#LOGFILE /var/log/apache2/access.log
LOGFILE /var/log/apache2/access.log*
#以下を追記
OUTFILE Report.html
HOSTNAME "www.skucky.com"
#~中略~
#以下を追記(日本語表示、画像ファイルの格納場所とか)
LANGFILE /usr/share/analog/lang/jpu.lng
DESCFILE /usr/share/analog/lang/jpudesc.txt
DOMAINSFILE /usr/share/analog/lang/jpudom.tab
DNS WRITE
DNSFILE /var/www/analog/dnscache
DNSLOCKFILE /var/www/analog/dnslock
LANGUAGE JAPANESE-UTF
SEARCHCHARCONVERT ON
SEARCHCWORD OFF
IMAGEDIR images/
#以下をコメント
#SREP OFF

上記の設定でanalogコマンドを実行すればレポートファイル(上記の設定で言う所のReport.html)がカレントディレクトリに作成されますが、当該ファイルをブラウザで参照してもanalogの画像ファイルは読み込めません。これは、analogが/usr/share/analog/images/にある画像ファイル(*.png)を読み込んでいるようでして、画像を表示させる箇所が画像が読み込めないアイコン?のようになると思います。

対処としては、下記のコマンドでシンボリックリンクを作成すれば読み込めるようになります。以下の例では、/var/www/analogディレクトリ配下にReport.htmlを出力する前提です。

コマンド2. 画像ファイル格納ディレクトリへのシンボリックリンク作成
quark:~# cd /var/www/analog
quark:~# ln -s /usr/share/analog/images images

あとは、cronなどで定期的にファイルを作成する様に設定しておけば見たいときに見れて便利です。

コマンド3. cronへの登録
quark:~# crontab -l
0 1 * * * cd /var/www/analog;/usr/bin/analog

▲TOP


NTPの設定

UbuntuにNTPをインストールした際の設定メモ。

コマンド4. NTPのインストール
quark:~# apt install ntp ntp-doc ntp-simple

設定2. /etc/ntp.conf
#~中略~
server -4 ntp.nict.jp iburst
server -4 ntp.nict.jp iburst
server -4 ntp.nict.jp iburst
~中略~

▲TOP


MRTGの設定

UbuntuにMRTGをインストールした際の設定メモ。

コマンド5. MRTGのインストール
quark:~# apt install mrtg snmp snmpd

設定3. /etc/snmpd.conf
~中略~
com2sec local localhost private
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
view all included .1 80
access MyRWGroup "" any noauth exact all all all
sysLocation Ubuntu Server 20.0.4
sysContact root
proc apache2 100 1
disk / 10000
disk /boot 10000
load 5 2 1
~中略~

今回、自宅サーバーをUbuntuに更改したことを機に使いまわしたVAIOの温度事情が気になったので、温度をMRTGで監視できるように設定しました。ネットで調べたところ、lm_sensorshddtempと言うソフトでCPUとHDDの温度を検知できるとのことなので、早速インストール。

コマンド6. lm_sensors,hddtempのインストール
quark:~# apt install lm_sensors
quark:~# apt install hddtemp

設定4. /etc/mrtg.cfg
WorkDir: /var/www/mrtg
Options[_]: growright, bits
EnableIPv6: no
 
# 回線使用率表示の設定
Target[localhost_enp4s0]: #enp4s0:private@localhost:
SetEnv[localhost_enp4s0]: MRTG_INT_IP="192.168.1.5" MRTG_INT_DESCR="Marvell-Technology-Group-Ltd.-Yukon-Optima-88E8059-[PCIe-Gigabit-Ethernet-Controller-with-AVB]"
MaxBytes[localhost_enp4s0]: 12500000
Title[localhost_enp4s0]: Traffic Analysis for enp4s0 -- quark
PageTop[localhost_enp4s0]: <h1>Traffic Analysis for enp4s0 -- quark</h1>
    <div id="sysdetails">
        <table>
            <tr>
                <td>System:</td>
                <td>quark in Ubuntu Server 20.0.4</td>
            </tr>
            <tr>
                <td>Maintainer:</td>
                <td>root &lt;webmaster@skucky.com&gt;</td>
            </tr>
            <tr>
                <td>Description:</td>
                <td>Marvell-Technology-Group-Ltd.-Yukon-Optima-88E8059-[PCIe-Gigabit-Ethernet-Controller-with-AVB]</td>
            </tr>
            <tr>
                <td>ifType:</td>
                <td>ethernetCsmacd (6)</td>
            </tr>
            <tr>
                <td>ifName:</td>
                <td>enp4s0</td>
            </tr>
            <tr>
                <td>Max Speed:</td>
                <td>12.5 MBytes/s</td>
            </tr>
            <tr>
                <td>Ip:</td>
                <td>192.168.1.5 (No DNS name)</td>
            </tr>
        </table>
    </div>
 
# Apacheプロセス数表示の設定
Target[httpd]: .1.3.6.1.4.1.2021.2.1.5.1&.1.3.6.1.4.1.2021.2.1.5.1:private@localhost:
ThreshMaxI[httpd]: 20
SetEnv[httpd]: EMAIL="webmaster@skucky.com"
URL="http://www.skucky.com/mrtg/httpd.html"
MaxBytes[httpd]: 150
Title[httpd]: Number of httpd
PageTop[httpd]: <H1> Number of httpd on WebServer</H1>
YLegend[httpd]: Number of httpd
ShortLegend[httpd]: processes
LegendI[httpd]: the number of running httpd
LegendO[httpd]: the number of running httpd
Options[httpd]: growright,absolute,gauge,nopercent
Legend1[httpd]: Apacheプロセス数
Legend2[httpd]: Apacheプロセス数
 
# ロードアベレージ表示の設定
Target[la]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.3:private@localhost:
ThreshMaxI[la]: 50
SetEnv[la]: EMAIL="webmaster@skucky.com"
URL="http://www.skucky.com/mrtg/la.html"
MaxBytes[la]: 100
Title[la]: Load Average
PageTop[la]: <H1> Load Average on WebServer</H1>
YLegend[la]: Load Average
ShortLegend[la]: %
LegendI[la]:1 minute average
LegendO[la]:15 minute average
Options[la]: gauge, growright
Legend1[la]: 負荷平均(1分間)
Legend2[la]: 負荷平均(15分間)
 
# ディスク使用率表示の設定
Target[df]: .1.3.6.1.4.1.2021.9.1.9.1&.1.3.6.1.4.1.2021.9.1.9.2:private@localhost:
ThreshMaxI[df]: 80
SetEnv[df]: EMAIL="webmaster@skucky.com"
URL="http://www.skucky.com/mrtg/df.html"
MaxBytes[df]: 100
Title[df]: Disk Usage "/" and "/boot"
PageTop[df]: <H1>Disk Usage "/" and "/boot" on WebServer</H1>
YLegend[df]: Disk Usage
ShortLegend[df]: %
LegendI[df]:/
LegendO[df]:/boot
Options[df]: gauge, growright
Legend1[df]: ディスク使用率(/)
Legend2[df]: ディスク使用率(/boot)
 
# メモリ使用率表示の設定
Target[mem]: .1.3.6.1.4.1.2021.4.4.0&.1.3.6.1.4.1.2021.4.6.0:private@localhost:
ThreshMinI[mem]: 50%
ThreshMinO[mem]: 50%
SetEnv[mem]: EMAIL="webmaster@skucky.com"
URL="http://www.skucky.com/mrtg/mem.html"
MaxBytes1[mem]: 3687420
MaxBytes2[mem]: 3687836
Unscaled[mem]: dwmy
Title[mem]: Available Memory ("swap" and "real")
PageTop[mem]: <H1>Available Memory "swap" and "real" on WebServer</H1>
YLegend[mem]: Available Memory
ShortLegend[mem]: Bytes
kilo[mem]: 1024
kMG[mem]: k,M,G,T,P
LegendI[mem]:Swap memory available
LegendO[mem]:Real memory available
Legend1[mem]:空きスワップメモリ[MBytes]
Legend2[mem]:空き物理メモリ[MBytes]
Options[mem]: gauge, growright
 
# HDD,CPU温度表示の設定
Target[hddtemp]: `/usr/bin/sensors | grep "CPU Temp" |grep -v grep | awk '{print $3}' | sed -e 's/+//' -e 's/[^0-9+\.].*//' && /usr/sbin/hddtemp /dev/sda | awk '{print $4}'|sed -e 's/[^0-9+\.].*//' && uptime && df | grep ubuntu`
MaxBytes[hddtemp]: 100
Title[hddtemp]: CPU and HDD Temperature by lm_sensors and hddtemp
PageTop[hddtemp]: <h1>CPU and HDD Temperature</h1>
Options[hddtemp]: growright,absolute,gauge,nopercent
WithPeak[hddtemp]: ymw
YLegend[hddtemp]: Temperature
ShortLegend[hddtemp]: ℃
LegendI[hddtemp]: CPU
LegendO[hddtemp]: HDD
Legend1[hddtemp]: CPU温度
Legend2[hddtemp]: HDD温度
Legend3[hddtemp]: CPU温度(1分最大値)
Legend4[hddtemp]: HDD温度(5分最大値)

設定量はちょっと多いですが、基本的にMRTGは2値を使用してグラフを描写するようなので、snmpから取得した2値が何を意味するのかさえ抑えておけば、なんとなく設定はできると思います。設定できればこんな感じのグラフが描写できると思います。

やはりグラフは視覚的に見て分かりやすいので、サーバーに何らかの異常が発生した場合、直ぐに分かるので大変便利なツールだと思います。自宅サーバーを構築しているのであれば是非利用を勧めたいツールの一つですね。

▲TOP


motionの設定

自宅サーバーではWEBカメラを使って監視カメラとして運用することができます。使用したカメラはlogicoolc270というWEBカメラです。自宅サーバーのWEBカメラとして利用する分には比較的安価なわりには性能も十分で良い商品だと思います(決してlogicoolの回し者ではありません)。

昔のLinuxとかは新たにハードを使用するにもデバイスドライバをインストールしたり、パッケージに無ければハードウェアの提供しているデバイスドライバのソースを取り寄せコンパイル、インストールしたり、カーネルオプションを変えてブートイメージをコンパイルし直したりとか何かと手間暇かける必要がありましたが、最近のLinuxは本当に便利でこのようなWEBカメラもUSBポートに接続するだけで勝手に認識して使用できます。これが無料で使えるのですからオープンソースってやはり素晴らしいです。

動画の保存やライブ監視にはmotionというソフトを使っています。設定ファイル/etc/motion/motion.confについては、編集箇所のみ抜粋してあります。

設定5. /etc/motion/motion.conf
#~中略~
daemon on
target_dir /var/www/webcam
framerate 30
threshold 300
movie_quality 100
movie_codec mp4
movie_filename %Y%m%d%H%M%S
webcontrol_localhost off
stream_localhost off
#~中略~

motion.confの設定と監視する場所によりますが、動画ファイルの容量は言うまでもなく結構大きく、リソース(ディスク容量)の有効利用を考慮しないと容量を逼迫してしまいます。特に、自分の様に自宅の庭などを監視していると、ちょっとした草木の揺れや洗濯物の揺れだけでmotionが動体検知して勝手に動画を保存してくれます。

と言う事で、以下のようなコマンドを定期的に実行して動画ファイルを削除するようにしておきます。

コマンド7. crontabの設定
quark:~# crontab -l
find /var/www/webcam -type f -mtime +2 -exec rm -f {} \;

▲TOP


サーバーチェックシェル

自宅サーバーを構築して運用するからには日々サーバーの状況を簡単に把握しておきたいところです。詳しくはチップスのサーバーチェックシェルにありますが、少しだけ改良したシェルスクリプトをこちらに紹介しておきます。

やはり日々の不正アクセスログが気になるので、sshによるアクセスの痕跡や認証ログを出力した点と各種プロセス状況のサマリも出力する様に改良しています。メールスプールの消費状況はもはやメールサーバーと言ってもすべてGmailに転送しているので、メールスプールについてディスク容量を監視する事はもはや意味がないのでコメントアウトしています。

最後にsshに関して余談ですが、小生はsshを使用していません。出先からログインしたい場合はTELNETを使用していますが、VPN接続によりこれを実現しています(先に述べた通りルーターのVPN機能を利用。パケットフィルタリングの設定等も併せて必要ですがある程度のセキュリティは保たれているはず)。sshのアクセスログは本当に鬱陶しくもはやsshは使わない方が良いと判断しました。

▲TOP


Valid XHTML 1.0 Strict


Copyright(C)2002-2021 skucky.com
webmaster@skucky.com