Jtf13 ossジョブ管理システムによる運用自動化事例
Upcoming SlideShare
Loading in...5
×
 

Jtf13 ossジョブ管理システムによる運用自動化事例

on

  • 5,019 views

SOS JobScheduler Overview and Case study at JTF2013

SOS JobScheduler Overview and Case study at JTF2013

Statistics

Views

Total Views
5,019
Views on SlideShare
4,280
Embed Views
739

Actions

Likes
13
Downloads
35
Comments
0

5 Embeds 739

http://www.artisanedge.co.jp 465
https://twitter.com 143
http://kidatti.livedoor.biz 93
http://artisanedge.jp 37
http://localhost 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 複雑な制御はプログラミングをする 一部は JITL で提供されている
  • ALEX

Jtf13 ossジョブ管理システムによる運用自動化事例 Jtf13 ossジョブ管理システムによる運用自動化事例 Presentation Transcript

  • 1 OSS ジョブ管理システムに よる運用自動化事例 2013 年 7 月 14 日 日本 JobScheduler ユーザグループ (代表)船井 覚( @satoruf ) 井上 研一( @inoccu ) 秋穂 賢( @ken_aio ) JTF2013 #techfesta 2013/07/14 JTF2013 #techfesta
  • 2 アジェンダ • JobScheduler の概要 • JobScheduler の基本機能 • 想定シナリオのデモ • JobScheduler 事例紹介 • 日本 JobScheduler ユーザーグループ紹介 2013/07/14 JTF2013 #techfesta
  • 自己紹介 • 秋穂 賢(あきほ すぐる) • 某 Sier 所属 • メインフレーム歴:4年 • OSS 歴: 5 ヶ月 • JobScheduler イケてる!と思ってる一人 3 2013/07/14 JTF2013 #techfesta View slide
  • JobScheduler の概要と基本機 能 4 2013/07/14 JTF2013 #techfesta View slide
  • 5 JobScheduler とは • OSS の Job 管理製品( GNU Public License ) – ドイツの Software- und Organisations-Service 製 – 2003 年に商用版・ 2005 年に OSS 版をリリース • Web ブラウザ (JOC) ・ JOE (デスクトップ)と いった GUI ツールで Job の監視や管理を実施 • Windows, Linux, Solaris( 商用版のみ ), AIX( 商用版 のみ ), HP-UX( 商用版のみ ) に対応 • リモートジョブ実行、冗長化機能、ロードバラン ス、外部認証等、エンタープライズ向け大規模シ ステム対応 2013/07/14 JTF2013 #techfesta
  • 6 JobScheduler のユーザ ドイツ eBank やカード決済サービス会社 イギリス 財務アプリケーションのプロバイダ オーストリア ( イタリアの ) 大手金融グループ アメリカノースカロライナ州 保健福祉サービス機関 ヨーロッパを中心に金融・産業・政府・ 大学 などの様々な機関で使用されている 日本でも最近活用され始めている! ⇒ 本日、活用事例の一つをご紹介 ドイツ 大学図書館 2013/07/14 JTF2013 #techfesta
  • 7 JobScheduler の概要 - 機能 - • ジョブ定義 • ジョブ実行(時間指定 / 繰り 返し) • スケジュール • 多重実行・排他制御 • 先行・後続制御 • 優先度設定 • イベント監視 • メール通知 • 外部パラメータ設定 • 開始 / 終了遅延検知 • クライアント / サーバ • バックアップクラスタ • 負荷分散クラスタ • SOAP/REST の外部 API • 独自の内部 API • Javascript / Perl / Java / Shell Script / Powershell / VBScript / javax.script での ジョブ定義 高度なジョブ管理機能 Dev の使い慣れた言語での Job 定義 2013/07/14 JTF2013 #techfesta
  • 8 クライアント / サーバ JOCJOC JIDJID JobScheduler Engine JobScheduler EngineRDBMSRDBMS JobScheduler の 稼働サーバ JOEJOE JobScheduler の 管理端末 JobScheduler Agent JobScheduler Agent ジョブの稼働サーバ JobScheduler の基本的な構成 2013/07/14 JTF2013 #techfesta
  • JOC JOE JID 2013/07/14 JTF2013 #techfesta 9
  • 10 JobScheduler のジョブ Standalone Job Job Chain Schedule • JobScheduler の特徴 – ジョブ関連の全ての定義が XML ファイルで管理 – 様々な操作を行うジョブが SOS 社から提供されている • ファイル操作、ファイル転送、 DB 制御、 SQL 操作、エージェントレ ス実行、 メール制御、レポーティング機能 などなど • Standalone Job – 単体で稼動するジョブを定義 • Job Chain – 複数ジョブに対して順序関係を考慮し て組み合わせるジョブ (order job) を定 義 • Schedule – ジョブの稼動予定を定義 • ジョブ定義は shellscript, windows bat 以外に Java,JavaScript,VBScript, javax.script で定義可能 Order Job Order Job 2013/07/14 JTF2013 #techfesta
  • 11 定義ファイル例( XML ) Order Job order_job.job.xml⇒ <?xml version="1.0" encoding="ISO-8859-1"?> <job order="yes" stop_on_error="no"> <script language="shell"> <![CDATA[ echo $SCHEDULER_JOB_NAME ]]> </script> <run_time/> </job> Standalone Job simple.job.xml⇒ <?xml version="1.0" encoding="ISO-8859-1"?> <job name=“simple"> <script language="shell"> <![CDATA[ echo $SCHEDULER_JOB_NAME ]]> </script> <run_time schedule="my_schedule" /> </job> Job Chain my_job_chain.job_chain.xml⇒ <?xml version="1.0" encoding="ISO-8859-1"?> <job_chain orders_recoverable="yes" visible="yes"> <job_chain_node state="test" job=“order_job"/> </job_chain> Schedule my_schedule.schedule.xml⇒ <?xml version="1.0" encoding="ISO-8859-1"?> <schedule > <period single_start="10:00"/> </schedule> 2013/07/14 JTF2013 #techfesta
  • 12 ジョブ定義例 ( スクリプト ) 処理をして次のジョブをキックするジョブ // print my hostname spooler_log.info(‘Hello World. I run at ' + spooler.hostname()); // kick next job spooler.job(‘path/to/kicked').start(); • Java class※ 定義などを省略し、簡単化しています # print my hostname $spooler_log->info(' Hello World. I run at ' . $spooler->hostname); # kick next job $spooler->job('path/to/kicked')->start(); • Perl // print my hostname spooler_log.info(‘Hello World. I run at ' + spooler.hostname); // kick next job spooler.job(‘path/to/kicked').start(); • JavaScript 2013/07/14 JTF2013 #techfesta
  • 13 WEB API PHP のライブラリが SOS より提供 ⇒ プログラマブルにジョブ管理可能 # curl 'http://localhost:4444/<start_job%20job="sos/dailyschedule/CreateDaysSchedule "%20/>' <?xml version="1.0" encoding="ISO-8859-1"?> <spooler> <answer time="2013-07-08 17:51:19.202"> <ok> <task job="/sos/dailyschedule/CreateDaysSchedule" id="27" task="27" state="none" name="" enqueued="2013-07-08 17:51:19.211" start_at="2013-07-08 17:51:19.203" steps="0" log_file="/home/scheduler/sos- berlin.com/jobscheduler/scheduler/logs/scheduler-2013-07-08-161409.scheduler.log" force_start="yes"> <log level="info"/> </task> </ok> </answer> </spooler> 2013/07/14 JTF2013 #techfesta
  • 14 ジョブ管理も CI ・ CD JobScheduler の定義ファイルは全て XML ジョブのプログラムやジョブ定義を 開発開発したジョブをバージョ ン 管理システムに反映 バージョン管理システム より CI サーバへ取り込み 継続的にテスト・デプロイを 実施 2013/07/14 JTF2013 #techfesta
  • 1515 デモシナリオ • 日次のデータ処理後にデータバックアップを取得 • 日次データ処理は毎日 20:00 から稼動 • 日次のデータ処理は 5 多重で実行 – ただし、処理①と処理②は同時に稼動させない ( 排他制御 ) • バックアップはデータ処理が全て完了した後に実行 • データバックアップは 2 多重で実行 この要件のジョブフローを定義してみる 2013/07/14 JTF2013 #techfesta
  • 16 ジョブフロー 16 処理① 処理② 処理③ 処理④ 処理⑤ process1 process2 process3 process4 process5 バックアップ① バックアップ② bkup1 bkup2 • データ処理➡バックアップ • 処理➡ 20:00 稼動 • 処理➡ 5 多重 • 処理①・処理②➡排他 • バックアップ ➡ データ処理完了後 • バックアップ➡ 2 多重 20:0020:00 排他制御排他制御 20:0020:00 20:0020:00 20:0020:00 20:0020:00 2013/07/14 JTF2013 #techfesta
  • 1717 JobScheduler でのジョブフ ロー データ処理 キック Job 処理① 処理② 処理③ 処理④ 処理⑤ p_kick process1 process2 process3 process4 process5 同期 バックアップ キック Job バックアップ① バックアップ② sync b_kick bkup1 bkup2 ※ デモでは全て 10 秒 wait した後に   正常終了する Job を使用 20:0020:00 排他制御排他制御 2013/07/14 JTF2013 #techfesta
  • 1818 構成の説明 データ処理 キック Job 処理① 処理② 処理③ 処理④ 処理⑤ p_kick process1 process2 process3 process4 process5 同期 バックアップ キック Job バックアップ① バックアップ② sync b_kick bkup1 bkup2 排他 lock 排他 lock echo で Job を正 常終了させ、正常 終了時の XML コ マンドで後続 5Job を開始させ ている everyday_at2000  毎日 20:00 稼 働 「処理①~⑤⇒同期」は JobChain となっており、処理③のみ 同期⇒バックアップキック Job と JobChain が組まれている echo で Job を正常終了させ、正常 終了時の XML コマンドで後続 2Job を開始させている 2013/07/14 JTF2013 #techfesta
  • JobScheduler 事例紹介 ここからは、 JobScheduler の日本での 導入事例をご紹介します。 2013/07/14 JTF2013 #techfesta 19
  • 自己紹介 • 井上 研一 – Twitter :  @inoccu – Facebook :  kenichi.inoue • アルティザンエッジ合同会社 代表社員 CEO – 2012 年 7 月 7 日、個人事業主として設立 – 2013 年 7 月 5 日、会社になりました! – http://artisanedge.jp – http://artisanedge.jp/solution/jobscheduler/ • Dev 側の人です 2013/07/14 JTF2013 #techfesta 20
  • 導入企業 • 国内製造業 A 社 o 流通・小売業向けの各種機器を製造 o 機器導入先のエンドユーザー企業で、機器の 保守のほか、ネットワーク監視、運用監視 サービスも併せて提供している 2013/07/14 JTF2013 #techfesta 21
  • 背景 • 監視システムのリプレースプロジェクト o Nagios を監視エンジンとして使用したシステムを開 発・導入 o 2012 年 1 月開発開始、同年 9 月から本稼働 o フロントエンドは CakePHP で開発 o 監視対象ノードは現在 6,000 を超える • 監視対象 o 疎通やサーバの生死等のネットワーク監視 o 業務運用系の監視 ←これは Nagios だけでは難し い  店舗レジの開閉店処理の実施有無  マスタファイルの送信処理の成否 2013/07/14 JTF2013 #techfesta 22
  • 業務運用系の監視の特徴 • 監視内容 o 基本的にはファイル(ログ)監視 o エンドユーザー企業によって、監視の方法や 要求レベルは異なる o ネットワーク環境等もいろいろ( ISDN や PHS も) o 常に 24x365 監視ではなく、土日や年末年始 は監視しないといったこともある • 監視規模 o 1 つのエンドユーザー企業で、数百店舗(= ノード)の監視が必要となることも2013/07/14 JTF2013 #techfesta 23
  • どう実現するか? <いままでは> • シェルや Perl スクリ プトで監視 • 店舗マスタを CSV 連 携 • cron で監視実行、 at でリトライ • 監視結果はログファ イルとして監視シス テムに連携 <これからは> • JobScheduler ! • ワンストップのフロ ントエンドシステム で、複雑な監視スケ ジュールを制御 • JobScheduler のジョ ブで Nagios に連携 2013/07/14 JTF2013 #techfesta 24
  • 新システム構成 2013/07/14 JTF2013 #techfesta 25
  • ジョブ(ジョブチェーン)一覧 画面 2013/07/14 JTF2013 #techfesta 26
  • 面 (基本設定) 2013/07/14 JTF2013 #techfesta 27
  • 面 (対象ノード) 2013/07/14 JTF2013 #techfesta 28
  • 面 (スケジュール) 2013/07/14 JTF2013 #techfesta 29
  • ジョブ実行履歴画面 2013/07/14 JTF2013 #techfesta 30
  • JobScheduler を採用したメ リット • 監視システムとのワンストップのフロント エンドシステムを開発できた o JobScheduler は API が提供されているので、フ ロントエンドを独自に開発できる • 既存の監視スクリプトを流用できた o JobScheduler は何でも実行できる  Shell / Perl / Java / JavaScript ... • Nagios への連携ジョブを共通化できた o JobScheduler はジョブチェーンが組めるので、 共通ジョブを開発しておけば便利 • オープンソース! 2013/07/14 JTF2013 #techfesta 31
  • 今後の方向性 • すべての業務監視ジョブ・対象店舗の JobScheduler への移行 o 現時点では、かけられる工数等の問題もあり 、すべてを移行できているわけではない • JITL (テンプレートライブラリ)の活用 • ファイル転送での SOS FTP の活用 • 機器アップグレードでの活用ができない か? 2013/07/14 JTF2013 #techfesta 32
  • 機器アップグレードでの活 用 2013/07/14 JTF2013 #techfesta 33
  • 日本 JobScheduler ユーザーグループ( JJUG )ご 紹介 2013/07/14 JTF2013 #techfesta 34
  • 自己紹介 • PC8001 • オフコン、ビジコン • メインフレーム • ミニコン • スーパーミニコン • ミニスーパーコン • ワークステーション • RISC vs CISC • 紙テープ、パンチカード • テープ、ディスクパック • CP/M, MS-DOS2.0 • ISAM 、階層型、ネットワー ク型データベース • RDBMS 、並列プログラミン グ • SMP, MPP, NUMA • ネットワーク • セキュリティサービス 35 コンピュータ屋歴 32年 エンタープライズ向け OSS インテグレーション コンピュータ屋歴 32年 エンタープライズ向け OSS インテグレーション 2013/07/14 JTF2013 #techfesta
  • 日本 JobScheduler ユーザーグルー プ • 2013/4 発足 • JobScheduler いけるやん、という人の集まり • 独 SOS サイトにも掲載 “Company News : Japanese language JobScheduler user group on Facebook” http://www.sos-berlin.com/modules/news/article.php?storyid=42 • 会則/会費ありません • 会員資格ありません、 Google Groups に参加して下 さい https://groups.google.com/forum/?fromgroups#!forum/jobscheduler-ja • 現在メンバー16名 • JobScheduler を使う上での疑問やノウハウの共有 • 勉強会と言う名の飲み会 2013/07/14 JTF2013 #techfesta 36
  • 活動内容 • 勉強会 – 5/2 第0回開催、 – 今後の活動内容について 相談 – 6/7  第 1 回開催、 JTF 参加について相談 • LT :某製造業事例、 fabric を使った JobScheduler 全自動インストール – 月 1 回くらいで情報交換 2013/07/14 37 JTF2013 #techfesta
  • 活動内容 • グループサイトの運営 https://sites.google.com/site/jobschedulerja/home – Wiki, tips, ドキュメントを掲載 • Facebook ページ http://ja-jp.facebook.com/pages/Jobscheduler-Japan- ユーザーグルー プ /594469610565511 – 各種告知 – いいね!をお願いします!! • 普及活動 – JTF (今日) – 次は秋の OSC 東京?2013/07/14 38 JTF2013 #techfesta
  • 次回勉強会 • 日程:8月23日(金)19時〜21時 • 会場:募集中 • 内容:募集中 • LT: 募集中 • 懇親会:たぶん、いや行くでしょ www • 会場、ネタのご提供は、メーリングリス トまでご連絡お願いします。 jobscheduler-ja@googlegroups.com 39 2013/07/14 JTF2013 #techfesta
  • 最後に • Please join us!! https://groups.google.com/forum/? fromgroups#!forum/jobscheduler-ja 2013/07/14 40 JTF2013 #techfesta
  • ご清聴ありがとうございま した 41 2013/07/14 JTF2013 #techfesta