« 第8回redmine.tokyo勉強会 | トップページ | db tech showcase 1日目 »

2015/05/28

Zabbixだけじゃない! OSSを徹底活用して運用自動化を実現

Zabbix大好きなので、セミナーに行ってきました。



【基調講演:Zabbix3.0の新機能とAPIを利用したステータスの可視化や設定ツール】


  • 3.0のリリースは開発の遅れによって2015年8月に延期。

●開発の状況



  • http://www.zabbix.org/wiki/Docs/roadmap

    • ユーザ権限のメンテナンス作成機能、スクリーン等の共有機能は実装中。



  • WEBインターフェースのプルダウンがボタンに変わったりしてます。

    • 2.5ではデザインの変更を取り込み済み。



  • ローレベルディスカバリの改善

    • Windowsのサービスも登録可能



  • 任意のタイミングでアイテムのデータを取得

    • アイテムの監視タイミングをcronに似た表記で設定可能。間隔ではなく時刻を指定できる。



  • 任意のタイミングでhousekeeperを実行

    • zabbix_server -R housekeeper_execute


テンプレートなどの共有サイトができました!
http://share.zabbix.com


ダッシュボードのデザインが洗練されたな、と思う反面、開発遅れで欲しい機能1位が落ちるまさかの罠w


  • 任意のタイミングで、zabbix_server に取得命令発効 → zabbix_agentd から値を即時取得、
    というのがユーザフォーラムで最も欲しい機能でした。


●Zabbix APIとは


http://zabbix-server/zabbix/api_jsonrpc.php からJSON形式で取得できます。

  • 監視設定の実施、取得

  • 収集した監視データの取得

APIを利用したツールは


  • zabbix_tool(Python)

  • zabcon(Ruby)

  • Zabbix-Gnome(Python)
    ぐらいしかない…


様々な言語のライブラリはあるが、デファクトスタンダードは存在しない。

INTEROPでは


  • ShowNetの監視のデモをします。

  • グローバルダッシュボードのデモもあります。




【Zabbix監視運用業務の自動化事例】

●システム運用の目的



  • サービスの継続的提供

  • 障害対応

●手作業の運用の問題



  • 撲滅できない操作ミス

    • タイプミス

    • 手順書のタイポ

    • エラー時のロールバック手順不備



  • 原因不明の障害

    • 開発/検証/本番環境が微妙に異なる

    • 環境によって操作手順が異なる

    • そもそも手作業なので再現が困難

    • 秘伝のタレによる属人化



  • リリースサイクルの長期化

    • 変更が適用されるまでに次の変更要求が滞留

    • 変更頻度が少ないため、変更箇所が増えて変更のリスクが増大



  • 環境の複雑化への対応が困難

    • 仮想化、Cloud化によって環境が複雑化



  • 非効率、非人間的な作業

    • 端末操作、手順書読み上げ、作業確認の3人体制

    • 作業の長時間化による注意力低下


●運用管理を自動化する効果



  • 構築~実装~サービス稼働までプログラム化

    • コスト低減、ミスの削減、期間短縮

    • 「運用でカバー」、から「設計で保証」



  • 運用管理の集中化と可視化

  • 継続的デリバリーの実現

  • 広域分散環境に対応

  • リソースの最適化

  • DR/BCPへの対応

●Excelの何が問題か?



  • タイポ

  • コピペによるミスの再生産

  • 変更管理、差分管理に乏しい

  • 結局、紙に印刷してコマンド打つ

ただし、デモは


  • 設定が記述された"xlsx"ファイルをアップロード

  • Pythonのジョブがパラメータを読み込んで、ZabbixAPIからホスト/アイテム登録
    の流れ。
    そこは普通にAnsibleかChef-soloでいいのでは…

●自動化の鍵



  • 人間判断フロー:CMDBuild/Shark

    • 承認、指示など各ステークホルダが入力



  • プログラム制御:JobScheduler

    • エラー制御、分岐判断のロジックを記述


CMDBuild構成管理システム



  • AGPLライセンス

  • PostgreSQLしか対応していません。

    • JSONをフル活用してるから。



  • 監視システムだけでなく、文書管理システム等にも対応




【Zabbixと外部連携の効果とその可能性をさぐる】

●なぜ外部との連携が重要なのか?

1ツールで全要件が満たされればいいが…


  • 使うのにハードルが高くなる

  • 変化に対応できなくなる
    などの副作用がある。
    個々のパーツの組み合わせで実現するマイクロサービス的な考えがいいかも。


連携による効果と管理の複雑さはトレードオフ。

●Zabbixが連携に適する理由



  • 連携を効果的に行える仕組みの豊富さ

    • APIの提供



  • 仕様のオープン性

    • ユーザが考えてやってみる、という動きにつながりやすい。

      • 公式ドキュメント、BTS



    • あとはもちろんソースコード

    • ロードマップが詳しい



●Zabbixとの連携例
蓄積したデータをEmbulkで整形した例。


  • 試してみます。


|

« 第8回redmine.tokyo勉強会 | トップページ | db tech showcase 1日目 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: Zabbixだけじゃない! OSSを徹底活用して運用自動化を実現:

« 第8回redmine.tokyo勉強会 | トップページ | db tech showcase 1日目 »