Gold TEMPer (413d:2107) と Munin で室温を記録する

前回の記事の続きです。

ginkyo.hatenablog.jp

今回は Munin プラグインを作って、Gold TEMPer (413d:2107) と TEMPered で取得した気温を Munin で記録できるようにします。

手順

プラグインを作る

Python で雑に作りました。

#!/usr/bin/env python

import subprocess,sys

def config():
  print 'graph_title Room temperature'
  print 'graph_vlabel Degrees Celsius'
  print 'graph_category sensors'
  print 'temperature.label Room Temperature'

def getTemperature():
  out = subprocess.Popen(
    '???/TEMPered/utils/tempered', # TEMPered/utils/tempered の絶対パス
    stdout=subprocess.PIPE,
    stderr=subprocess.PIPE,
    shell=True
  ).communicate()[0].decode('utf-8')
  temperature = out.split(' ')[3]
  return temperature

args = sys.argv
if (len(args) > 0 and 'config' in args):
  config()
else:
  temperature = getTemperature()
  print('temperature.value ' + temperature)

実行できるようにパーミッションを設定すること。

$ chmod 755 プラグインのファイル名

このプラグイン/etc/munin/plugins/ に配置する。(※ 一旦 /usr/share/munin/plugins/ に置いてからシンボリックリンクを作成するのでも良いと思います。)

$ cp プラグインのファイル名 /etc/munin/plugins/

プラグインの設定ファイルを作る

以下の内容のファイルを作成して /etc/munin/plugin-conf.d/ に配置する。(※ 既存の設定ファイルに下記内容を追記するのでも良いと思います。)

[プラグインのファイル名]
user root

munin-node を再起動する

$ sudo service munin-node restart

テスト

$ sudo munin-run プラグインのファイル名 config
graph_title Room temperature
graph_vlabel Degrees Celsius
graph_category sensors
temperature.label Room Temperature
$ sudo munin-run プラグインのファイル名
temperature.value 28.81

1 日くらい放置してみた結果

f:id:Ginkyo:20180529070353p:plain

良いんじゃないでしょうか。

参考