koudenpaのブログ

趣味のブログです。職業柄IT関連の記事が多いと思います。

取れるもんは録っとけの精神でRaspberry Piの情報をMackerelに送る

qiita.com

↑を見て余裕でRaspberry Pi 3にmackerel-agentをインストールできた。

↓を見て余裕でその温度をMackerelに送ることができた。

qiita.com

Raspberry Pi の vcgencmd コマンドは温度以外にもいろいろ取得できるらしいので、ついでに送ることにした。役に立つことがあるかは分からない。

こんな感じでプラグインシェルスクリプトを書き換えたらとりあえず送れた。

シェルスクリプトは何も分からんので項目をコピペ!

#!/bin/bash

function to_double() {
        EQVALUE=$(echo "$1" | grep -o -e "=\([0-9]\+\.*[0-9]*\)")
        echo ${EQVALUE:1}
}

EPOCH=$(date '+%s')

RAW=$(vcgencmd get_throttled)
echo -e "vcgencmd.throttled\t$(to_double $RAW)\t${EPOCH}"

RAW=$(vcgencmd measure_temp)
echo -e "vcgencmd.measure_temp\t$(to_double $RAW)\t${EPOCH}"

RAW=$(vcgencmd measure_clock arm)
echo -e "vcgencmd.measure_clock.arm\t$(to_double $RAW)\t${EPOCH}"
RAW=$(vcgencmd measure_clock core)
echo -e "vcgencmd.measure_clock.core\t$(to_double $RAW)\t${EPOCH}"
RAW=$(vcgencmd measure_clock H264)
echo -e "vcgencmd.measure_clock.H264\t$(to_double $RAW)\t${EPOCH}"
RAW=$(vcgencmd measure_clock isp)
echo -e "vcgencmd.measure_clock.isp\t$(to_double $RAW)\t${EPOCH}"
RAW=$(vcgencmd measure_clock v3d)
echo -e "vcgencmd.measure_clock.v3d\t$(to_double $RAW)\t${EPOCH}"
RAW=$(vcgencmd measure_clock uart)
echo -e "vcgencmd.measure_clock.uart\t$(to_double $RAW)\t${EPOCH}"
RAW=$(vcgencmd measure_clock pwm)
echo -e "vcgencmd.measure_clock.pwm\t$(to_double $RAW)\t${EPOCH}"
RAW=$(vcgencmd measure_clock emmc)
echo -e "vcgencmd.measure_clock.emmc\t$(to_double $RAW)\t${EPOCH}"
RAW=$(vcgencmd measure_clock pixel)
echo -e "vcgencmd.measure_clock.pixel\t$(to_double $RAW)\t${EPOCH}"
RAW=$(vcgencmd measure_clock vec)
echo -e "vcgencmd.measure_clock.vec\t$(to_double $RAW)\t${EPOCH}"
RAW=$(vcgencmd measure_clock hdmi)
echo -e "vcgencmd.measure_clock.hdmi\t$(to_double $RAW)\t${EPOCH}"
RAW=$(vcgencmd measure_clock dpi)
echo -e "vcgencmd.measure_clock.dpi\t$(to_double $RAW)\t${EPOCH}"

RAW=$(vcgencmd measure_volts core)
echo -e "vcgencmd.measure_volts.core\t$(to_double $RAW)\t${EPOCH}"
RAW=$(vcgencmd measure_volts sdram_c)
echo -e "vcgencmd.measure_volts.sdram_c\t$(to_double $RAW)\t${EPOCH}"
RAW=$(vcgencmd measure_volts sdram_i)
echo -e "vcgencmd.measure_volts.sdram_i\t$(to_double $RAW)\t${EPOCH}"
RAW=$(vcgencmd measure_volts sdram_p)
echo -e "vcgencmd.measure_volts.sdram_p\t$(to_double $RAW)\t${EPOCH}"

f:id:koudenpa:20200923220052p:plain
Armコアの周波数は結構変わっているようだ