Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

140917運用管理勉強会job scheduler

3,043 views

Published on

JobScheduler概要とエコシステム

Published in: Technology
  • Be the first to comment

140917運用管理勉強会job scheduler

  1. 1. 第6回 OSS運⽤用管理勉強会 オープンソースのジョブ管理ツール 「JobScheduler」の概要とエコシステム 2014/9/17 http://www.ossl.co.jp TWITTER: http://twitter.com/satoruf LINKEDIN: http://jp.linkedin.com/in/satorufunai/ja SLIDESHARE: http://www.slideshare.net/sfunai FACEBOOK: http://www.facebook.com/satoru.funai
  2. 2. SOS JobSchedulerの特⻑⾧長 l オープンソース(GNU Public License V.2) l Linux/Windows版は、全ての機能が無料で使⽤用可能。 l サポートライセンスを購⼊入すれば、HP-UX/Solaris/AIX版の利⽤用に加えて、障害対応、 バグフィックス/ワークアラウンドの提供、新機能の早期提供、チケットシステム (OTRS)、JIRAの利⽤用が提供される。 l プログラマブル l ジョブの中で、Java, Perl, JavaScript, VBScript, Powershell, javax.scriptのAPIを使っ たロジックを記述可能 l 外部API(XML形式)によりRESTまたはコマンドラインからジョブの実⾏行行制御、実⾏行行 状況の取得が可能 l エンタープライズ・グレード l ファイル転送やログローテンション等豊富なテンプレート機能 l リモートジョブ実⾏行行、冗⻑⾧長化機能、ロードバランス、外部認証等、エンタープライズ 向け⼤大規模システム対応 l JasperReport(ジョブ実⾏行行レポート)やNagios/Zabbix(ジョブ実⾏行行監視)との連携機 能 l MySQLの他、PostgreSQL, Oracle, DB2, MS SQL Server, Firebirdに対応 l 豊富な導⼊入実績2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 2
  3. 3. 3 JobSchedulerの導⼊入実績 ドイツ eBankやカード決済サービス会社 ドイツ ⼤大学図書館 イギリス 財務アプリケーションのプロバイダ オーストリア (イタリアの)⼤大⼿手⾦金金融グループ アメリカノースカロライナ州 保健福祉サービス機関 ヨーロッパを中⼼心に⾦金金融・産業・政府・⼤大学 などの様々な機関で使⽤用されている 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved
  4. 4. JobSchedulerの構成 l JobScheduler Engine l ジョブの制御と管理を司るサービス。以 下の機能を包含する。 l バックアップフェイルオーバー機能 l RDBMSを使⽤用したジョブ履歴、ロ グ管理機能(JDBC接続) l JobScheduler Agent l ジョブのリモート実⾏行行エージェント l JOC (Job Operation Center) l WEB UIのジョブ管理画⾯面 l JOE (JobScheduler Object Editor) l ジョブ定義を作成するための、Javaで稼 働するスタンドアロンアプリケーション。 l JID (JobScheduler Information Dashboard) l 待機中、実⾏行行中、完了したジョブの状態、 ログを⼀一覧できるJavaで稼働するスタン ドアロンアプリケーション。 ssh 2014/9/17 JOC JOC Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 4 JobScheduler Engine JobScheduler Agent JobScheduler Agent JobScheduler Agent JID JOE JOC RDB JobScheduler Engine JobScheduler Engine RDB RDB Agentless hosts GUIクライアント 管理サーバ 管理対象サーバ
  5. 5. システム構成例 スタンドアローン構成クライアントサーバ構成 JID JOC JOE JOC バックアップクラスタ構成負荷分散クラスタ構成 共有ストレージ 2014/9/17 JOC JOC JID Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 5 JobScheduler Engine JobScheduler Agent RDBMS JobScheduler Engine JID JOE JobScheduler Agent RDBMS JobScheduler Engine JID JOE JobScheduler Agent RDBMS JobScheduler Engine RDBMS プライマリ エンジン JOC JobScheduler Engine JOE JobScheduler Agent RDBMS JOC JobScheduler Engine バックアップ エンジン スーパーバイザ ワーカー 管理端末 管理端末 管理端末 Live フォルダ
  6. 6. JobSchedulerの主要機能 l ジョブ定義 l ジョブ実⾏行行(時間指定/繰り 返し) l スケジュール l 多重実⾏行行・排他制御 l 先⾏行行・後続制御 l 優先度設定 l イベント監視 l メール通知 l 外部パラメータ設定 l 開始/終了遅延検知 l クライアント / サーバ l バックアップクラスタ l 負荷分散クラスタ l SOAP/RESTの外部API l 独⾃自の内部API l Javascript / Perl / Java / Shell Script / Powershell / VBScript / javax.scriptでの ジョブ定義 ⾼高度なジョブ管理機能 Devの使い慣れた⾔言語でのJob定義 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 6
  7. 7. 主要機能概観 2014/9/17 JobScheduler Engine 共有DB ファイルサーバ Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 7 JobScheduler Engine JID/JOE JOC JobScheduler Agen t ファイル送受信 整合性確認、再送 リネーム、ローテーション等 JobScheduler Agen t ジョブ制御、監視 ジョブ定義、監視 バックアップ クラスタ 負荷分散 SSH リモートジョブ実行 DMZ JobSchedulerInternet Engine Webサービス(SOAP)による Job外部連携 Job JobJob メール通知 Nagiosアラ ート
  8. 8. ジョブの定義⽅方法 l JOE (Job ObjectEditor)による定義例 l XMLファイルによる定義例 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 8 ?xml version=1.0 encoding=ISO-8859-1? job params / script language=shell ![CDATA[ #!/bin/sh echo “$SCHEDULER_JOB_NSME is running” echo “Current Timestamp `date`” exit $? ]] /script /job
  9. 9. ジョブの実⾏行行 l イベントによる実⾏行行 l ホットフォルダに作成/更新されたファイルを監視し、⾃自動的にジョブ起動、ファイル を移動/リネーム/削除/処理対象外に指定できる。また、メールの受信や、任意のプ ログラムやスクリプトでジョブを制御する事も可能である。 l カレンダによる計画実⾏行行 l 平⽇日、休⽇日、特定の休業⽇日、毎週/毎⽉月の特定⽇日、など柔軟に指定でき、実⾏行行⽇日が休業 ⽇日や特定⽇日の場合、実⾏行行⽇日時を翌営業⽇日、前の営業⽇日、または実⾏行行中⽌止を指定できる。 l ジョブ実⾏行行時間を制限するタイムスロット機能 l 実⾏行行優先順位を制御するプライオリティ機能 l ジョブの排他制御のためのロック機能 l 複数ジョブの同時並⾏行行実⾏行行を制御するシンクロナイズ機能 l ジョブ実⾏行行エラー時の再実⾏行行を制御するセットバック機能等、 柔軟なジョブ実⾏行行制御機能を備えている。 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 9
  10. 10. ジョブの監視 l JOC (Job Operation Center)画⾯面例 l ジョブチェーン の表⽰示例 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 10
  11. 11. 内部API l JobSchedulerは、プログラムからのジョブ制御を可能にするため、内部 APIと外部APIを備えている。 l 内部API l Job定義の中で呼び出すことによって、様々なJobScheduler Engineの機能を 使い、動的にジョブやスケジュールの定義を操作できる。 l Java, JavaScript, Perl, JScript, VBScript, Powershell, javax.scriptのAPIが⽤用意 されている。 l 内部APIを使って、動的にジョブやスケジュールの定義を操作できる。 l Javaの内部APIを使って、⾃自分のホスト名をログに情報を出⼒力力した後、特定 ジョブを即時実⾏行行する例(scriptタグのCDATA内に記述) // print my hostname spooler_log.info(‘My hostname is ' + spooler.hostname()); // kick next job spooler.job(‘path/to/job').start(); 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 11
  12. 12. 外部API(WEB API) l 外部APIを⽤用いるとジョブ定義の動的追加や指定ジョブの即時実⾏行行などの操作を 外部プログラムからJobSchedulerに対して実施できる。 l 外部APIは、XML形式によりRESTまたはコマンドラインからジョブの実⾏行行制御、 実⾏行行状況の取得が可能である。 l 例えば、localhostのポート4444にインストールされたJobScheudlerの特定ジョブ を実⾏行行するには下記URLにアクセスする。 http://localhost:4444/start_job job=path/to/job/ l JobSchedulerからのレスポンスはリクエストと同様にXML形式で返す。ブラウザ からアクセスした場合、JobSchedulerの状態を⽰示すXMLがレスポンスとしてブラ ウザの画⾯面に表⽰示される。 ※必要に応じてを%3Cに、を%3Eにエスケープする必要があります l また、SOS社から外部APIをラッピングするPHPのライブラリが提供されており、 このライブラリを⽤用いると、独⾃自に開発した画⾯面とJobSchedulerを連携させるこ とが容易に実現できる。 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 12
  13. 13. Cronコンバータ l JobSchedulerは、既存cronジョブを変換するために下記の⽅方法を⽤用意している。 ※本機能を使⽤用する場合は、JobSchedulerインストール時にcronパッケージを選択しておく l 動的変換ジョブ l JOC画⾯面のStand alone Jobから、sos/cron/scheduler_cron_adopterジョブを実⾏行行すると、⾃自動的に crontab情報を読み込んでJobSchedulerのJobに変換される。 l Crontabには、事前に以下の設定追加が必要。 # job_name = my_cron_job ##JobSchedulerのJob名 # job_title = test cron job1 ##Jobのタイトル # job_timeout = 1 ##Jobのタイムアウト値 */5 * * * * rppt/usr/bin/hoge.sh l 変換スクリプト # cd /opt/sos-­‐berlin.com/jobscheduler/[user-­‐id]/bin/ l Stand alone Jobへの変換 # ./cronconverter.sh –crontab [crontab_name] –target [out_file] l Job chainへの変換 # ./cronconverter.sh –crontab [crontab_name] –target [out_file] –createJobChains true l ⽣生成された定義ファイル(xml)を、登録するために分割する # cd /opt/sos-­‐berlin.com/jobscheduler/[user-­‐id]/bin/ s#o s.jadevas ti–jnaart iloinb=/“soauxto_nd9ihr”e .jar –s:”[変換元ファイル名]” –xsl:”scheduler_data/config/xml2live.xml” l out_dirに出⼒力力されたファイルを、config/liveに移動する 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 13
  14. 14. JITL (JobScheduler Integrated Template Library) JobSchedulerは、以下のジョブテンプレートが標準で提供さ れている。 l Logging and Cleanup l ログファイルのローテーション、リネーム、削除 l Sanity Checking l JobSchedulerが稼働するサーバの環境チェック(ディスク容量、 メモリ容量等) l Mail Forwarding l JobSchedulerからの通知メール送信失敗時のエラー制御 l File Transfer l ファイル送受信の容量チェック、リネーム、並列転送、proxy経 由転送、重複確認、転送失敗時の迂回配送、⾃自動圧縮、等 l File Operations (rename, copy, remove, check existence, ...) 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 14
  15. 15. JobSchedulerのエコシステム l APIを使って、必要な機能を連携 2014/9/17 Getinfo ⾃自動情報取得 Zabbix/Nagios 監視 ジョブ監視連携 構成情報 連携 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 15 JobScheduler ジョブ管理 CMDBuild 構成管理 vmware オンプレミス (物理・仮想マシン) トリガー/ アクション チケット 連携 チケット管理 サービスデスク バージョン 管理 JasperReport レポーティング JADE ファイル転送
  16. 16. JADE (JobScheduler Advanced Data Exchange) l ファイル転送管理システム(Managed File Transfer) l JobSchedulerとは独⽴立立して使⽤用可能 l 併⽤用するとジョブのなかでJADE機能を使⽤用可能 DMZ 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 16 JADE クライアント RDBMS JADE バックエンド サービス ftp/sftp/ftps/http webDAV/mail 送受信先ホスト JADE WEB UI レポート ジャンプ ホストFW インターネット
  17. 17. JADEの主な機能 l ファイルと相⼿手先にあわせて、ファイルフォーマット、 プロトコルを設定、集中管理 l ファイル⾃自動リネーム、削除、移動、追記 l ロールバック/⾃自動再送信などのエラー制御と、ロギング l 正規表現によるファイル指定/フィルタリング l ファイルの⾃自動圧縮/展開、SSHによるポストコマンド実⾏行行 l トランザクショナル転送モード l DMZ経由でのインターネット送受信 l WEB UIによる状態監視とレポーティング l JobScheduler等の外部サービスへの通知/アラート l APIによる連携機能の提供 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 17
  18. 18. JasperReportjob l JasperReports Library(Javaレポーティングエン ジン)を使い帳票作成を⾃自動化してくれるジョブテ ンプレート l 例えば、JobSchedulerの各ジョブの稼働時間やエ ラー回数を⽇日次、⽉月次、年次で集計するといった 事が可能 l レポートフォーマットは、 PDF, HTML, RTF, XML, XLS に対応 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 18
  19. 19. JobSchedulerの設定 JOE(JobScheduler Object Editor)を起動しウィザードからJobを登録 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 19
  20. 20. レポート出⼒力力例 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 20
  21. 21. JobScheduler-Nagios連携機能 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 21 監視ジョブを設定 ヒストリ JobScheduler NagiosプラグインLogAnalyzer エラー監視 ジョブ アラート送信
  22. 22. HyClops JobMonitoring 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 22 NEW ジョブをZabbix監視アイテムに⾃自動登録 l JobSchedulerにジョブを登録すると、⾃自動的にZabbixに ジョブ監視アイテムを設定 Zabbixからジョブのアラート監視 l ジョブ定義で指定したアラート(開始遅延、実⾏行行失敗等) を監視 Zabbixからジョブの実⾏行行時間監視 l 各ジョブの実⾏行行時間履歴を監視、傾向グラフを表⽰示 Zabbix監視閾値をジョブから⾃自動変更 l 特定のジョブを実⾏行行する際に、cpu loadやmemory freeの 閾値を変更し、実⾏行行完了後元に戻す
  23. 23. Getinfo概要 Zabbix JobScheduer サーバ 対象機器 ssh/telnet ログイン オペレータ 端末 顧客環境 Zabbixアラート検知 トリガーから アクション実⾏行行 CMDBを検索、ip/ user/pwd/機種 を取得 対象機器で コマンド実⾏行行 対象機器に Ssh/telnetログイン MySQL テキスト ファイル CMDB IP/ユーザー/パス ワード/機種他 コマンドテーブル コマンド 実⾏行行結果 ファイル コマンド実⾏行行結果を テキストファイルに 保存 元情報との差分を 表⽰示 操作ログ/var/log/messages 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 23 バージョン管理 踏み台 サーバ
  24. 24. CMDBuild構成管理システム l 2005年プロジェクト開始 l 伊Tecnoteca 社が開発、AGPLライセンス l http://www.cmdbuild.org/ ユーザサプライヤ 2014/9/17 APACHE TOMCAT Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 24 CMDB インベントリ収集 ワークフロー 文書管理 地理情報 レポーティング API JSON/SOAP アセット コンピュータライセンス サーバデスクトップ 保守契約 場所 ドキュメント
  25. 25. CMDBuildの特徴 l ⾃自由なデータモデル l クラスとリレーションの設定で ⾃自由に設計可能 ロケーション保守契約 l 組み込まれたワークフローエンジン ユーザサプライヤ l Together Workflowを使⽤用し、ワークフローを設計/実⾏行行 l 他システムの連携 l SOAP API, Mail, SQL, LDAP, CSV, etc. l ITIL V3準拠 l 組み込まれた⽂文書管理機能 l 多⾔言語対応 l ⽇日本語/英語/ドイツ語 スペイン/フランス/イタリア ロシア/ポルトガル/セルビア ブラジル 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 25 場所 サービス戦略サービス設計サービス移⾏行行サービス運⽤用継続的改善 財務管理サービスカタログ 管理変更管理イベント管理7ステップ改善 需要管理サービスレベル管 理資産構成管理インシデント管理サービス測定 ポートフォリオ管 理キャパシティ管理ナレッジ管理リクエスト対応サービスレポート 可⽤用性管理移⾏行行計画/⽀支援アクセス管理 サービス継続性管 理 リリースデプロイ 管理問題管理 セキュリティ管理サービスバリデー ション/テストサービスデスク サプライヤ管理評価技術管理 アプリケーション 管理 オペレーション管 理 アセット コンピュータライセンス サーバデスクトップ ドキュメント 顧客 サービス ネットワーク 保守契約 モデル
  26. 26. CMDBuild画⾯面例 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 26
  27. 27. ⽇日本JobSchedulerユーザーグループ l 2013/4発⾜足 l JobSchedulerいけるやん、という⼈人の集まり l 独SOSサイトにも掲載 http://www.sos-berlin.com/modules/news/article.php?storyid=42 l 会則/会費ありません l 会員資格ありません、Google Groupsに参加して下さい https://groups.google.com/forum/?fromgroups#!forum/ jobscheduler-ja l JobSchedulerを使う上での疑問やノウハウの共有 l 勉強会と⾔言う名の飲み会 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 27
  28. 28. 活動内容 l グループサイトの運営 https://sites.google.com/site/jobschedulerja/home l Wiki, tips, ドキュメントを掲載 l Facebookページ http://ja-jp.facebook.com/pages/Jobscheduler-Japan-ユーザー グループ/594469610565511 l 各種告知 l いいね!をお願いします!! l 普及活動 l 定期勉強会 l OSC出展 2014/9/17 Copyright 2014(C) OSS Laboratories Inc. All Rights Reserved 28

×