Category tech.


最近ちょっとOAタップの意識が高まってしまって、常用するOAタップはできるだけパナソニック製品 (できが良い) にしようという気概が生まれてきてしまった。

それはともかく、パナソニックはOAタップに「コードなし」モデルをラインナップしている。つまりユーザ側で任意のコードを取り付けられるようになっている。

必要なのは以下の通り。

  • コードなしOAタップ
  • 3心ビニルキャブタイヤ丸形コード(VCTF)2.0mm^2
  • プラグ (2P接地極) 2P
  • (オプション。あったほうが綺麗にできる) R2-3.5 裸圧着端子

ちなみに、価格的には普通にコード付きのを買ったほうが多少安い。作業コストも含めるとカスタム長コードはかなり高くつくことに注意されたい。

自分でコードをつける利点は

  • 任意コード長にできる
  • あとから部分的に構成を変えられる
  • OAタップ側は接地極付きにするがプラグは2極にする、みたいな変な構成のタップが作れる

あたり。特に最後のやつは地味に便利だと思っている。一般家庭だとまず接地極が存在していないので、3極タップに対しては余計に変換プラグが必要になったりするんだけど、それをなくしてコンセント付近をスリムにできる。

ref.

  1. トップ
  2. tech
  3. カスタムコード長OAタップを作る

例えば以下のようなメトリクスがあったとします。みての通り、名前は一緒でラベルだけが異なるメトリクスです。

  • mqtt_topic{instance="127.0.0.1:9981",job="mqtt",topic="/home/sensor/temp"}
  • mqtt_topic{instance="127.0.0.1:9981",job="mqtt",topic="/home/sensor/humidity"}

これらを演算しようとして以下のようにしても no data になります。

 mqtt_topic{topic="/home/sensor/temp"} *  mqtt_topic{topic="/home/sensor/humidity"}

Vector Matching に書いてある通りですが、デフォルトではこのようなベクター同士の演算の場合、左右でラベルが全て一致するメトリクス同士のみが結果に出力されます。

SQL の INNER JOIN でラベル全ての一致が ON 条件に入ってるのをイメージするとわかりやすそうです。

この条件を変更するには、ignoring() または on() を使います。今回のケースでは以下の2つの結果は同じです。

 mqtt_topic{topic="/home/sensor/temp"} *  ignoring(topic) mqtt_topic{topic="/home/sensor/humidity"}
 mqtt_topic{topic="/home/sensor/temp"} *  on(instance,job) mqtt_topic{topic="/home/sensor/humidity"}

ignoring() は JOIN の条件から指定したラベルを除くように働き、on() は JOIN の条件を明示的にすべて指定するように働きます。

リテラル演算との組合せ

数値リテラル(スカラ)とベクターを演算すると、結果はベクターになります。スカラ値との演算時には上記のように ignoring() や on() は指定できません (syntax error になります)。複雑な計算をする場合、適切な場所に on() または ignoring() を書く必要があります。つまりベクター同士の演算になる場所に書きます。

例えば、topic="/home/sensor/temp" を温度、topic="/home/sensor/humidity" を湿度として不快指数を計算したいと思う場合、以下のようになります。

(0.81 * mqtt_topic{topic="/home/sensor/temp"})
  + ignoring(topic) (0.01 *  mqtt_topic{topic="/home/sensor/humidity"})
  * ignoring(topic) (0.99 *  mqtt_topic{topic="/home/sensor/temp"} - 14.3)
  + 46.3
  1. トップ
  2. tech
  3. PromQL でラベル違いのメトリクス同士を演算して no data

最近はこう

ssh-keygen -t ecdsa -b 521

最近の raspi イメージはデフォルトで弱い暗号方式を無効化してあるのでさっさと ecdsa 鍵に乗り換えましょう……

  1. トップ
  2. tech
  3. ssh-keygen