エントリー

カテゴリー「本サーバ関連」の検索結果は以下のとおりです。

ページ移動

Apache2のログからBOTなどの不要分を削除

最近アクセスが多いのでログを観てみると,そのほとんどがBOTであることが判る

ログの書き込み量でパフォーマンスも落ちるし,SSDは書き込み量で劣化するので少しでも少なくしようかと以下を参考にログの調整を行った

参考:Apacheで特定のリクエストをログから除外しメモリ負荷を軽減する方法

ログの実態確認

リクエスト頻度が高いパスやリソースの確認

awk '{print $7}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head -20

以下が上位

/freo/js/
/freo/images/
/freo/css/
/robots.txt

特定のIPからのリクエスト確認

awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head -20

現状は特に問題なし

BOTをログから抽出

grep "bot" /var/log/apache2/access.log

appleBot,GoogleBot,amazonbot,bingbotなどが抽出

100アクセス/時間という感じ

除外設定

000-default.conf,default-ssl.confのCustomLogの記述を以下に変更

# ボットアクセスの除外 
SetEnvIfNoCase User-Agent "bot" dontlog

# 静的リソースへのアクセス除外
SetEnvIf Request_URI "^/freo/js/" dontlog
SetEnvIf Request_URI "^/freo/images/" dontlog
SetEnvIf Request_URI "^/freo/css/" dontlog

CustomLog /var/log/apache2/access.log combined env=!dontlog

[/」はそのまま記述できるようだ

実証確認

ログローテートも月単位更新から週へ変更

強制的にログローテート

logrotate -f /etc/logrotate.d/apache2

しばらく置いて,ログに無いことを確認

NOAA用サーバをADS-B受信で利用する

先日からサーバのメンテナンスを実施

整理してWEBサーバはメールサーバを含むサーバ,NOAA受信で利用していた外部サーバを(おかしな名称なので)室外サーバに変更,室外サーバは夜間休止とした

利用しなくなった室外サーバにはRTL-SDRが接続されているので,まずはADS-B受信で利用してみる

ADS-B受信のマップ表示にはVirtualRadarを利用,公開はリバースプロキシで対応することにした

20251124_fig1.png

WEBサーバ

セキュリティ確保のため直接アクセスとしないでWEBサーバ経由とする

Apache2のリバースプロキシを設定

参考:https://rainbow-engine.com/apache-reverseproxy-howto/https://rainbow-engine.com/apache-reverseproxy-https/

モジュールの有効化

a2enmod (モジュール名),a2dismod (モジュール名):モジュール名は複数指定可能

# a2enmod proxy_http         
# a2enmod proxy_balancer
# a2enmod proxy
# a2enmod lbmethod_byrequests # 必要ない?

設定ファイルに追加

# vi sites-available/000-default.conf

ProxyRequests Off # リバースのみはOff,フォワードも使うならOn
ProxyPreserveHost On        # 元のホスト名を保持する設定のことだが,これがあると動作しない
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass /vrs/ http://(サーバ)/
ProxyPassReverse /vrs/ http://(サーバ)/

最終的に「VirtualRadar」「dump1090」用に2つProxyPassを作成

注)ProxyPasのバックエンドのURL(上記では(サーバ)の部分)にドメインを付けるとポート指定が無視されるようだ(拙者の環境が悪いのかな?)

Apache2を再起動

# systemctl restart apache2
室外サーバ

アンテナは解体も簡単ではないので,しばらく接続中のNOAA用で試行して,ADS-B受信の設定が落ち着いたら変更する

Virtual Radar Serverのセットアップ

参考:https://www.virtualradarserver.co.uk/mono.aspx

Linux用といってもmonoで動作させるのでWindows版と同じ

(monoのインストール)

$ sudo apt-get install mono-complete

(VirtualRadarServerのインストール)

$ cd
$ wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.tar.gz
$ wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.exe.config.tar.gz
$ cd /srv
$ sudo mkdir vrs
$ cd vrs
$ sudo tar -zxvf ~/VirtualRadar.tar.gz
$ sudo tar -xvf ~/VirtualRadar.exe.config.tar.gz

最初の1回admin,password付きで起動

$ mono VirtualRadar.exe -nogui -createAdmin:admin -password:password
Local address: http://127.0.0.1:8080/VirtualRadar
Network address: http://・・・:8080/VirtualRadar

2回目以降
$ mono VirtualRadar.exe -nogui

ブラウザでアクセスして確認(画面生成のためか少し接続時間が掛かる)→ まだ受信していないので航空機は無い

システム起動時自動起動させる

(スクリプト作製)
$ cat vrs.sh
#!/bin/sh
#
mono /srv/vrs/VirtualRadar.exe -nogui
$

(vrs.shを/etc/rc.localに登録)
$ cat /etc/rc.local
/srv/lbin/vrs.sh 1>&2&

dump1090のインストール(ADS-B受信用だが,マップ表示も可能)

$ sudo apt search dump1090
ソート中... 完了
全文検索... 完了
dump1090-mutability/jammy 1.15~20180310.4a16df3+dfsg-8 arm64
ADS-B Ground Station System for RTL-SDR

$ sudo apt install dump1090-mutability

$ sudo vi /etc/default/dump1090-mutability

(特に変更の必要ないがWebサーバなしでインストールしていると以下のようにnoとなっているかも)

START_DUMP1090="no"
MAP表示(試行)
参考

以下が今後追加で参考になりそう(ありがたい)

 

httpsでのアクセス不良

BlogアクセスをSSL対応したのだが,証明書が更新されておらずアクセスすると「危ないよ」が表示された

どうやら/var/logに空きが無くなって証明書の更新(自動)がエラーになっていたようだ

Armbianは初期設定で/var/logがram(つまりメモリディスク)に割り当てられるようになっていて,μSDで運用するのなら嬉しい機能なのではあるがlogの必要サイズに注意しておかないといけないことを忘れていた

参考までに)https://mattintosh-note.jp/entry/20200419/1587229262

Apacheのログなど残したいので利用せずにして再起動

$ sudo zramctl
NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram1 lzo-rle 50M 28.5M 6.8M 8M 4 /var/log
/dev/zram0 lzo-rle 234.7M 21M 6.6M 8M 4 [SWAP]

$ sudo vi /etc/default/armbian-ramlog
・・・
ENABLED=false
・・・
$ sudo shutdown -r now

(再起動後)

$ sudo zramctl
NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram0 lzo-rle 234.7M 21M 6.6M 8M 4 [SWAP]
$

偶には外部からアクセスしてみないと判らないことがあるな

システムメンテナンス

Webサーバのメンテナンスを実施

パッケージアップグレード
$ sudo apt update

$ sudo apt upgrade

$ shutdown -r now

ss20250510_001.png

ログローテート
$ sudo vi /etc/logrotate.conf
# see "man logrotate" for details

# global options do not affect preceding include directives

# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
#rotate 4
rotate 36 ← 変更

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
dateext ← 変更

# uncomment this if you want your log files compressed
compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# system-specific logs may also be configured here.

apache2の調整してなかったので設定

$ sudo vi /etc/logrotate.d/apache2
/var/log/apache2/*.log {
monthly #was daily
missingok
rotate 36 #was 14
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
prerotate
# if [ -d /etc/logrotate.d/httpd-prerotate ]; then
# run-parts /etc/logrotate.d/httpd-prerotate
# fi
endscript
postrotate
systemctl reload apache2 > /dev/null 2>&1
# if pgrep -f ^/usr/sbin/apache2 > /dev/null; then
# invoke-rc.d apache2 reload 2>&1 | logger -t apache2.logrotate
# fi
endscript
}

syslogなど他はデフォルトで問題ない

注)現在のlogrotateはserviceとして登録されるが実行後は停止する(タイマーで起動)

ログローテートの設定ファイルは,後ろに#でコメントを記述できない(上記の赤色部はミス)

$ logrotate -dv /etc/logrotate.d/apache2

で,記述をデバックできる(-d で処理はされない)

※)問題があったので修正

UPSのチェック

バッテリー電圧の確認

IMG_20250510_143209.jpg

問題ないようだ

CPU温度

ついでにCPU温度を表示するコマンドを作成

#!/bin/sh
#
for CORE in 0 1 2 3
do
    if [ -r "/sys/class/thermal/thermal_zone$CORE" ]
    then
        echo "CPU-$CORE: \c"
        echo "scale=1;`cat /sys/class/thermal/thermal_zone$CORE/temp` / 1000" | bc -l
    fi
done

exit 0

4COREまで存在すれば表示

 

ページ移動

ユーティリティ

検索

エントリー検索フォーム
キーワード

新着コメント

Re:NOAA受信システム復旧
2025/06/11 from admin
Re:NOAA受信システム復旧
2025/06/11 from とおりすがり
Re:SDRplay社RSP1クローンを購入
2025/05/25 from 匿名希望
Re:Mozilla FirefoxではNHKプラスを再生できない件
2025/05/09 from Donabeyaki
Re:ATS-25を作製する
2025/03/23 from kazu

過去ログ

Feed