安定運用に入ったRaspberry Piの
状態をチェックしてて気付いた事が一つ。
FlightRadar24のMLATが自動起動してない。
しかしサービスをリスタートさせると普通に有効になる。


というわけで、Google先生で検索かけると
どうもソフトの起動順に問題があるらしい。
起動順を表示するコマンドで確認
systemd-analyze plot > ~/systemd-analyze.svg
homeディレクトリにsystemd-analyze.svgが出来るので
ブラウザで見てみます。

現状、FR24>Dump1090>piawareの順になってるのを
Dump1090>piaware>FR24の順にして
FR24の起動を遅らせると良いらしい。
今回参考にさせて頂いたサイトの方は /etc/rc.local で
dump1090exporter
(dump1090の状態を書き出すソフト)
の実行の前に20秒待機時間を取っていて、
その後にFR24の実行をすると丁度良いとのこと。
なので、真似させて頂くことに。
・dump1090exporterのインストール
python3系が必要なのでインストール(環境によっては不要かも)
sudo apt install python3-pip python3-setuptools python3-dev
dump1090exporterのインストール
sudo pip3 install dump1090exporter
・20秒待機した後、dump1090exporterを自動起動するよう設定する。
sudo nano /etc/rc.local
(最後の exit 0 の直前に2行追記)
緯度経度は受信機の位置を設定します。
/bin/sleep 20
/usr/local/bin/dump1090exporter --latitude=-35.00000000 --longitude=136.00000000 &

再起動後
http://192.168.1.100:9105/metrics
# HELP dump1090_messages_total Number of Mode-S messages processed since start up
# TYPE dump1090_messages_total gauge
dump1090_messages_total{time_period="latest"} 44782
# HELP dump1090_recent_aircraft_max_range Maximum range of recently observed aircraft
# TYPE dump1090_recent_aircraft_max_range gauge
dump1090_recent_aircraft_max_range{time_period="latest"} 225019.61296084058
# HELP dump1090_recent_aircraft_observed Number of aircraft recently observed
# TYPE dump1090_recent_aircraft_observed gauge
dump1090_recent_aircraft_observed{time_period="latest"} 7
・・・以下略
が表示されれば大丈夫です。
一旦、ここでdump1090exporterの設定は止めて
FR24の起動順の設定に戻ります。
・fr24feedをrc.localの後に起動するように設定する。
fr24feedサービスを一旦停止します。
sudo service fr24feed stop
sudo systemctl disable fr24feed
fr24の設定ファイルを編集
sudo nano /etc/systemd/system/fr24feed.service
下記の様に1行コメント化
1行追加
[Unit]
Description=Flightradar24 Decoder & Feeder
#After=network-online.target #元の設定をコメントアウト
After=rc-local.service #追加

設定変更後、fr24feedサービスを有効に戻し
sudo systemctl enable fr24feed
再起動
sudo reboot
再度
systemd-analyze plot > ~/systemd-analyze.svg
で確認すると

Dump1090>piaware>FR24の順に起動しています。
fr24feed-status
で確認

今度は再起動後にMLATが自動で有効になりました。
当初の目標はここまでだったのですが、
上記の様にdump1090exporterをインストールしたので
ついでにそちらも使えるようにしてみます。
(以下のソフトは全く知識が無いので不正確だと思います)
・Prometheusをインストール(リソース監視ソフト?)
sudo apt-get install prometheus
確認
systemctl status prometheus
systemctl status prometheus-node-exporter
ともにactiveになっていればOKです。
・prometheus.yml の設定
sudo nano /etc/prometheus/prometheus.yml
書き込む位置は
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
scrape_timeout: 5s
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090']
の下に
- job_name: 'dump1090'
scrape_interval: 10s
scrape_timeout: 5s
static_configs:
- targets: ['localhost:9105']
を追記します

書き込む位置、内容が違うと正常に動きませんので注意です。
・Grafanaのインストール(視覚化ソフト)
プログラムの一覧に追加?
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
インストール
sudo apt update && sudo apt install -y grafana
有効化
sudo systemctl unmask grafana-server.service
sudo systemctl start grafana-server
sudo systemctl enable grafana-server.service
再起動
sudo reboot
・Grafanaの設定
http://192.168.1.100:3000/
にアクセス

左の歯車マークからData Sources
URLに
http://192.168.1.100:9090
設定、一番下のSave&Test
Data source is workingと表示されればOK
・dump1090export Grafana dashboardの入手とインポート
https://grafana.com/grafana/dashboards/768
から
右のDownload JSONでローカルに保存しておきます。

左の+マークからimport

右のUpload .json fileを選択
folderをGeneral
PrometheusをドロップダウンからPrometheusを選択

でimportをクリック

このようにグラフが表示されれば成功です。
飛行機の受信機数、最大受信レンジ、電波の強度など
色々と見ることが出来るので
自分の現在のADS-Bの状態把握に役立つかと思います。
今回の記事は
がとらぼさん
https://gato.intaa.net/archives/21762
https://gato.intaa.net/archives/21250
Grafanaのインストールについて
https://simonhearne.com/2020/pi-influx-grafana/
を参考にさせて頂きました。