Chonaso's Commentary

InternetやIT技術などについて知ったこと、試したこと、考えたことを書いていきます。

第6回 ZABBIX-JP勉強会 に行ってきました。

東京・大崎で行われた第6回 ZABBIX-JP勉強会に行ってきました。

私がZabbixを運用で使い始めたのは2010年で、前の職場での開発/運用の内製化にあたり運用の要に据えるために導入しました。今の職場でも新規事業立ち上げに際してZabbixが選定されましたが、私が前職でバリバリ使っていたことが決め手になったそうです。(別に勧めたわけではないのですが)

ただ、私自身Zabbixの今に疎くなっており、キャッチアップもかねて勉強会に参加してみました。


Zabbix最新情報について (Zabbix Japan 寺島 広大さん)

2.0→2.2以降のアップデートはかなり多岐にわたりますが、大きなアップデート・個人的に気になった部分だと以下の部分です。

  • Zabbixのリリースサイクルの変更
  • VMWareの監視機能
  • ローダブルモジュール
  • ログ監視時の抽出
    • ログの保存時に行単位ではなく行内の任意の部分のみ保存することができる。データ量削減に効果的。
  • WMI(Windows Management Instrumentation)への対応
    • PowerShellで頑張らなくてスマートに取得
  • アプリケーション名の重複が可能に
    • 個人的には重複ができないのはバグに近い挙動だと思ってますが…
  • データベーススキーマの自動更新
    • 監視システムのバージョンアップはとにかく恐ろしいもの。アプリなら切戻しは比較的容易ですが、DBは理由もなく怖いものです。
  • 監視の定時実行
    • 従来「○分間隔」といった設定は可能でしたが「毎時○分」という設定はできませんでした。zabbix_sender+スケジューラを組み合わせることで対応できますが、zabbix_senderの監視や外部スケジューラに頼る気持ち悪さなど、いまいちスマートじゃない感じでした。今後は逆にZabbixをスケジューラにするような使われ方も出てきそうです。
  • トリガー条件式の >=, <=, <>, notサポート
    • 特に>=や<=は「えっ?無いの?」ってレベルでした…

Zabbix本に書いたこと書けなかったこと (TIS株式会社 池田 大輔さん)

  • バージョンアップ頻度の激しいアプリケーションの書籍執筆(しかも一人)は大変・孤独・・・
  • Chefなどのインストール手順は書いてあるけど、肝心のZabbixインストール手順がない(にがわら)
  • fluentd + fluent-plugin-zabbixプラグインがいいらしい

第6回zabbix jp勉強会資料


Zabbixの運用において、自分で自分の労働力と時間を節約する為の工夫事例紹介 (株式会社サマリー @kenjiskywalkerさん)

Zabbixは最高!不足があったら自分でちょいとサポートツールを作って補完!新バージョンの登場で無用の長物化!(にがわら)、というZabbixを使い込んでる人なら誰しも共感するポリシーです。

ZABBIXの運用において、 自分で自分の労働力と時間を節約する為の工夫事例紹介 #zabbix_jp

cf. ZABBIXでメトリクス監視の話 from kenjiskywalkerslide

個人的にはメンテナンス時のアクションのONし忘れチェックツールなんか作ってました。


ZabbixのAPIを使って、運用を楽しくする話(仮) (クリエーションライン株式会社 a.k.a 前佛 雅人(@zembutsu)さん)

開発環境まではわりとカジュアルに環境をバッカスカ作れるようになったけど、運用レイヤーではまだそこまで成熟してないよね、っていうのは激しく同意(古)です。

ZabbixAPIってJSONだからjqコマンドと組み合わせて使えば簡単だよね!という話から入り、SerfとZabbixのコンビネーションで自動的にホスト追加+テンプレート適用のライブデモンストレーションへ。

Serfでホストを投入したらメモリ不足でOOMKillerがZabbixのMySQLをぶっ殺す(しかも2度)というアクシデントもありましたが、どうやら自動登録はうまくいったようです。

Serf便利そうですね。私はインフラ担当ではないのですが「○日までにサーバ○○台」ってオーダはウチでもバンバン見かけるので…。


以下LT


ZabbixProxy on RaspberryPi(仮) (@2box2boさん)

私も自宅でRasPiを使っていますが、PidoraでMuninを乗っけたらグラフ生成で激重死して以来「こいつには無理させんとこ」と思っていましたが、案外やってくれるようです。(HouseKeeperはヤバいみたいですが)

私見ですが、わざわざRasberryPiでやるメリットは、初期コストの安さとランニングコストの安さ、省スペース。これに尽きます。ただし、ディスクI/Oが通常鯖と比べ物にならないくらい弱いのでそこをどうカバーするかが課題。

そんなわけで「マスターのZabbixはクラウドorVPSに置いて自宅ではRasPiでZabbix Proxy」というのが今時のスタンダードのようです。

RaspberryPI on Zabbix Proxy


mruby で zabbix agent の loadable module を作ってみた(@BlueSkyDetectorさん)

2.2で追加された目玉機能であるloadable moduleですが、実際にはC言語でネイティブなコーディングが求められるため正直ハードルが高くてあんまり使われないだろうなぁ、と勝手に感じていましたが、mruby(すみません初めて存在を知りました)を使うことによってかなりハードルが下がった印象です。

Ruby で zabbix agent の loadable module を作れる loadable module を C言語 + mruby で作った


ZABBIXに手の届かない所はない(仮) (@BSmileさん)

こちらはZabbix+expectのお話。

expectって個人的には「なるべく使いたくないもの」の一つですが、API化orプロトコル化されてないものを自動制御するためにはやっぱりどうしても必要になりますね。ウチでもとある機器制御に欠かせないです。

そしてZabbixの万能感は時として「マジでそんな使い方するの!?」と言いたくなるようなタスクを呼び込みます。(そしてそれが実現できてしまうのがZabbixの怖いところ)


Zabbixの分散構築~ConoHa VPSでのZabbix Server構築~ *自宅ラックポータルの裏側* (@qryuuさん)

自宅ラック友の会のZabbixほか色んなサービスをConoHaに詰め込むぜ!なお話。

コミュニティメンバーの自宅ラックの監視が一つのVPSに集結するっていうのが超個人主義な私にとってはなんとも奇妙な感じです。

Zabbixの分散構築~ConoHa VPSでのzabbix server構築~


LLD(ローレベルディスカバリ)を弄り倒せ、zabbix_senderを併用してらくらく可視化 (@fripper1214さん)

自動でZabbixへのアイテム追加は大別して

  1. APIを使う
  2. LLDを使う

のどちらかと思っていますが今回はLLDで自動検出→アイテム追加というお話。 zabbix_senderを利用してZabbix Serverにアイテムを送り付けることによってLLDを発動させるという手法です。

zabbix_senderってホント何でもアリですよね。実体の無いホストを立ち上げてメトリクス(さっき覚えた)の入れ物にすることだって可能です。

私自身も似たようなタスクを持っているので非常に参考になりました。

LLD(ローレベルディスカバリ)を弄り倒せ、zabbix_senderを併用してらくらく可視化


よくある勉強会での講演やLTでは割とスタイリッシュな内容が多くいつも「自分だったらもっと生臭い・泥臭い話しかできないなぁ」としり込みしてしまうのですが、さすがインフラレイヤー・運用レイヤーな勉強会だとシンパシー感じまくりな内容が多かったです。

なんやかんやでZabbixでの監視はこれはこれで結構クリエイティブですよね、と自身の経験も踏まえてそんな感想でした。