投稿

ラベル(munin)が付いた投稿を表示しています

MQTTでIoT通信(4)受け取ったのデータでmunin プラグイン

 さてMQTTで受け取ったデータをmuninでグラフ化するためのプラグイン これでつまずいて1日パーにした。「 MQTTでIoT通信(3)受け取ったのデータのファイル保存 プログラムをサービスとして起動する 」2026/1/03です。muni-nodeから/tmpのファイルが読み込めなかった。munin-nodeが nobody権限なのを解決するための苦悩でした。 完全版では無いが取りあえず動くものをアップしておく  /usr/share/munin/plugins/ munin-mqtt-logger_ の作成 プラグインの作成 #!/bin/bash # シンボリックリンクから識別子を取得 # 例: munin-mqtt-logger_m1-tmp -> m1-tmp # mqtt-data-m1-tmp.txt ITEM=${0##*_} # キーワード判定による縦軸の設定 if [[ "$ITEM" == *"tmp"* ]]; then     VLABEL="Temperature (degree)"     ARGS = " –base 1024" elif [[ "$ITEM" == *"hum"* ]]; then     VLABEL="Humidity (%)"     ARGS = " --lower-limit 40 --upper-limit 70" elif [[ "$ITEM" == *"pres"* ]]; then     VLABEL="Barometric pressure (hPa - 900)"     ARGS = " --lower-limit 8 --upper-limit 12" elif [[ "$ITEM" == *"co2"* ]]; then     VLABEL="CO2 (ppm)"     ARGS = " --base 1024 -l 0" else     VLABEL=...

ブラザーのプリンタのSNMP

 なんかブラザーのプリンタのSNMPがmuninで取れていない事に気付く。 で、munin-updateには Config node [プリンタ名] listed no services for [プリンタ名], (advertised as [muninが稼働しているサーバー名]).  Please see http://munin-monitoring.org/wiki/FAQ_no_graphs for further information. ってなる。  でもmuninサーバーが動いているマシンから snmpwalk -v 2c -c public [プリンタ] ってしても問題なく値が返ってくる、なんじゃいな。 dcp 系のプリンタは読み込めるが、mfc系のプリンタが読み込めない。 なぜだ。  

Raspberry pi OS Raspbian GNU/Linux 13 (trixie) コマンド備忘録 6 mh-z19でmunin

 Raspberry pi OS Raspbian GNU/Linux 13 (trixie) コマンド備忘録 5 python仮想環境 mh-z19 第2 前回作ったdist/ フォルダ内に  main をnz-h19-appとファイル名を変更し/usr/local/binに移動 /usr/share/munin/plugins/ に munin-chk-co2 を以下のようなファイルを作成 #!/bin/bash if [ "$1" = "autoconf" ]; then         echo "yes"         exit 0 fi if [ "$1" = "config" ]; then     # グラフタイトル     echo 'graph_title CO2'     # グラフ縦軸     echo 'graph_vlabel CO2 (ppm)'     # グラフのスケール設定 #    echo 'graph_args --base 1024 -l 0'     #カテゴリ     echo "graph_category Environment"     #グラフの縦軸の制限     echo graph_args --lower-limit 400 #--upper-limit 4000     # 凡例の設定        # each line name     echo server1.label CO2 #    echo server2.label WiMAX_Transfer2_amount     #ライン値設定     echo server1.draw LINE2     #    echo server2.draw LINE2 ...

またまたmuninとまる20250223

 muini使っているとなぜか、なんかよくわからんが止まることがある。 今回はmuninでsnmpや他のmunin-nodeの値は取得できるが、ローカルのデータがとれない。 でローカルのコマンドラインで。 $ cd /etc/munin/plugins $ sudo ./uptime    ← 何でもよい  ./uptime: 29: .: cannot open /plugins/plugin.sh: No such file 29行名は以下の内容  . "$MUNIN_LIBDIR/plugins/plugin.sh" どうも環境変数 $MUNIN_LIBDIR がとれていない。そもそも、これ、どこで設定したのやら。 apt --reinstall install munin でも回復しないもんね。

QnapのNASでmunin-snmpがうまくディスク容量をとれない?→解決

 QnapのNASでmunin-snmpがうまくディスク容量をとれない?- 2024/12/28 に対する対策,すでに公開されていた https://github.com/munin-monitoring/munin/issues/1323 概要は、取りあえず、超意訳すると「ubuntu 20.04.3までのmuninは古いプラグインがインストールされているからqnapのsnmpのディスク容量読み込めないよ。修正してね」です。で修正コードが書かれています。 で、修正方法ですが、直接プラグインを書き換えるのが怖かったので、まず 1.snmp__dfファイルを複製(同じ中身のsnmp__df-qnapを作る) $ cd /usr/share/munin/plugins/ $ cp snmp__df snmp__df-qnap 2.snmp__df-qnapを編集する。リンク先にあるように編集する。 142行目付近の緑の部分をコメントアウトして、赤の部分を追加最後のかっこを忘れに、書式とかは、リンク先を見た方がよい。 if (!defined $newpartitions{$name} ) { # $newpartitions{$name}{size} = get_single ($session, $hrStorageSize . $disk); #   $newpartitions{$name}{storage} = $disk; #   $newpartitions{$name}{used} = get_single ($session, $hrStorageUsed . $disk); # #    print "# added size \"$newpartitions{$name}{size}\" to \"$name\" for \"$part\" from disk \"$disk\"\n" if $Munin::Plugin::SNMP::DEBUG;   my $size = get_single($session, $hrStorageSize . $disk);   if ($size != 0) {      $newpartit...

NEC UNIVERGE IX2215(5)VPN経由のSNMP、SSH、PING

 VPNで接続できたのだが、以下のローカルネットがVPNによってよって接続されているのだが、192.168.0.0側から192.168.5.254のIXに「 snmpwalk -v 2c -c public 192.168.5.254 」を打つと 192.168.0.0  --+~~~~~~~+----- 192.168.5.0 192.168.5.254のIX配下にクライアントがいると返事をしてくれるが、クライアントが無いと返事を返してくれないという意味不明な状態が発生。 ちなみにSSHもpingも通らない。何かがぶら下がっていないと外から通信できない? NAPTで外部に公開?でいけるのか。

ESP32買った(3)SNMPで情報提供muninと連携(1)

 ESP32に各種センサーを取り付けて、muninからSNMPで情報を抜けないか検討している。ESP32的にはmuninのアーキテクチャーは省電力を使いにくいmunin-nodeからwi-fiでEPS32にアクセするので、wi-fiを待ち状態にしておく必要があり、省電力にしにくい、EPS32側にデータを収集して、一定時間で、ESP32側からプッシュできれば、楽なのだが。 さて、とりあえず、SNMPがうごくかどうか。 参考にしたのは Blogだけれどほとんど旅行の日記   2023/05/05 車載カメラプロジェクト Part 10 ESP32-WROVERにSNMP Agentを組み込む 比較的簡単にSNMPエージェントにできるようなことを書いている。 やり方は 1.Arduino IDEのツール、ライブラリー管理で「SNMP」で検索、SNMP_AgentのVer.2.1.0を選択して、インストール。 2.examplesフォルダーのESP32_SNMPのESP32_SNMP.inoをひらき、とりあえず const char * ssid = " " ; const char * password = " " ; にssidとパスワードを記入してコンパイル、実行する。 で、外部から  snmpwalk -v 2c -c public 192.168.x.xxx でアクセスすると   iso.3.6.1.2.1.1.3.0 = Timeticks: (239549) 0:39:55.49 と返してくれる。 とりあえずつかえそうなことがわかった。 

QnapのNASでmunin-snmpがうまくディスク容量をとれない?

こっちで解決 20250122 ---------------------  QnapのNASでmunin-snmpがうまくディスク容量をとれない? AsusterやSynorogyのNASはとれているのだが、QNAPだけとれない??? なぜ。

muninだけではないが環境移行すると結構大変

 ラズパイからRockのarmbianに環境移行しているが、細かいところで躓く プリンタのインク残量をチェックするプラグインだが dcp-926は問題なく移行できたのに、他がうまく移行できない。 課題はhttpsの証明書を無視できない点。 r = requests.get(url, verify = False) #htmlの取得 全て同じコードなのに、mfc-l2740とmfc-j6583はエラーを返す。 こまった。

armbianのシェルスクリプトで分割が使えない

 CMD=`/usr/local/bin/chk_dcp926_ink.py` でコマンドの実行結果(カンマ区切り)を分割して配列にいれていたのだが、  list=${CMD//,/ } echo server1.value "${list[0]}" echo server2.value "${list[1]}" echo server3.value "${list[2]}" echo server4.value "${list[3]}" 分割がarmbianではうまく動かない、そんなことありえるのか  list1=$(echo "$CMD" | cut -d',' -f1) list2=$(echo "$CMD" | cut -d',' -f2) list3=$(echo "$CMD" | cut -d',' -f3) list4=$(echo "$CMD" | cut -d',' -f4) echo server1.value "$list1" echo server2.value "$list2" echo server3.value "$list3" echo server4.value "$list4" と書き換えた 

muninのsnmpが突然取得できなくなった。

 Muninは結構使っているが、結構気難しい印象のソフト、動いているときは問題ないが、なんかちょっとやらかすと大変 今回は、QnapのNASをSNMPで監視しようとしたら、どうもまきこまれて、他のSNMP機器も監視できなくなった。 具体には muini-node.logに結構なエラーが残っている。例えば Argument "noSuchInstance" isn't numeric in addition (+) at /etc/munin/plugins/snmp_192.168.2.8_swap line 55. Use of uninitialized value $mp in hash element at /etc/munin/plugins/snmp_192.168.0.20_df_ram line 138. と言ったログだ、でまだ完全に原因を究明したわけではないが ,なんかQNAPのNASのSNMPがくさい。 https://github.com/munin-monitoring/munin/issues/1323 の投稿で Having the same SNMP___DF issue with SNMP to a QNAP TS-669. It reports several sys devices with size = 0. What I found out on Ubuntu 20.04.3: Ubuntu still installs some older plugin code. In /usr/share/munin/plugins/snmp__df, line 160 ff provides code to work around missing partition sizes by populating a %newpartitions hash. This code does not check for zero size entries. Then in line 181, the perfectly good %partitions will be overwritten and later all zero size entries will be cleared out from %partit...

Debian12環境のmunin-node が起動しない。

Debian12環境のMunin-nodeが起動しない問題、これも他の調べた人の丸パクリ Debian12でmunin-nodeが起動しなくなった /etc/munin/munin-node.conf を編集 host * ↓ host 0.0.0.0 にするそうだ。ipV6を無効にしておくとおこるそうだ 

muninでブラザーのプリンタの情報(2)

イメージ
 muninでブラザーのプリンタの情報(1) でインク残量の取得に失敗したが、とりあえず、急ぎでインクの状態が知りたかったので、 美しくなはい事を理解しつつ、 動かせることを前提に構築 でSNMPでとれなかったので、どうしたかというと、WEB管理ページの推定インク残量のところからとることにした。個々のインクの残量の四角の高さをHTMLで指定している muninで温度と湿度をグラフ化- 10/26/2019 で使った方式を採用。 /usr/local/bin/ chk_dcp926_ink.py ----------------------------------- #!/usr/bin/env python3 import sys from bs4 import BeautifulSoup import requests import urllib3 from urllib3.exceptions import InsecureRequestWarning urllib3.disable_warnings(InsecureRequestWarning) url = "https:// プリンタのIPアドレス /home/status.html" r = requests.get(url, verify = False) #htmlの取得 soup = BeautifulSoup(r.content, 'html.parser') # すべてのliタグを検索して、その文字列を表示する elems = soup.find_all("img") for elem in elems:      if elem.get('alt') == "Magenta":           myMagenta = elem.get('height')      if elem.get('alt') == "Cyan":           myCyan = elem.get('height')      if elem.get('alt') == "Y...

muninでブラザーのプリンタの情報(1)

 muninでブラザーのプリンタのインク残量とかとれないか調べていたが、どうもブラザーのMIBではインク残量はとれないようだ。 https://stackoverflow.com/questions/21186284/toner-levels-using-snmp $ snmpwalk -v 2c -c public a.b.c.d iso.3.6.1.2.1.43.11.1.1.9.1 iso.3.6.1.2.1.43.11.1.1.9.1.1 = INTEGER: -3 iso.3.6.1.2.1.43.11.1.1.9.1.2 = INTEGER: -3 iso.3.6.1.2.1.43.11.1.1.9.1.3 = INTEGER: -3 iso.3.6.1.2.1.43.11.1.1.9.1.4 = INTEGER: -3 iso.3.6.1.2.1.43.11.1.1.9.1.5 = INTEGER: -3 iso.3.6.1.2.1.43.11.1.1.9.1.6 = INTEGER: 48877 iso.3.6.1.2.1.43.11.1.1.9.1.7 = INTEGER: 15830  It turns out that the "-3" return messages are expected. My Brother MFC doesn't return the level of the toner using snmp, but just "full", "almost empty", "empty" or "absent". インクの量の満タン、減っている、空、カートリッジがセットされて以内を数字の-3とかで表しているようで、残量をここからとることはできなさそうだ。 ちなみに iso.3.6.1.2.1.43.11.1.1.6.1.* がはいっているインクの色 iso.3.6.1.2.1.43.11.1.1.9.1.* が対応する残量のようである。 レーザープリンタのドラムの残量は iso.3.6.1.2.1.43.11.1.1.6.1.2 = STRING: "Drum Unit" iso.3.6.1.2.1.4...

muninで印刷枚数

SNMP プリンタ 印刷総数- 10/06/2017 でほったらかしていた、muninでのプリンター印刷枚数の記録ですをはじめたので記録 まず、muninにデフォルトの/usr/share/munin/pluginsにsnmp__print_pagesとsnmp__print_suppliesというそれらしいファイルがあるのだが、結論から言うと、うちの環境ではうまく動かなかった。中身見るとそれらしいのだが。とりあえず急ぎだったのでsnmp__processesをベースにファイルを作って動かした ファイル名はそれぞれ snmp__number_of_printed_sheets 総印刷枚数 snmp__number_of_printed_sheets_bytime 各時間の印刷枚数 である。中身は、snmp__processesのOIDを書き換えて、グラフの軸を変更するだけ 具体的には snmp__number_of_printed_sheets 総印刷枚数 OIDのところをすべて1.3.6.1.2.1.43.10.2.1.4.1.1に書き換える print "require 1.3.6.1.2.1.43.10.2.1.4.1.1";  でグラフの軸の変更で graph_title the number of printed sheets. graph_args --base 1000 -l 0 graph_vlabel number of printed sheets graph_category print graph_info This graph shows the number of printed sheets. processes.label the number of printed sheets. processes.draw LINE2 processes.info the number of printed sheets.. EOC に変更する snmp__number_of_printed_sheets_bytime 各時間の印刷枚数  上記と一緒ですが。 graph_title the number of printed sheets by time. graph_args --base 1000 -l 0 graph_v...

munin インストール ラズベリーパイ 多分正しい方法

 固定IP /etc/dhcpcd.conf を編集 interface eth-0 static ip_address=192.168.3.253/24 #static ip6_address=fd51:42f8:caae:d92e::ff/64 static routers=192.168.3.254 #static domain_name_servers=192.168.3.254 8.8.8.8 static domain_name_servers= 192.168.3.254 apache の導入 $ sudo apt install apache2 apache2-doc  php php-gd php-pear libapache2-mod-encoding libapache2-mod-php php-mbstring php-cgi php-common libapache2-mod-fcgid libcgi-fast-perl  modencodingの有効化 有効化(インストール時点で有効化されているはず) この時点でfastcgiつかえてない気がする $ sudo a2enmod encoding $ sudo a2enmod rewrite munin等のインストール  $ sudo apt install munin munin-node munin-plugins-extra $ sudo apt install rrdcached $ sudo apt install munin libnet-snmp-perl   /etc/default/rrdcached の編集 WRITE_TIMEOUT=1800 WRITE_JITTER=1800 SOCKGROUP=www-data BASE_OPTIONS="-F -f 3600" に変更 アクセスグループの変更 sudo gpasswd -a munin www-data sudo gpasswd -a www-data munin /etc/apache2/conf-enabled/munin.conf の編集 ここでアクセス制限を取り除くだけどOK <Directory /var/cache/munin/www> と ...

munin インストール ラズベリーパイ

 久々にmuninインストールしたので記録 多分間違っているので、そのうち書き直さないといけない 固定IP /etc/dhcpcd.conf interface eth-0 static ip_address=192.168.3.253/24 #static ip6_address=fd51:42f8:caae:d92e::ff/64 static routers=192.168.3.254 #static domain_name_servers=192.168.3.254 8.8.8.8 static domain_name_servers= 192.168.3.254 apache の導入 $ sudo apt install apache2 apache2-doc  php php-gd php-pear libapache2-mod-encoding libapache2-mod-php php-mbstring php-cgi php-common libapache2-mod-fcgid libcgi-fast-perl modencodingの有効化 有効化(インストール時点で有効化されているはず) この時点でfastcgiつかえてない気がする $ sudo a2enmod encoding $ sudo a2enmod rewrite $ sudo a2enmod cgid $ sudo apt install munin munin-node $ sudo apt install  rrdcached   /etc/default/rrdcached の編集 WRITE_TIMEOUT=1800 WRITE_JITTER=1800 SOCKGROUP=www-data BASE_OPTIONS="-F -f 3600" に変更 FastCGIの導入  fcgidの導入 ラズパイはfcgiしかないらしい sudo apt install libapache2-mod-fcgid ubuntu等だと  fastcgi も使えるらしい sudo apt-get install libapache2-mod-fastcgi /etc/munin/munin.conf 以...

20200115のトンガの火山噴火の衝撃波にともなう気圧変化

イメージ
2022.1.15 午後におこったトンガでの大規模噴火による津波に関して、地震由来と違い、衝撃波による津波らしい、それで、噴火に伴う気圧変化が日本全国で観測されたととのこと、 ラズパイとBME280で気圧を測っていた ので、見てみたら、観測できていた。 muninのグラフでsat 20:00頃に変なノイズがのっている。拡大すると 20:20頃に少しあがって、下がっているのが観測されている。ちゃんとはかれていてびっくり。

ラズパイのSD瀕死の重傷

  ubuntuでアップデート後の再起動プロセスの確認 そして悲劇へ【未解決】- 6/13/2020 におこった悲劇、Muninのデータが飛んだ件ですが、どうもSD重傷だったようだ、 apt updateしても、うまくアップデートできず Reading package lists... Error! E: Encountered a section with no Package: header E: Problem with MergeList /var/lib/dpkg/status E: The package lists or status file could not be parsed or opened.  対策として /var/lib/dpkg/status が壊れているようなので  $ sudo rm  /var/lib/dpkg/status  $ sudo touch  /var/lib/dpkg/status ファイルを消して、作る、そしてupdate・・・・・・。失敗  SDが壊れていることをうたがう、でCheck Flash確認、FAT領域だけでもエラーだらけ SDを交換、16GBのSDが入っていたんだが、手もとに128GBと8GBしかない、128GBはちょっと大容量すぎるかと、8GBに移行することを検討 アクロニスでコピー失敗、 DDでimage作成、移動、失敗 最終的にDDでイメージを作り、ubuntuのGpartでサイズを縮小、それを再度DDでイメージを作ってい、それを8GBのSDに書き込んだ、結果前回と同じ次期までmuninのデータが戻る。 この期間に変更した設定が一部無くなっていた。

ubuntuでアップデート後の再起動プロセスの確認 そして悲劇へ【未解決】

checkrestart -a をおぼえて,確認していたら.rrdcachedの再起動が提案されたので,再起動,あれmmunin更新されない,そうか,munin-node稼働中にrrdcached再起動したから,見失ったかな,muninとmunin-node再起動すればいいか $ sudo /etc/init.d/munin restart $ sudo /etc/init.d/munin restart グラフ書き始めない?何でだろ もういいか,再起動 え.munin 一週間分データ消えて書き始めている?意味不明 rrdcachedのデータ飛んだのか,まじで /etc/default/rrdcached 中で設定しているのは以下だけ 基本的には WRITE_TIMEOUT=1800 WRITE_JITTER=1800 SOCKGROUP=www-data BASE_OPTIONS="-F -f 3600" で30分から1時間ぐらい分しか書き出しを遅らせていないはずなのに, わけがわからんよ rrdtool flushcached で手動で書き込めるみたいだが,詳細は調査中 -------------------- こちらに続く「 ラズパイのSD瀕死の重傷 」