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で整形した例。
- 試してみます。
| 固定リンク
この記事へのコメントは終了しました。
コメント