49
OSS(オープンソース)ジョブ管理製品 JobSchedulerのご紹介 2016/10/19 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

JobSchedulerアップデート2016

  • Upload
    oss

  • View
    708

  • Download
    0

Embed Size (px)

Citation preview

Page 1: JobSchedulerアップデート2016

OSS(オープンソース)ジョブ管理製品

JobSchedulerのご紹介

2016/10/19

http://www.ossl.co.jpTWITTER: http://twitter.com/satoruf

LINKEDIN: http://jp.linkedin.com/in/satorufunai/jaSLIDESHARE: http://www.slideshare.net/sfunai

FACEBOOK: http://www.facebook.com/satoru.funai

Page 2: JobSchedulerアップデート2016

本⽇のご参加のアンケート結果

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 2

Page 3: JobSchedulerアップデート2016

本⽇のご参加のアンケート結果

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 3

Page 4: JobSchedulerアップデート2016

代表的なジョブ管理(商⽤製品)l JP1(⽇⽴製作所)

l 1994年リリース(Unix版)、現在V.11

l A-Auto(ユニリタ/BSP)l 1977年リリース(メインフレーム版)l 1993年リリース(Unix版)、現在V.8(Windows版のみ)

l Systemwalker Operation Manager(富⼠通)l 1995年リリース(Unix版)、現在V.13

l WebSAM JobCenter(NEC)l 現在R.14

l 千⼿(野村総合研究所)l 1994年リリース、現在V.15?(2016)

l CA-Unicenter ® Workload Automation(Computer Associates/Platinum/Autosystems)l 1992年リリース、現在V.15?(2016)

l BMC Controll-M ®(BMC)

l Tivoli® Workload Scheduler(IBM)

l Windows Task Scheduler(Microsoft)

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 4

Page 5: JobSchedulerアップデート2016

代表的なジョブ管理(OSS)l JobScheduler(独SOS社)

l 2005年公開、現在V.1.10l ⽇本語版、商⽤サポートあり

l Hinemos(NTTデータ)l IPAの2004年度委託開発事業としてNTTデータが開発した、監視とジョブ管理の統合シ

ステム、現在V.5l コア機能のみOSS、有償オプションは商⽤版のみ

l JobArranger for Zabbix(⼤和総研ビジネスイノベーション)l Zabbixと連携するジョブ管理システム、商⽤サポートありl 2012年リリース、現在V.3

l jHakol JobArranger の開発者が作り直したジョブ管理システムl 2014年公開、2016年現在更新なし

l Rundeck(SimplifyOps社)l 2010年公開、現在V.2.6l 商⽤版あり、エージェントレス型、ssh/WinRMによってジョブ実⾏

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 5

Page 6: JobSchedulerアップデート2016

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 豊富な導⼊実績

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 6

Page 7: JobSchedulerアップデート2016

7

JobSchedulerの導⼊実績

ドイツeBankやカード決済サービス会社

イギリス財務アプリケーションのプロバイダ

オーストリア(イタリアの)⼤⼿⾦融グループ

アメリカノースカロライナ州保健福祉サービス機関

ヨーロッパを中⼼に⾦融・産業・政府・⼤学などの様々な機関で使⽤されている

ドイツ⼤学図書館

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved

Page 8: JobSchedulerアップデート2016

国内導⼊実績l 流通・⼩売業向け製造業

l 機器導⼊先運⽤監視サービスに利⽤

l データセンタ事業者l 監視サービス設定の⾃動化

l 通信事業者l 社内設備テスト環境の⾃動化

l 流通業l 通販サイトのリリース⾃動化

l 新聞社l 記事データの集配信

l ⾃動⾞部品製造業l サービスプロバイダl 他多数

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 8

Page 9: JobSchedulerアップデート2016

株式会社アンタス様導⼊事例l 背景

l 某新聞社様向けファイル交換システムl 既存システム⽼朽化のため、リプレースをご検討

l JobSchedulerの採⽤l 既存システムでは、独⾃開発アプリケーションで制御していたスケジューリングを

JobSchedulerに変更l 70以上のジョブと180以上のジョブチェインを登録、制御l ラッシュ時には数秒単位で50以上のジョブチェーンを起動、制御

l 選択理由とメリットl 実績とノウハウ

l JobSchedulerは、オープンソースの運⽤管理⾃動化システムとして海外を中⼼に実績が多かった。

l 機能の充実l JobSchedulerは、豊富な機能とAPIにより、監視システムや既存システムとの連携

に柔軟に対応できた。l WebAPIでJobSchedulerの制御が可能であるため、顧客業務にあわせたUIを独⾃に

開発することができた。

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 9

Page 10: JobSchedulerアップデート2016

バージョン管理

サービスデスク

Open ProgrammableInfrastructure Environment

10

運⽤ポータル

ヒヤリングシート

設定シート

ミドルウェア/アプリ

構成管理

実⾏管理

構築情報

変更依頼

アラート/イベント

API連携

インベントリ/コンフィグ/ステータス

ユーザ

オペレータ

SE

状態監視

vmware

構築/検証

Fabric

物理サーバ

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved

インベントリ収集

ログ管理

Page 11: JobSchedulerアップデート2016

⾃動化の鍵:ワークフロー制御l ⼈間判断フロー:Enhydra Shark

l 承認、指⽰など各ステークホルダが⼊⼒

l プログラム制御:JobSchedulerl エラー制御、分岐判断のロジックを記述

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 11

Page 12: JobSchedulerアップデート2016

JobSchedulerの⽤途l バッチ処理制御

l 業務アプリケーションl ハウスキーピング(バックアップ/ログローテ等)

l ⾃動インシデントレスポンスl 監視システムからのアラートに応じて、⾃動対応

l 継続的デリバリl インフラ運⽤のプログラム化l テスト⾃動化

l ⾃動システム構築l クラウドインスタンス作成から、アプリ配備l クラウドに依存しないオートスケール

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 12

Page 13: JobSchedulerアップデート2016

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でのジョブ定義

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 13

⾼度なジョブ管理機能Devの使い慣れた⾔語でのJob定義

Page 14: JobSchedulerアップデート2016

JobSchedulerの構成

l JobSchedulerマスターl ジョブの制御と管理を司るサービス。以下の機

能を包含する。l バックアップフェイルオーバー機能l RDBMSを使⽤したジョブ履歴、ログ管理

機能(JDBC接続)

l JobSchedulerエージェントl ジョブのリモート実⾏エージェント

l JOC (Job Operation Center)l WEB UIのジョブ管理画⾯

l JOE (JobScheduler Object Editor)l ジョブ定義を作成するための、Javaで稼働する

スタンドアロンアプリケーション。

l JID (JobScheduler Information Dashboard)l 待機中、実⾏中、完了したジョブの状態、ログ

を⼀覧できるJavaで稼働するスタンドアロンアプリケーション。

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 14

JobSchedulerマスター

JobSchedulerAgent

JobSchedulerAgent

JobSchedulerAgent

JID JOE

JOC

RDBJobSchedulerマスター

JOC

JobSchedulerマスター

JOC

RDB

RDB

Agentlesshosts

GUIクライアント

管理サーバ

管理対象サーバ

Page 15: JobSchedulerアップデート2016

スタンドアローン構成 クライアントサーバ構成

アクティブスタンバイ構成 アクティブアクティブ構成

システム構成例

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 15

JobScheduler マスター

JOC JOEJID

JobScheduler エージェント

RDBMS

JobScheduler マスター

JOCJOEJID

JobScheduler エージェント

RDBMS

JobScheduler マスター

JOCJOEJID

JobScheduler エージェントJobScheduler

マスター

JOC

JobScheduler プライマリーマスター

JOCJOEJID

JobScheduler エージェント

RDBMS

JobScheduler バックアップマスター

JOC

管理端末

管理端末 管理端末

./liveフォルダ

共有ストレージ

RDBMS

./liveフォルダ

共有ストレージ

Page 16: JobSchedulerアップデート2016

アクティブ・スタンバイ構成(Passive Cluster)l データベースと構成情報

(./config/live)ディレクトリは、プライマリーとバックアップで共有が必要

l 特別なクラスターソフトウェア(Lifekeeper/Pacemakerなど)は不要

l バックアップは、スタンバイモードで実⾏し、プライマリーを監視する

l プライマリーが障害時、すべてのジョブの実⾏状況はバックアップに引き継がれる

l エージェントで実⾏中のジョブは、フェイルオーバーの影響を受けない

l Sshログインで実⾏中のジョブは、フェイルオーバー時エラーとなる

16

JobSchedulerエージェント

JobSchedulerバックアップマスター

Windows/Linux

RDBMS

JobSchedulerエージェント

SSHノード

SSHノード

sshログイン

JobSchedulerプライマリーマスター

Windows/Linux

./live

heartbeat

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved

Page 17: JobSchedulerアップデート2016

アクティブ・アクティブ構成(Active Cluster)l データベースと構成情報

(./config/live)ディレクトリは、全マスターで共有が必要

l 特別なクラスターソフトウェア(Lifekeeper/Pacemakerなど)は不要

l ジョブスケジュールは全マスターで共有され、負荷分散される

l マスターの⼀台が障害時、すべてのジョブの実⾏状況は残りのマスターに引き継がれる

l エージェントで実⾏中のジョブは、フェイルオーバーの影響を受けない

l Sshログインで実⾏中のジョブは、フェイルオーバー時エラーとなる

17

JobSchedulerエージェント

JobSchedulerアクティブマスターWindows/Linux

RDBMS

JobSchedulerエージェント

SSHノード

SSHノード

sshログイン

JobSchedulerアクティブマスターWindows/Linux

./live

heartbeat

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved

Page 18: JobSchedulerアップデート2016

エージェント・クラスター構成l エージェントは、Process_classで

グループ化できる

l 1システム上に複数エージェントを動かすことも可能

l Process_classでグループ化したエージェントに、以下の⼆つの⽅法でジョブの負荷分散が可能

(1)固定スケジュール(Fixed Priority Scheduling)

l 最初に指定したエージェントが稼働していれば常にそのエージェントで実⾏される

l そのエージェントが稼働していなければ、次に指定したエージェントで実⾏される

(2)ラウンドロビンスケジュール(Round-Robin Scheduling)

l 指定したエージェントから、順番にジョブが割り振られる

l クラスター構成のマスターと組み合わせることも可能

18

JobSchedulerエージェント

JobSchedulerマスター

Windows/LinuxRDBMS

Process_class

JobSchedulerエージェント

JobSchedulerエージェント

JobSchedulerエージェント

JobSchedulerエージェント

JobSchedulerエージェント

Process_class固定スケジュール ラウンドロビン

スケジュール

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved

Page 19: JobSchedulerアップデート2016

スーパーバイザー構成l複数のワーカーの構成情報(./live)をスーパーバイザーで集中管理し、各ワーカーに⾃動ファイル同期を⾏う

l各ワーカーは、クラスター構成でもスタンドアローン構成でも構わない

l各ワーカーが異なるデータセンターやクラウドにあっても構わない

lスーパーバイザーが障害時には、各ワーカーに影響なく、配信された構成情報で稼働し続ける

lパブリッククラウドのような、通信遅延が⼤きい環境で有効

19

JobSchedulerスーパーバイザー

マスターWindows/Linux

RDBMS

JobSchedulerエージェント

JobSchedulerワーカーマスターWindows/Linux

JobSchedulerエージェント

SSHノード

SSHノード

sshログイン

JobSchedulerワーカーマスターWindows/Linux

./live

RDBMS

./live

RDBMS

./live

ファイル同期

JobSchedulerエージェント

SSHノード

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved

Page 20: JobSchedulerアップデート2016

リモートジョブ実⾏⽅法l JobScheduler マスターが稼働するサーバから、外部のサーバへのジョブ実⾏をする場合、

下記の3種類の⽅法がある。l エージェント実⾏(JobScheduler Agentが稼働している別のサーバへのリモートジョブ実⾏)l ssh実⾏(JobScheduler マスターが稼働していない別のサーバへ、sshログインしてのリモートジョ

ブ実⾏)l スーパーバイザ構成(スーパーバイザJobSchedulerから、ワーカーJobSchedulerへのリモートジョ

ブ実⾏)スーパーバイザ構成は、ワーカー⾃⾝もデータベースとジョブ定義を保持し、スーパーバイザと同期するため、スーパーバイザ⼜は通信が障害時にもワーカーのジョブは実⾏される。エージェントの場合は、ジョブ定義を⾃⾝で保持しないため、JobScheduler⼜は通信障害時には新たなジョブが実⾏できない。

l エージェント実⾏とssh実⾏の違い

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 20

��� !#" �� 1E50D9��

�),>E4 �� (*5?;�� %� $�

5?;*��� � %� %�

�� � � -��&'5?;�� $� %�

A.B8/=C2��� $� %�

3E:+* �! /D69EB� ��� ���

�! +*�� $� %� �� � ��*����

3E:<E6*@/7D6��� ��� ���

JobScheduler,Engine�

JOC�JOE�JID�

JobScheduler,Agent�

RDBMS�

JobScheduler,Engine�

JOC�

RDBMS�

������

�����

�����

Linuxでは、NOPASSでsudo su -u設定で

可能Windowsでは次期バージョンからサポー

ト予定

必要

Page 21: JobSchedulerアップデート2016

ユニバーサル・エージェントl 最新版でリリース(V1.10)l 従来のエージェント(クラシック・エージェント)との違い

https://kb.sos-berlin.com/display/PKB/JobScheduler+Universal+Agent+-+Featuresl Pure Java、シングルバイナリー

l 次ページ「サポートプラットフォーム」を参照l ゼロ・コンフィグレーション

l エージェント側での設定を廃⽌、マスタ側からのリクエストに変更l リモート・ファイル監視

l エージェント側ホストのファイル監視が可能l Docker サポート

l Dockerコンテナ内でのエージェント稼働、ジョブの起動/停⽌l Raspberry Pi サポートl 有償ライセンスのみのリリース(V1.10以降)

l オープンソースライセンスは、SSHのみl 無償ダウンロード版は、同時実⾏タスク数が1個に制限

l 尚、JobSchedulerのマスタ(エンジン)とエージェントは、異なるバージョンでも、使⽤可能です。(マスタ/エージェント互換性情報を参照ください)

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 21

Page 22: JobSchedulerアップデート2016

稼働条件(V.1.10〜)l マスタ(エンジン)

l Windows server 2008 R2/2012 R8 (32bit/64bit)l CentOS/Redhat Enterprise Linux 5/6/7 (32bit/64bit)l Cloud (Amazon EC2, Microsoft Azure)

l ミドルウェア:サポートされるソフトウェアとバージョンl Java: Oracle JRE 1.8.x 以上、AIXの場合のみIBM Java 1.8 以上

l DBMS: l Oracle 8.1.7, 9.2, 10g, 11g, 12cl Microsoft SQL Server 2008R2, 2012l IBM DB2 8.x<l MySQL/MariaDB version 5.x<l PostgreSQL 8.x, 9.xl Sybase ASE 15.0/16.0

https://kb.sos-berlin.com/pages/viewpage.action?pageId=3638020

https://kb.sos-berlin.com/display/PKB/Which+common+Database+Management+Systems+are+supported+by+JobScheduler

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 22

Page 23: JobSchedulerアップデート2016

ユニバーサル・エージェントサポートプラットフォーム

https://kb.sos-berlin.com/display/PKB/JobScheduler+Universal+Agent+-+Platform+Support

基本的にJAVA 1.8<が稼働するプラットフォーム

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 23

は、未検証

Page 24: JobSchedulerアップデート2016

ジョブの定義(JOE)l JOE (Job ObjectEditor)による定義例

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 24

Page 25: JobSchedulerアップデート2016

ジョブ定義ファイルの内容<?xml version="1.0" encoding="ISO-8859-1"?><!– Jobタグ:Jobの詳細を記述します。--><job title="job_title" process_class="agent" name="job_name">

<!– Scriptタグ:Jobを実⾏するスクリプトを指定します。CDATA内に実際に実⾏するスクリプトを定義します。--><script language="shell">

<![CDATA[#! /bin/shecho 'please configure script in this area'

]]></script><!– run_timeタグ:Jobの実⾏スケジュールを記述します。--><run_time >

<period single_start="10:00"/></run_time>

</job>

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 25

Page 26: JobSchedulerアップデート2016

ジョブの監視

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 26

l JOC (Job Operation Center)画⾯例

l ジョブチェーンの表⽰例

Page 27: JobSchedulerアップデート2016

JID(Job Information Dashboard)

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 27

ジョブ毎のログ表⽰

検索/フィルタリングボックス

ジョブ実⾏計画/履歴表⽰ 設定メニュー

ジョブ毎の履歴表⽰

Page 28: JobSchedulerアップデート2016

内部APIl 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 hostnamespooler_log.info(‘My hostname is ' + spooler.hostname());// kick next jobspooler.job(‘path/to/job').start();

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 28

Page 29: JobSchedulerアップデート2016

外部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を連携させることが容易に実現できる。

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 29

Page 30: JobSchedulerアップデート2016

PowerShell サポート (Windows)l JobScheduler管理

l PowerShellコマンドラインインターフェース(CLI)の提供l Cmdletsから、JobSchedulerの機能を使⽤可能

l マスター/エージェント/ジョブ/オーダーの状況取得l ジョブ/オーダーの制御l 実⾏タスクの制御

l PowerShell Jobsl ジョブ定義をPowerShellで記述l JobScheduler APIをPowerShellから使⽤可能l PowerShell標準エラーハンドリング/エラー出⼒使⽤可能

l e.g. verbose and debug output

302016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved

Page 31: JobSchedulerアップデート2016

レポーティングインターフェースl JobSchedulerでは、レポート作成を容易にするために、レポーティング

インターフェースを提供しているl ジョブ実⾏履歴から、⾃動的にレポート⽤テーブルが⽣成されるl 例えば、JobSchedulerの各ジョブの稼働時間やエラー回数を⽇次、⽉次、

年次で集計するといった事が出来る。l レポートは、 Excelなど標準的なDBツールで作成する。

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 31

JobScheduler DB

JobSchedulerジョブ実⾏

ジョブリスト作成/liveフォルダ監視

ExcelなどSQLレポーティングツール

レポートテーブル

ジョブ履歴更新実績集計

ジョブhistoryテーブル作成

Page 32: JobSchedulerアップデート2016

モニタリングインターフェース

l Historyテーブルに記録されているログを分析(タスクが正常に終了したか、もしくはエラーや警告で終了したか)し、通知設定した情報のフィルタリングを⾏う。

l フィルタリングされた情報をHistoryテーブルとは別のNotificationsテーブルに情報を書き込み、対象の監視システムへ通知される

l 監視システムの通知は、予め構成ファイルで定義されたコマンドが実⾏される

l 既存のJobChain等を編集する必要はなくSystemMonitorNotification_<MonitorSystem>.xmlに通知を⾏うJobChainsを記載し設定を⾏う

l 通知設定を⾏っても JobChainのパフォーマンス等の影響はないl 詳細なログ情報を、監視システムへ送信することが出来る

l エラーは定期的に監視システムに送信される

32

JobScheduler DB

JobSchedulerジョブ実⾏

CheckHistoryジョブHistoryテーブルを

定期的にチェックする

CleanupNotificationsジョブ有効期限が切れている通知を

削除

ResetNotificationsジョブ⼀部の監視システムで、通知された

問題が知られていることを「Acknowledge」操作でそれ以上の通知は送信させないようにする

SystemNotifierジョブ監視システムに通知

監視システム

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved

Page 33: JobSchedulerアップデート2016

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/

# java –jar lib/saxon9he.jar –s:”[変換元ファイル名]” –xsl:”scheduler_data/config/xml2live.xml” sos.destination=“out_dir”

l out_dirに出⼒されたファイルを、config/liveに移動する2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 33

Page 34: JobSchedulerアップデート2016

HyClops JobMonitoring概要

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 34

ジョブをZabbix監視アイテムに⾃動登録l JobSchedulerにジョブを登録すると、⾃動的にZabbixに

ジョブ監視アイテムを設定Zabbixからジョブのアラート監視

l ジョブ定義で指定したアラート(開始遅延、実⾏失敗等)を監視

Zabbixからジョブの実⾏時間監視l 各ジョブの実⾏時間履歴を監視、傾向グラフを表⽰

Zabbix監視閾値をジョブから⾃動変更l 特定のジョブを実⾏する際に、cpu loadやmemory freeの

閾値を変更し、実⾏完了後元に戻す

Page 35: JobSchedulerアップデート2016

Zabbix画⾯イメージ

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 35

ジョブ監視アイテム

ジョブ実⾏時間推移

Page 36: JobSchedulerアップデート2016

マイグレーションサービスの提供l 既存ジョブ管理システムからの移⾏⽀援サービスl CA-Unicenter ® Autosysl BMC Controll-M ®l Tivoli® Workload Schedulerl Windows Task Schedulerl *nix cronl ご相談ください!

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 36

Page 37: JobSchedulerアップデート2016

JobScheduler 2015-2016

V1.8(Q1/2015)

• 安定性強化 (バグフィックス、機能追加)

• クラスタリング機能強化

V.1.9(Q3/2015)

• ユニバーサルエージェントの提供

• エージェントクラスタ機能追加

V1.10(Q3/2015)

• ユニバーサルエージェントのサポートプラットフォーム拡⼤

• PowerShellサポート

372016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved

Page 38: JobSchedulerアップデート2016

V.1.11 アップデートl JOCコックピットl ユーザー認証/アクセス制御l 組み込みhttpのリタイア

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 38

Page 39: JobSchedulerアップデート2016

NGINX/AngularJS

JOCコックピットアーキテクチャー

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 39

• JOCとJIDを統合し、JobScheduler本体から独⽴

Page 40: JobSchedulerアップデート2016

ダッシュボード

マスターステータス

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 40

エージェントステータス

オーダーステータス

マスター選択

Page 41: JobSchedulerアップデート2016

ジョブフロー画⾯

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 41

Page 42: JobSchedulerアップデート2016

ロールベースアクセス制御

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 42

Page 43: JobSchedulerアップデート2016

ログイン画⾯

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 43

ローカル認証:apache shiroリモート認証:OpenLDAP/Active Directory

Page 44: JobSchedulerアップデート2016

ロードマップ 2017〜(予定)l SNMPサポートl JOE on Cockpitl アーキテクチャーの⾒直し

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 44

Page 45: JobSchedulerアップデート2016

SNMPサポートl SNMP コンポーネント§SNMPマネージャー/Trap レシーバを使⽤した監視システムから監視が可能

§ JobSchedulerの SNMPマスターエージェントとSNMPエージェントが提供され、モニタリングインターフェースと連携する

l SNMP メッセージフローl JobScheduler インスタンスl すべてのインスタンスの履歴は

RDBMSに格納されるl JobScheduler SNMPエージェン

ト§SNMPエージェントは、モニタリングインターフェースと連携し、エラーを通知する

§マスターエージェントは、リクエスト/レスポンスとトラップに対応

45

JobSchedulerモニタリングインターフェース

Active ClusterJobScheduler

JS1

Active ClusterJobScheduler

JS2

Active ClusterJobScheduler

JS3

RDBMSaccess

database

JobSchedulerSNMPエージェント

監視システム

SNMPマネージャー

SNMPマスターエージェント

JobSchedueler モニタリング

SNMPTrap

レシーバーsend traps

request / response

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved

Page 46: JobSchedulerアップデート2016

JOE on Cockpitl 現在のJOEを完全に書き換えl JOCコックピットのWeb UIに統合l JOCコックピットのデザインに統⼀l 現在のJOEの機能は踏襲l ジョブの依存関係などの表現を強化l セルフサービスポータルの提供

l 初⼼者向けのジョブ作成UIを提供l ジョブ監視/制御機能も統合

462016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved

Page 47: JobSchedulerアップデート2016

アーキテクチャーの⾒直しl アーキテクチャーレベルでの⾼可⽤性の強化

l マスター/エージェント通信の⾮同期化/疎結合化l 通信遮断時の耐性強化

l 分散型アーキテクチャーの採⽤l SPOF(単⼀障害点)の排除l セルフヒーリング機能

l RDBMSへの依存を排除l マスター/エージェント再起動時の整合性は、アプリケーションレベルで保

障l RDBMS障害時も稼働、RDBMSはレポーティング⽬的のみl ⾼価なRDBMSのHA構成も不要

472016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved

Page 48: JobSchedulerアップデート2016

⽇本JobSchedulerユーザーグループ

l 2013/4発⾜l JobSchedulerいけるやん、という⼈の集まりl 独SOSサイトにも掲載“Company News : Japanese language JobScheduler user group on Facebook”

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 勉強会と⾔う名の飲み会

2016/10/20 Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved 48

Page 49: JobSchedulerアップデート2016

活動内容l グループサイトの運営https://sites.google.com/site/jobschedulerja/home

l Wiki, tips, ドキュメントを掲載l Facebookページhttp://ja-jp.facebook.com/pages/Jobscheduler-Japan-ユーザーグループ

/594469610565511l 各種告知l いいね!をお願いします!!

l 普及活動l 定期勉強会l OSC

2016/10/20 49Copyright 2016(C) OSS Laboratories Inc. All Rights Reserved