« 2015年4月 | トップページ | 2015年6月 »

2015年5月

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で整形した例。


  • 試してみます。


| | コメント (0) | トラックバック (0)

2015/05/16

第8回redmine.tokyo勉強会

資料のURL、セッションの状況は↓に反映されています。
http://redmine.tokyo/versions/15

●アンケート
  • 今回の出席者は長期間使用ユーザが多め。
  • ほぼ2.6/3.0へバージョンアップしている傾向。

【Redmineによるwebサポート窓口の実装と運用】
メールに代わるサポート窓口として自社ホスティングのMyRedmineを利用したお話。

  • サポートのメールを返すときに、会社名から挨拶から本題に入るまでが長い。
    • COBOLか!のノリツッコミw 
    • メールでないツールを使うことで、メールの慣習から逃れられる。
  • トラッカーの設定で非表示にできなくても、「フィールドに対する権限」で「読み取り専用」にすることで作成・編集画面には表示されなくなる。
●他の顧客が見えないように
  • 顧客のロールを「非メンバー」に
  • ウォッチャー関係の権限をすべてオフ。
●課題
  • 顧客はプロジェクトのメンバーではないので、お客様に対してのチケットを作成できない。
  • 同じ契約先のユーザ同士でも情報共有できない。
  • アカウント登録が必要。
    *サポートにかける時間は減っていない。
    • レスポンスタイムの短縮によって、より多くのやりとりをすることでサポート内容は向上している。
●Redmine2.6以降では
  • プロジェクトごとに非メンバーのロールが設定できる!

【Redmineチューニングの実際と限界】
チューニング好きの自分に一番ヒットしたセッション。

  • 通信ボトルネックを避けるため、VM1つで全部やりきってる。
  • Unicornは万人向けではないので採用しなかった。
  • RubyのOOBGC/OOBWでGCオプションを変えると反応速度が変わってくる。
    • Passenger4で対応
  • Redmine2.6はRuby2.0→2.1にすることで24.8%性能が向上する。
    • 残念ながらRedmine2.6(Rails3.2)はRuby2.2に対応していない。
  • MySQL5.6/Postgres9.4のBufferPool Dump/Restoreを活用しないと100万チケットを越えたあたりでDB起動直後に5分ぐらいの待ちが発生する。

【Redmineニュース3本立て】
Agileware川端さんのお話。

  • 新しいLycheeシリーズ
    GanttChartPlugin 1.7.0(2015/05/01)でクリティカルパスの表示に対応。Redmine3.0に対応。
  • LycheeGanttChartが生まれ変わります!
    • β版をデプロイしました。
    • 非同期で動くようになったのでサクサクです!
    • 1.8で英語化対応
    • 1.9でメール一括送信制御
●新プラグイン
  • Lychee Issue Template
  • Lychee Issue Sorter
【全体ディスカッション】
  1. Redmineはどんなツール?
     A.管理ツール
     B.コミュニケーションツール
  2. Redmineは何に適している?
     A.計画を明確にする
     B.コミュニケーション
     C.情報を蓄積する
  3. Redmineのバージョンは?
     A.新しいバージョンがよい
     B.運用を始めたらバージョンは変えない

で全体ディスカッション。
私の意見は
1:B
2:C→BでそこからのナレッジでA
3:自分はA、会社向けにはB
という感じ。

【Redmine最新動向~3.0の変更点と3.1について~】
3.0の主な変更点
  • 古いRubyのサポート終了(1.8.7、1.9.2)
  • wikiのプロジェクト間移動

#11702:ユーザ・グループの複数プロジェクト一括登録が可能に。
#1326:添付ファイルの説明欄を後から編集可能に
#15326:カスタムフィールドの「長いテキスト」がdiff形式に。
#18983:バージョン単位にリマインダ設定が可能に。
#4244:各ユーザに追加メールアドレスが指定可能。
#18500:チケットコピー時に、コピー元/コピー先を自動付加するか選択可能に。
#5991:チケット作成時のデフォルトステータスをトラッカー単位で設定可能に。
#11724:表示可能なメンバーを「見ることができるプロジェクトのメンバー」だけに。
#18947:Ruby2.2対応(Rails3.xがRuby2.2未対応なので、Redmine2.xでは動作しない)
#13849:ドロップダウンリストをグループ化

●3.1の主な変更点
  • Markdownが試験的でなくなる。
  • メールによるチケット登録でプライベートチケットの登録が可能に。
●4.0では
  • おそらくRails5.xが対象に。

ライトニングトーク枠。

【LT1:@yohwadaさん】
EPM Baseの紹介。
http://www.origination.co.jp/#!epmbase/c1kgq

【LT2:@glad2121さん 「インターネット非接続環境で、Redmine & Subversion のインストール&設定を、Ansible を使って自動化してみた」】
http://www.slideshare.net/glad2121/redmine-ansible-48223729

【LT3: @tanaq0 さん 「チケットの棚卸し、ウチではこうしてます」】
http://www.slideshare.net/tanaq0/redmine-stocktaking

【LT4: @akiko_pusu さん 「うわ、Redmineバージョンが上がった!へなちょこプラグイン開発者はどうするか?」】
http://www.slideshare.net/akiko_pusu/20150516-redminetokyoltakikopusu

どれも非常に参考になりました。
次回も必ず参加します。

| | コメント (0) | トラックバック (0)

2015/05/15

Japan IT Week 2日目

2日目だけですが、参加してきました。


●会場の雰囲気



●IPAのブース


Androidに不正なアプリを入れると色々やられますよ、というデモ。


がしかし、



  • 乗っ取って電話発信した相手が登壇者自身の携帯。電話番号がプロジェクタに大写し。

  • カメラで写真も取れますよ、と撮影してネットにアップした写真に最前列の人がバッチリ写り込み。


大丈夫かIPA。



  • さらに電話帳を抜き取るデモが、サザエさんファミリーの名前。

  • 伊佐坂さん/サザエ/波平/三河屋さんがあった。どう考えてもフネの電話帳w


Coverityのブース


C言語のバグを探せという問題に解答。
15分ほど悩んでしまいましたが、正解してロゴ入りUSB(8GB)メモリをゲット。

気づいた瞬間、脱力した。こんなバグにすぐ気づかないとはブランク怖い。


初日は正解者5名、2日目(14日)は私が2人目の正解者。

まあ、ランタイムのバグも自動で検出できますよ、という製品のお話です。

以前、弊社にも来ていただいて話を伺ったことがありますが、ちょっと高くて断念しました。

Agilewareのブース


RedmineのLycheeプラグインの会社です。


5/23でトライアル期間が切れるのでそろそろ買いたいです、と話してきました。



  • 以前より少し安くなっています。

  • 夏には全面的に機能アップします。

  • それに伴って、ライセンス料が上がります。

  • ということで、買うなら今でしょ!


とりあえずAll in Oneの50ユーザー(¥700,000)分ぐらいは会社に買ってもらいたい。


| | コメント (0) | トラックバック (0)

« 2015年4月 | トップページ | 2015年6月 »