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.
Copyright © 2015 TIS Inc. All rights reserved.
運用をプログラマブルに!
  JobSchedulerを活用した
    Operations as Codeの世界
2015/12/09
オープンソ...
Copyright © 2015 TIS Inc. All rights reserved.
自己紹介
池田 大輔
TIS株式会社 OSS推進室
@ike_dai
https://www.facebook.com/ikedai
  Zabbix...
Copyright © 2015 TIS Inc. All rights reserved.
【宣伝】TISエンタープライズOSSサポートサービス
問い合わせ先
      TIS株式会社
  OSSサポートサービス担当窓口
oss-sales...
Copyright © 2015 TIS Inc. All rights reserved.
アジェンダ
● 今、運用管理に求められること
● JobScheduler概要紹介
○ JobSchedulerのアーキテクチャ
○ JobSched...
Copyright © 2015 TIS Inc. All rights reserved.
今、運用管理に求められること
Copyright © 2015 TIS Inc. All rights reserved.
運用管理すべき基盤の変化
Cloud
HW
OS
MW
APP
HW
OS
MW
APP
HV
VM
OS
MW
APP
VM
OS
MW
APP
V...
Copyright © 2015 TIS Inc. All rights reserved.
運用管理に求められること
便利
でも
大規模化
激しい変化
により
運用が
複雑に
Copyright © 2015 TIS Inc. All rights reserved.
運用管理に求められること
オンプレ?
  いかに自動化を進めるか?
サービス?
  どこまで要件をカバーできるか?
Copyright © 2015 TIS Inc. All rights reserved.
運用管理に求められること
複雑な運用環境でも
  オペミスなく
  低コストで
 
    ⇛可能な限りのCode化
Copyright © 2015 TIS Inc. All rights reserved.
Operations as Code
Copyright © 2015 TIS Inc. All rights reserved.
今日の目的
そんなシーンにマッチしそうなJobSchedulerについて
  どんなものか知ってもらう
  ちょっと試してみようと思ってもらう
  話...
Copyright © 2015 TIS Inc. All rights reserved.
JobScheduler概要紹介
Copyright © 2015 TIS Inc. All rights reserved.
JobSchdulerとは?
OSSジョブ管理ツール (GPL ver.2)
ドイツ ベルリンのSOS社が開発
最新安定版1.10.1
対応プラットフ...
Copyright © 2015 TIS Inc. All rights reserved.
JobSchduler基本構成
JOC
JOE
※Jobエディタ
Job
Job
Chain
JobScheduler Agent
JobSchedu...
Copyright © 2015 TIS Inc. All rights reserved.
JOC(JobScheduler Operations Center)
Copyright © 2015 TIS Inc. All rights reserved.
JOE(JobScheduler Object Editor)
Copyright © 2015 TIS Inc. All rights reserved.
JobSchduler基本用語
ジョブ実行管理関連
Job
 Standalone Job
  単体で稼働するジョブ
 Order Job
  Job...
Copyright © 2015 TIS Inc. All rights reserved.
JobChain実行の流れ
Order Job1 Order Job2
Node1 Node2 EndNode
JobChain
上記のような定義あり
Copyright © 2015 TIS Inc. All rights reserved.
JobChain実行の流れ
Order Job1 Order Job2
Node1 Node2 EndNode
JobChain
スケジュール定義に従...
Copyright © 2015 TIS Inc. All rights reserved.
JobChain実行の流れ
Order Job1 Order Job2
Node1 Node2 EndNode
JobChain
Orderが発行され...
Copyright © 2015 TIS Inc. All rights reserved.
JobChain実行の流れ
Order Job1 Order Job2
Node1 Node2 EndNode
JobChain
JobChainの定...
Copyright © 2015 TIS Inc. All rights reserved.
JobChain実行の流れ
Order Job1 Order Job2
Node1 Node2 EndNode
JobChain
次のNodeに紐づく...
Copyright © 2015 TIS Inc. All rights reserved.
JobChain実行の流れ
Order Job1 Order Job2
Node1 Node2 EndNode
JobChain
終端Nodeに達する...
Copyright © 2015 TIS Inc. All rights reserved.
JobSchedulerの設定
JobSchedulerの設定情報は全てXMLファイルで定義
・JobSchedulerEngineの設定
・Job、...
Copyright © 2015 TIS Inc. All rights reserved.
Standalone Job定義
<?xml version="1.0" encoding="ISO-8859-1"?>
<job order="no...
Copyright © 2015 TIS Inc. All rights reserved.
JobChain定義 -その1-
<?xml version="1.0" encoding="ISO-8859-1"?>
<job_chain ord...
Copyright © 2015 TIS Inc. All rights reserved.
JobChain定義 -その2-
<?xml version="1.0" encoding="ISO-8859-1"?>
<job_chain tit...
Copyright © 2015 TIS Inc. All rights reserved.
Schedule定義
<?xml version=”1.0” encoding=”ISO-8859-1”?>
<schedule name="samp...
Copyright © 2015 TIS Inc. All rights reserved.
JobSchedulerの特長
Copyright © 2015 TIS Inc. All rights reserved.
商用製品にも劣らないジョブ管理機能
ジョブ分岐処理
ジョブ繰り返し実行
待ち合わせジョブ
ジョブの並列実行
ジョブ失敗時の再実行処理
 再実行タイミン...
Copyright © 2015 TIS Inc. All rights reserved.
クラスタリング構成機能搭載
冗長構成および負荷分散構成が標準機能として可能
 
JobScheduler Engine
1号機
JobSchedule...
Copyright © 2015 TIS Inc. All rights reserved.
冗長構成設定方法
①Engineそれぞれ持っているScheduler IDをクラスタ間で同一に設定
 scheduler起動時のオプション(-id)で...
Copyright © 2015 TIS Inc. All rights reserved.
Job実行先の可用性
<process_class name="agent-01" max_processes="10">
<remote_sched...
Copyright © 2015 TIS Inc. All rights reserved.
APIベースでの処理自動化
内部API
ジョブの中でJobSchedulerに対する操作が可能
※例:ジョブAの実行に失敗したらジョブBのジョブスケジ...
Copyright © 2015 TIS Inc. All rights reserved.
WebAPI実行例
対応コマンドの一覧は以下参照
http://www.sos-berlin.com/doc/en/scheduler.doc/xml...
Copyright © 2015 TIS Inc. All rights reserved.
JobSchedulerでどこまで
Code化できるのか
Copyright © 2015 TIS Inc. All rights reserved.
Zabbix監視結果を元にしたジョブフローの自動制御
JobScheduler自身の制御も内部APIでプログラマブルにコントロール
JobChain
...
Copyright © 2015 TIS Inc. All rights reserved.
【参考】Zabbix APIをコールして監視結果取得
サンプルJob定義ファイルを公開
https://github.com/ike-dai/hycl...
Copyright © 2015 TIS Inc. All rights reserved.
Job実行先の動的な設定
あらかじめ処理実行先のAgentが決まっていないケースでも内部で自動設定可
JobChain
とあるJob
Agentを
設...
Copyright © 2015 TIS Inc. All rights reserved.
【参考】パラメータ管理
JobSchedulerは様々な方法でパラメータの引き渡しが可能
1. 固定で設定
2. 手動で実行の度に設定
3. JobC...
Copyright © 2015 TIS Inc. All rights reserved.
【参考】パラメータ管理
JobSchedulerは様々な方法でパラメータの引き渡しが可能
1. 固定で設定
2. 手動で実行の度に設定
3. JobC...
Copyright © 2015 TIS Inc. All rights reserved.
【参考】パラメータ管理
JobSchedulerは様々な方法でパラメータの引き渡しが可能
1. 固定で設定
2. 手動で実行の度に設定
3. JobC...
Copyright © 2015 TIS Inc. All rights reserved.
【参考】パラメータ管理
JobSchedulerは様々な方法でパラメータの引き渡しが可能
1. 固定で設定
2. 手動で実行の度に設定
3. JobC...
Copyright © 2015 TIS Inc. All rights reserved.
【参考】パラメータ管理
JobSchedulerは様々な方法でパラメータの引き渡しが可能
1. 固定で設定
2. 手動で実行の度に設定
3. JobC...
Copyright © 2015 TIS Inc. All rights reserved.
TISの独自取り組み
Copyright © 2015 TIS Inc. All rights reserved.
HyClops JobMonitoring
● ZabbixとJobSchedulerを連携するツール
● 3つの機能
1. ジョブの失敗状況をZab...
Copyright © 2015 TIS Inc. All rights reserved.
HyClops JobMonitoring
● ZabbixとJobSchedulerを連携するツール
● 3つの機能
1. ジョブの失敗状況をZab...
Copyright © 2015 TIS Inc. All rights reserved.
まとめ
● 非常に高機能で使いどころのあるツール
● ジョブ管理という特性上、可用性担保のための機能が豊富
● APIベースで外部との連携・内部処理の...
Copyright © 2015 TIS Inc. All rights reserved.
最近、サービスでもいろいろできるようになってきている
AWS Lambda
【おまけ】サービスの活用
Lambda
Function
Event
● ...
Copyright © 2015 TIS Inc. All rights reserved.
最近、サービスでもいろいろできるようになってきている
AWS Lambda
【おまけ】サービスの活用
Lambda
Function
Event
● ...
THANK YOU
Upcoming SlideShare
Loading in …5
×

Job schedulerを活用したoperations as codeの世界

3,055 views

Published on

OSC Enterprise.2015での講演資料です。
JobSchedulerの概要・特長の紹介です。

Published in: Technology
  • Be the first to comment

Job schedulerを活用したoperations as codeの世界

  1. 1. Copyright © 2015 TIS Inc. All rights reserved. 運用をプログラマブルに!   JobSchedulerを活用した     Operations as Codeの世界 2015/12/09 オープンソースカンファレンス 2015.Enterprise OSS推進室 池田 大輔
  2. 2. Copyright © 2015 TIS Inc. All rights reserved. 自己紹介 池田 大輔 TIS株式会社 OSS推進室 @ike_dai https://www.facebook.com/ikedai   Zabbix,AWS,fluentd,Ansible,JobScheduler... 名前 所属 Twitter Facebook 興味 Zabbix Conference 2015 “Advanced SysOps by using HyClops” (http://www.zabbix.com/jp/conf2015_agenda.php) 技術評論社HP : http://gihyo.jp/book/2014/978-4-7741-6288-1 Amazon : http://www.amazon.co.jp/dp/4774162884
  3. 3. Copyright © 2015 TIS Inc. All rights reserved. 【宣伝】TISエンタープライズOSSサポートサービス 問い合わせ先       TIS株式会社   OSSサポートサービス担当窓口 oss-sales@ml.tis.co.jp
  4. 4. Copyright © 2015 TIS Inc. All rights reserved. アジェンダ ● 今、運用管理に求められること ● JobScheduler概要紹介 ○ JobSchedulerのアーキテクチャ ○ JobSchedulerにおけるジョブ管理の仕組み ● JobSchedulerの特長 ● JobSchedulerでどこまで運用Code化できるか? ● まとめ
  5. 5. Copyright © 2015 TIS Inc. All rights reserved. 今、運用管理に求められること
  6. 6. Copyright © 2015 TIS Inc. All rights reserved. 運用管理すべき基盤の変化 Cloud HW OS MW APP HW OS MW APP HV VM OS MW APP VM OS MW APP VM OS MW APP VM HW OS HW HV VM Cloud VM Container Container Container Container Container Container 物理 仮想化 クラウド化 マルチ環境化・コンテナ型仮想化 仮想化レイヤの追加 環境がクラウド上に存在 し、HW・HVレイヤの管理 がクラウドレイヤに隠蔽 複数環境の併用 プロセス空間を分離した アプリケーション稼働基盤の実現 HW HV HW HV
  7. 7. Copyright © 2015 TIS Inc. All rights reserved. 運用管理に求められること 便利 でも 大規模化 激しい変化 により 運用が 複雑に
  8. 8. Copyright © 2015 TIS Inc. All rights reserved. 運用管理に求められること オンプレ?   いかに自動化を進めるか? サービス?   どこまで要件をカバーできるか?
  9. 9. Copyright © 2015 TIS Inc. All rights reserved. 運用管理に求められること 複雑な運用環境でも   オペミスなく   低コストで       ⇛可能な限りのCode化
  10. 10. Copyright © 2015 TIS Inc. All rights reserved. Operations as Code
  11. 11. Copyright © 2015 TIS Inc. All rights reserved. 今日の目的 そんなシーンにマッチしそうなJobSchedulerについて   どんなものか知ってもらう   ちょっと試してみようと思ってもらう   話を聞いておもしろそうと思った方はブースまで!
  12. 12. Copyright © 2015 TIS Inc. All rights reserved. JobScheduler概要紹介
  13. 13. Copyright © 2015 TIS Inc. All rights reserved. JobSchdulerとは? OSSジョブ管理ツール (GPL ver.2) ドイツ ベルリンのSOS社が開発 最新安定版1.10.1 対応プラットフォーム - Linux - Windows - Solaris - AIX - HP-UX ジョブ実行方法 - JS単体でのジョブ実行 - JS Agentによる リモートサーバへのジョブ実行 - SSH接続による リモートサーバへのジョブ実行 対応可能処理 - フロー(JobChain)実行 - スケジュール実行 - 多重実行・排他制御 - 先行・後続制御 - 優先度設定 - ジョブ実行監視 - メール通知 等
  14. 14. Copyright © 2015 TIS Inc. All rights reserved. JobSchduler基本構成 JOC JOE ※Jobエディタ Job Job Chain JobScheduler Agent JobScheduler Agent SSH Server ※Job管理WebGUI Job Job Chain DB ※Job実行履歴、  Jobスケジューリング情報  等 Schedule Process Class Schedule Process Class JobScheduler Engine liveフォルダ
  15. 15. Copyright © 2015 TIS Inc. All rights reserved. JOC(JobScheduler Operations Center)
  16. 16. Copyright © 2015 TIS Inc. All rights reserved. JOE(JobScheduler Object Editor)
  17. 17. Copyright © 2015 TIS Inc. All rights reserved. JobSchduler基本用語 ジョブ実行管理関連 Job  Standalone Job   単体で稼働するジョブ  Order Job   JobChainの中に組み込むジョブ  ※中身の実体としては基本的に同じで、組み込んで使えるものかどうかのフラグがあるだけ JobChain  複数のジョブ実行定義を順序を考慮してひとまとめにした定義 Node  JobChainの中の各ステップを示す概念 Order  JobChainのジョブ実行をコントロールする概念  JobChain定義に対してOrderを生成することでJobChainの内容が実行される Process Class  Jobの実行先プロセス  JobScheduler Engineが稼働しているサーバもしくはJobScheduler Engineが稼働しているサーバを設定 Schedule  Standalone JobやOrderの実行スケジュールを定義
  18. 18. Copyright © 2015 TIS Inc. All rights reserved. JobChain実行の流れ Order Job1 Order Job2 Node1 Node2 EndNode JobChain 上記のような定義あり
  19. 19. Copyright © 2015 TIS Inc. All rights reserved. JobChain実行の流れ Order Job1 Order Job2 Node1 Node2 EndNode JobChain スケジュール定義に従いOrder発行 Order Schedule 発行
  20. 20. Copyright © 2015 TIS Inc. All rights reserved. JobChain実行の流れ Order Job1 Order Job2 Node1 Node2 EndNode JobChain Orderが発行されたNodeに紐づく OrderJobが指定したProcessClass上で実行 Order Schedule 発行 ProcessClass (server-01)
  21. 21. Copyright © 2015 TIS Inc. All rights reserved. JobChain実行の流れ Order Job1 Order Job2 Node1 Node2 EndNode JobChain JobChainの定義に従い次のNodeに対してOrder発行 Order 発行
  22. 22. Copyright © 2015 TIS Inc. All rights reserved. JobChain実行の流れ Order Job1 Order Job2 Node1 Node2 EndNode JobChain 次のNodeに紐づくOrderJobがProcessClass上で実行 ※ProcessClassはOrderJob毎に変更可能 Order 発行 ProcessClass (server-02)
  23. 23. Copyright © 2015 TIS Inc. All rights reserved. JobChain実行の流れ Order Job1 Order Job2 Node1 Node2 EndNode JobChain 終端Nodeに達すると処理終了 Order 発行
  24. 24. Copyright © 2015 TIS Inc. All rights reserved. JobSchedulerの設定 JobSchedulerの設定情報は全てXMLファイルで定義 ・JobSchedulerEngineの設定 ・Job、JobChainの設定 ・Schedulerの設定 ・Process Classの設定 等
  25. 25. Copyright © 2015 TIS Inc. All rights reserved. Standalone Job定義 <?xml version="1.0" encoding="ISO-8859-1"?> <job order="no" stop_on_error="no"> <script language="shell"><![CDATA[ #!/bin/bash FILE=/tmp/demo_job.log echo `date`": Executed demo_main Job" >> $FILE sleep 2 ]]></script> <run_time let_run="yes" repeat="60"/> </job> 任意の実行処理が記述可能 実行タイミングを指定可能 サポートされている言語: shell,Java, JavaScript,Perl,VBScript
  26. 26. Copyright © 2015 TIS Inc. All rights reserved. JobChain定義 -その1- <?xml version="1.0" encoding="ISO-8859-1"?> <job_chain orders_recoverable="yes" title="sample jobchain 1" visible="yes"> <job_chain_node state=”Step1” job=”sample_3_orderjob_1” error_state="Error" next_state=”Step2”/> <job_chain_node state=”Step2” job=”sample_3_orderjob_2” error_state="Error" next_state="Step3"/> <job_chain_node state=”Step3” job=”sample_3_orderjob_3” error_state="Error" next_state="Success"/> <job_chain_node state="Success"/> <job_chain_node state="Error"/> </job_chain> Step1 Step2 Step3 Success Error
  27. 27. Copyright © 2015 TIS Inc. All rights reserved. JobChain定義 -その2- <?xml version="1.0" encoding="ISO-8859-1"?> <job_chain title="sample job chain 2" max_orders="10"> <job_chain_node state="Step1" job="sample_4_orderjob_1" error_state="Error" next_state="Success"> <on_return_codes > <on_return_code return_code="2"> <to_state state="Step2"/> </on_return_code> <on_return_code return_code="3"> <to_state state="Step3"/> </on_return_code> </on_return_codes> </job_chain_node> <job_chain_node state="Step2" job="sample_4_orderjob_2" error_state="Error" next_state="Success"/> <job_chain_node state="Step3" job="sample_4_orderjob_3" error_state="Error" next_state="Success"/> <job_chain_node state="Success"/> <job_chain_node state="Error"/> </job_chain> Step1 Step2 Success Error Step3 return_code=2 return_code=3
  28. 28. Copyright © 2015 TIS Inc. All rights reserved. Schedule定義 <?xml version=”1.0” encoding=”ISO-8859-1”?> <schedule name="sample_schedule"> <period single_start="18:50"/> <weekdays> <day day="1"> <period begin="00:00" end="01:00" when_holiday="next_non_holiday"/> </day> </weekdays> <holidays> <weekdays> <day day=”7 6” /> </weekdays> <holiday date="2015-10-12"/> <holiday date="2015-11-03"/> <holiday date="2015-11-23"/> </holidays> </schedule> 稼働日時、非稼動日をスケジュール(Schedule)として定義  Standalone Job、Order Job、JobChain、Orderの各オブジェクトと紐付け可  run_timeと複合設定も可  特定期間のみ代替スケジュールで稼働させることも可   ● 毎日月曜 00:00~01:00に実行 ● 月曜が休日だった場合は次の営業日に実行 ● 非稼動日は毎週土日と2015/10/12,2015/11/3,2015/11/23
  29. 29. Copyright © 2015 TIS Inc. All rights reserved. JobSchedulerの特長
  30. 30. Copyright © 2015 TIS Inc. All rights reserved. 商用製品にも劣らないジョブ管理機能 ジョブ分岐処理 ジョブ繰り返し実行 待ち合わせジョブ ジョブの並列実行 ジョブ失敗時の再実行処理  再実行タイミングの柔軟な設定(Delay実行等) 非稼動日の処理実行ルールの設定 等々  
  31. 31. Copyright © 2015 TIS Inc. All rights reserved. クラスタリング構成機能搭載 冗長構成および負荷分散構成が標準機能として可能   JobScheduler Engine 1号機 JobScheduler Engine 2号機 XML定義ファイル DB 各Engineで同じ内容が共有できていればOK ・NFSで共有したり ・S3にファイルを置いて定期的に各Engine上にファイルをSyncしたり
  32. 32. Copyright © 2015 TIS Inc. All rights reserved. 冗長構成設定方法 ①Engineそれぞれ持っているScheduler IDをクラスタ間で同一に設定  scheduler起動時のオプション(-id)で指定(インストール時にも指定可能) ②JobSchedulerの起動時に以下のパラメータを指定  Active/Standby構成の場合  Active/Active構成の場合 $ scheduler -id scheduler-01 ・・・その他オプション $ scheduler -exclusive -backup (-backup-precedence=数字) ・・・その他オプション $ scheduler -exclusive・・・その他オプションActive Standby $ scheduler -distributed-orders ・・・その他オプション
  33. 33. Copyright © 2015 TIS Inc. All rights reserved. Job実行先の可用性 <process_class name="agent-01" max_processes="10"> <remote_schedulers > <remote_scheduler remote_scheduler="http://10.1.1.10:4445"/> <remote_scheduler remote_scheduler="http://10.1.1.20:4445"/> </remote_schedulers> </process_class> ・EngineとAgent間で定期的にHeartbeat packetをやり取り ・複数のAgent先を1プロセスクラスに登録した場合、利用可能なAgentを自動選択してジョブ実行
  34. 34. Copyright © 2015 TIS Inc. All rights reserved. APIベースでの処理自動化 内部API ジョブの中でJobSchedulerに対する操作が可能 ※例:ジョブAの実行に失敗したらジョブBのジョブスケジュールを変更 WebAPI 外部ツールからJobSchedulerに対する操作が可能 ※例:Zabbixの監視結果で障害が発生したらとあるジョブCを実行
  35. 35. Copyright © 2015 TIS Inc. All rights reserved. WebAPI実行例 対応コマンドの一覧は以下参照 http://www.sos-berlin.com/doc/en/scheduler.doc/xml.xml 特定のジョブを実行したい場合 $ curl -X POST http://example.com:4444 -d “<start_job job=’sample_job1’ />” JobSchedulerEngie URL 実行処理 ジョブの定義を変更したい場合 $ curl -X POST http://example.com:4444 -d “<modify_hot_folder folder=’test’><job ・・・ /></modify_hot_folder>”
  36. 36. Copyright © 2015 TIS Inc. All rights reserved. JobSchedulerでどこまで Code化できるのか
  37. 37. Copyright © 2015 TIS Inc. All rights reserved. Zabbix監視結果を元にしたジョブフローの自動制御 JobScheduler自身の制御も内部APIでプログラマブルにコントロール JobChain とあるJob 直近のサーバ 負荷収集 Zabbix OK 評価 次のJob OK スケジュール 変更NG 内部APIにより 別スケジュールで 処理実行命令(Order)発行 新規Order 別スケ ジュール 例えば...
  38. 38. Copyright © 2015 TIS Inc. All rights reserved. 【参考】Zabbix APIをコールして監視結果取得 サンプルJob定義ファイルを公開 https://github.com/ike-dai/hyclops_jm/tree/add-zabbix-job ➔ JavaScriptで実装 ➔ itemidやAPIの接続情報を渡して実行することで値取得 ➔ 結果をパラメータに引き渡し次のジョブで活用可能に
  39. 39. Copyright © 2015 TIS Inc. All rights reserved. Job実行先の動的な設定 あらかじめ処理実行先のAgentが決まっていないケースでも内部で自動設定可 JobChain とあるJob Agentを 設定 パラメータに渡して次のステップへ 次のジョブ 次の実行先 を選定 JobScheduler Agent 1号機 JobScheduler Agent 2号機 remote_scheduler をAPIで設定
  40. 40. Copyright © 2015 TIS Inc. All rights reserved. 【参考】パラメータ管理 JobSchedulerは様々な方法でパラメータの引き渡しが可能 1. 固定で設定 2. 手動で実行の度に設定 3. JobChainのフロー中で動的に設定 4. APIを用いた自動設定
  41. 41. Copyright © 2015 TIS Inc. All rights reserved. 【参考】パラメータ管理 JobSchedulerは様々な方法でパラメータの引き渡しが可能 1. 固定で設定 2. 手動で実行の度に設定 3. JobChainのフロー中で動的に設定 4. APIを用いた自動設定 JobとOrderのxmlファイルに<params>要素を設定 <job name="param_test"> <params > <param name="param_1" value="100"/> <param name="param_2" value="this is param_2"/> </params> <script language="shell"> <![CDATA[ echo "This is param_test job" ]]> </script> <run_time /> </job>
  42. 42. Copyright © 2015 TIS Inc. All rights reserved. 【参考】パラメータ管理 JobSchedulerは様々な方法でパラメータの引き渡しが可能 1. 固定で設定 2. 手動で実行の度に設定 3. JobChainのフロー中で動的に設定 4. APIを用いた自動設定 JOCからの手動実行時に設定可能
  43. 43. Copyright © 2015 TIS Inc. All rights reserved. 【参考】パラメータ管理 JobSchedulerは様々な方法でパラメータの引き渡しが可能 1. 固定で設定 2. 手動で実行の度に設定 3. JobChainのフロー中で動的に設定 4. APIを用いた自動設定 「$SCHEDULER_PARAM_xxx」への格納・呼び出し JobChain 後続ジョブ先行ジョブ $SCHEDULER_PARAM_param1 に値をセット $SCHEDULER_PARAM_param1 から値を呼び出し
  44. 44. Copyright © 2015 TIS Inc. All rights reserved. 【参考】パラメータ管理 JobSchedulerは様々な方法でパラメータの引き渡しが可能 1. 固定で設定 2. 手動で実行の度に設定 3. JobChainのフロー中で動的に設定 4. APIを用いた自動設定 APIによるジョブ実行時にパラメータ引き渡し <start_job job=”param_test”> <params> <param name="param_1" value="100"/> <param name="param_2" value="this is param_2"/> </params> </start_job> JobScheduler Engine 外部ツール等 HTTPリクエスト
  45. 45. Copyright © 2015 TIS Inc. All rights reserved. TISの独自取り組み
  46. 46. Copyright © 2015 TIS Inc. All rights reserved. HyClops JobMonitoring ● ZabbixとJobSchedulerを連携するツール ● 3つの機能 1. ジョブの失敗状況をZabbixに連携 2. ジョブの実行処理時間情報をZabbixに連携 3. ジョブ実行時にZabbixのトリガー条件式を動的変更 公式サイトURL: http://tech-sketch.github.io/hyclops_jm GitHubリポジトリ: https://github.com/tech-sketch/hyclops_jm
  47. 47. Copyright © 2015 TIS Inc. All rights reserved. HyClops JobMonitoring ● ZabbixとJobSchedulerを連携するツール ● 3つの機能 1. ジョブの失敗状況をZabbixに連携 2. ジョブの実行処理時間情報をZabbixに連携 3. ジョブ実行時にZabbixのトリガー条件式を動的変更 公式サイトURL: http://tech-sketch.github.io/hyclops_jm GitHubリポジトリ: https://github.com/tech-sketch/hyclops_jm 平常時のCPU負荷 Job実行時のCPU負荷 閾値 閾値
  48. 48. Copyright © 2015 TIS Inc. All rights reserved. まとめ ● 非常に高機能で使いどころのあるツール ● ジョブ管理という特性上、可用性担保のための機能が豊富 ● APIベースで外部との連携・内部処理のCode化が可能 気になった方はぜひご連絡を oss-sales@ml.tis.co.jp
  49. 49. Copyright © 2015 TIS Inc. All rights reserved. 最近、サービスでもいろいろできるようになってきている AWS Lambda 【おまけ】サービスの活用 Lambda Function Event ● S3ファイル ● CloudWatch Logs監視結果 ● SNS ● スケジュール など 外部ツール API endpoint クラウド上のどこかで処理
  50. 50. Copyright © 2015 TIS Inc. All rights reserved. 最近、サービスでもいろいろできるようになってきている AWS Lambda 【おまけ】サービスの活用 Lambda Function Event ● S3ファイル ● CloudWatch Logs監視結果 ● SNS ● スケジュール など 外部ツール API endpoint クラウド上のどこかで処理 『適材適所でいかに効果的に活用するか』 『いかに環境の特性を活かしてシンプルに設計するか』
  51. 51. THANK YOU

×