ZABBIX」タグアーカイブ

Zabbixでこのはちゃんを監視するお話

この記事はConoHa Advent Calendar 2015Zabbix Advent Calendar 2015の23日目です。
ConoHa Advent Calendarは3日連続でAPIネタとなってしまいましたね…

このはちゃんとの今年1年の振り返り

煽られて


記事を書いても煽られて

アドベントカレンダー前の煽りは無しの放置プレイときました。
やっぱあんずちゃんの方が愛に溢れてる気がする…

Zabbixでこのはちゃんを監視

何をしたかったか

ぶっちゃけ、サーバの監視ならZabbixagent放り込んで監視すれば万事OKなのですが、だいぶ前のZabbix勉強会で @fripper1214 さんが発表してたLLDとsenderの組み合わせで遊んでないことに気づいたので
このはちゃんの監視ついでにやってみました。

仕組みはスライドとおほぼ同じですが、Python使ってるのと監視対象がこのはちゃんという点がちょっと違います。

できたこと

余り実用性は考えていなかったので適当実装です。

  • 先月の利用金額を取得
  • ホストが増えたら自動で監視対象に追加(senderとLLDの活用)
  • ConoHaダッシュボードと同じくらいの情報を取得
  • cronで動かす

くらいです。

中身はgithubに置いてあります。
zbx_ConoHa

なお、対応は日本リージョンのみです。

動き

こんな感じで見えます
1

cronで1分に1回実行しているのでホストを追加すると自動的にZabbixのホストにも追加されます。
2
3

ConoHaで仮想マシンを削除すればLLDで検知できなくなるのでホストからも消えます。
4

はまったとこ

ディスクIO

ConoHa APIのディスクIO取得で値が返ってきたりNoneが返ってきたりでお手上げでした。
リアルタイムでは難しいのですかねこれ…

サーバステータス

ConoHa APIのVM詳細取得でVMのステータスが取れるのですが、どの値が何なのかさっぱりでした…
ConoHaAPIのベースになってるなんとかスタックのドキュメント見ても記載されてないし、フォーラム漁ったらソース嫁と素敵な回答があったのでわかる範囲だけいれてあります。
今回の監視で作った値のマッピングはこんな感じです。
ConoHa VPS Status
0 ⇒ Build
1 ⇒ Active
4 ⇒ SHUTOFF

まとめ

LLDとsenderの組合せは便利

3系で監視時間の指定ができるようになれば外部スクリプトとLLD、senderの組合せで更に進化させれそう。マクロも使えばユーザー情報もZabbixで管理できるし。

ConoHA APIも想像は膨らむ

APIガシガシ叩けばなんでもできそうなので想像は膨らむ
このはちゃんの胸は(ry

明日のアドベントカレンダー

明日のConoHa Advent Calendar 2015は @unsuitan さんです。
明日のZabbix Advent Calendar 2015は @_BSmile_ さんです。

Pocket

SenseHATとZabbixで温度、湿度、気圧を監視が…なお話

この記事はZabbix Advent Calendar 2015Raspberry Pi Advent Calendar 2015をまとめて書いた横着な11日目です。

が、Zabbix分は薄めかもです。

先にオチを書いておくと温度監視が出来上がってなかったり…orz

Sense HATてなんぞ?

RaspberryPiとGPIOで簡単に繋げれるHardware Attached on Top(HAT)です。
先日打ち上げられたAstroPiにも使われてるHATで、
Pimoroniで20ポンドくらいで売られてます。
お手軽に使えるのですが、機能が豊富です。
イカ、SenseHAT搭載機能

  • ジャイロセンサ
  • 加速度計
  • 磁力計
  • 湿度計
  • 気圧計
  • 8×8のRGB LEDディスプレイ
  • 4軸ミニジョイスティック

IMAG0358
IMAG0363

11/21 のRaspbian JessieであればOS標準でモジュールが組み込まれているのでジョイスティック以外は何も追加インストールせずに使えます。
ジョイスティックはpygameが必要なようです。
温度計が搭載機能にないように見えますが、気圧計か湿度計から取得できます。

Sense HATで監視

SenseHATの使い方はAPIリファレンス(英語)にだいたいまとまってます。
Raspbian Jessieであれば /usr/src/sense-hat/examples にサンプルもあるのでそれを見てもいい思います。

今回は温度と湿度、気圧の取得なのでこんな感じに書けば取得できます。

簡単です。

で、こんだけできたならあとはZabbixSenderで一家に一台はあるZabbixへ投げます。
ここまで作ったのはGitHubにあります。
Python実装のZabbixSenderなので、RasPiにZabbixSenderをインストールする必要がありません。
超お手軽。

問題

さて、実際に監視を始めたここ数日の私の部屋の気温なのですが…
chart.php
岐阜の田舎にあるのに気温は30℃前後の南国…
どういうこっちゃ。

対策

やっぱ温度がおかしいようわーん٩(๑´0`๑)۶なことがあるようでRasPiのフォーラムに色々対策がでてました。
フォーラムの内容を意訳すると、
「温度がおかしい原因はCPUと近いから」
「(CPU温度 – SenseHAT取得温度) / 2 )すれば正常な値になる」
「SenseHATを離してとりつければいい」
等々、喧々囂々な感じでした。

とりあえず、CPU温度との関連性を取得するため、「vcgencmd measure_temp」コマンドの結果もZabbixへ投げ込んでグラフを作成。
手間がかからないZabbixまじで最高です。
その結果がこちら。
chart.php
比例していることを確認できます。

さてここから計算式を直して監視する!ってとこなのですが、ここまでしかできてません…orz
記録可能で正常な温度を監視できる機材を揃えるところからという本末転倒感がある状態です…

ちなみにフォーラムにでていた(CPU温度 – SenseHAT取得温度) / 2 等の式も試してみたのですが、全く当てはまりませんでした。
(SenseHAT取得温度 – (CPU温度 – SenseHAT取得温度)) * 0.75 くらいがいい感じな気はしてますが絶賛検証中です。

まとめ

  • RasPiではPython実装のZabbixSenderとの相性が最高によい
  • Zabbixは温度キャリブレーションにも使える
  • SenseHATの全機能を使いこなすのはかなり難しい
  • 温度センサが正しいか見極めるには正しい値を出力するセンサが必要

ZabbixとSenseHATで超簡単に温度とか監視できるぜぇ!って話にしようと思ったのに…orz

明日のAdvent Calendar

Raspberry Pi Advent Calendar 2015は@junk_coken さんです。
Zabbix Advent Calendar 2015は@atanaka7 さんです。

Pocket

PyConJP2014 に参加してきた

Pythonの地域コミュニティであるPython東海の共同管理人にもなったのでPyConJP2014に初参加してきました。

何があったか

あ…ありのまま 今 起こった事を話すぜ!
『おれはPyconJP2014に参加したと思ったらいつのまにかZabbixを設定していた』
な… 何を言ってるのか わからねーと思うがおれも何をされたのかわからなかった…
頭がどうにかなりそうだった…
催眠術だとか超スピードだとかそんなチャチなもんじゃあ断じてねえ
もっと恐ろしいものの片鱗を味わったぜ…

今回はこれが全て。

開催前の色々

前日仕事がトラブって、夜行バスで行く予定が直前キャンセルからの朝一新幹線という時間を金で買うこととなりました…
やっぱ切替日に移動日をかさねちゃあかんね…

1日目

朝一の新幹線で無事会場着。
会場前でKernelVM北陸でお会いした@k242hd_akgさんに遭遇。

基調講演はとりあえずPython3使ってみないとーと思ったくらい。
ただ、2→3だけでなく、4とか5になってもいいんじゃない?とは思う。

他の講演は適当にかいつまんで聞いてた感じ。
JKC48が個人的に最高に笑えました。

2日目

基調講演の西尾さんがだされたワンライナーが狂気の沙汰にしか見えなかった…
どうも最近は画像認識周りと機械学習が流行りっぽい。
OpenCVとscikit-learnは勉強してみたい。

NOCヘルプ

1日目の途中、色々あってなぜか会場NW監視のZabbixを設定することとなり、名札がひとつ増えて「NOCヘルプ」となりました。
2014-09-13 21.55.19

Zabbixの設定内容

  • MAPの作成
  • 総トラフィック量グラフの作成
  • 気になったとこ適当に

結果としてまともに完了できたのはMAPの作成だけだでした…(見たい講演の合間とかに設定してました)
カウンターがリセットされる値を集計し続けるアイテムって計算アイテムでsum取ればいいと思ったけど、どうもダメっぽい…
あとSNMPがウニャウニャなのもなんとかしたかった…
このへんは完全に実力不足。
最近Zabbixは楽しすぎてたから勉強しなおさないと…orz

まとめ

  • 自宅ラック勢怖い
  • 機械学習面白そう
  • mini Pycon 東海 とかもありやなしや…
  • こんなの絶対おかしいよ…
Pocket

第6回 Zabbix-JP 勉強会でLTしてきた #zabbix_jp

勢いで岐阜から遠征してZabbix勉強会に参加してきました。
更に勢いでLTまで発表してきました。

全体の感想

やっぱZabbixに精通してる方ばかりなのですごいです。
LLD+Zabbix senderとかなんでもありな感じですよ…
あと、「生」前佛さんにお会いできてちょっと感動です。
資料はずっと見てたんですが、生で発表聞くのも初めてでしたけどネタを仕込みつつ内容も丁寧に作られてて、目標としたい方ですね。
会社名刺にTwitterIDが入ってるあたりからしてもういっちゃってますね。
懇親会でせちろーさんにざびたんの画像を会社でも使えるようにしてくださいよーと言ったら採用されそうな感じ?

LTの資料

数日前に見かけたazusaテーマを使ってみました。

LTの感想

RasPiでZabbix Proxyなんて前例いっぱいあるんで外しそうなネタでしたけどEjectと猫に助けられてそこそこ受けたので良かったです。
100人超の前でLT発表とか初めてだったのでかなり緊張してたりしましたが…

勉強会参加されてた方の2/3くらいはRasPi所持なのに使われてるかたは10人程度という状況はやっぱみんな使い道が思いつかないのかなーと。

次回があればまた参加してなんぞ発表したいすなー

まとめ

  • Zabbix用に作った何個かのスクリプトを公開してみようかなーと。
  • 「ZabbixProxy on RaspberryPi」というタイトルは英語的に合ってたのかな…
  • 過去グラフと現在のグラフを画像分析で差分だしてトリガーキックとかできないかな…

最後に、Zabbix勉強会の皆様、開催スタッフの方々お疲れ様でした。
ありがとうございました。

Pocket

Zabbix APIでホストインベントリを取得

Zabbix APIからホストインベントリを取得したい時のやり方をハマったのでメモ。
デフォルトではホストインベントリは出力に含まれていない。

withInventoryでホストインベントリがあるもののみに絞っているのでホストインベントリの値が無いものも出力させたい場合はコメントアウトする。
selectInventoryにはTrueではなくextentとする。

Pocket