SlideShare a Scribd company logo
1 of 43
Download to read offline
Zabbix-JobScheduler連携ツール 
HyClops JobMonitoringによる 
運用システムOSS化の実現 
TIS 株式会社 
戦略技術センター 
池田 大輔 
2014/12/12 OSC2014.Enterprise@Tokyo
自己紹介 
池田 大輔 
TIS株式会社 戦略技術センター 
@ike_dai 
https://www.facebook.com/ikedai 
Zabbix,AWS,fluentd,Chef,JobScheduler... 
名前 
所属 
Twitter 
Facebook 
興味 
ThinkIT連載「自動化時代のインフラ環境稼働テスト「Serverspec」入門」 
(http://thinkit.co.jp/book/2014/08/01/5149) 
技術評論社HP : http://gihyo.jp/book/2014/978-4-7741-6288-1 
Amazon : http://www.amazon.co.jp/dp/4774162884
TISエンタープライズOSSサポートサービス 
OSSの利用をトータルにバックアップ 
保守サポート 
コンサルティングマイグレーション
TISエンタープライズOSSサポートサービス 
対象OSS 
アプリケーション 
稼働基盤 
運用基盤 
インフラ基盤 
※今後サポート対象予定
TISエンタープライズOSSサポートサービス 
対象OSS 
アプリケーション 
稼働基盤 
運用基盤 
インフラ基盤 
※今後サポート対象予定 
※TISはZabbix社の認定パートナーです。
運用を取り巻く状況の変化 
システムの仮想化・クラウド化が加速 
管理対象機器の大規模化管理対象機器の動的な変化 
手動運用でカバーできるシステムが減少 
“運用自動化”が益々求められる状況で 
より安定したシステムを低価格で迅速に提供
OSSを運用環境に取り入れる 
多くのOSSは用途に特化した形で提供 
監視ジョブ管理 
ログ管理 
Zabbix 
Nagios 
・・・ 
インシデント 
管理 
JobScheduler 
・・・ 
rsyslog 
Fluentd 
サーバ・・・ 
構成管理 
Chef 
Ansible 
・・・ 
Redmine 
OTRS 
・・・
OSSを運用環境に取り入れる 
APIをベースに各ツール連携することがポイント 
監視ジョブ管理 
ログ管理 
Zabbix 
Nagios 
・・・ 
インシデント 
管理 
JobScheduler 
・・・ 
rsyslog 
Fluentd 
サーバ・・・ 
構成管理 
Chef 
Ansible 
・・・ 
Redmine 
OTRS 
・・・ 
API
着目したのは高機能&拡張性の高さ 
統合監視OSS ジョブ管理OSS
OSS統合監視ソフトウェアZabbix 
OSS統合監視ツール (GPL ver.2) 
ラトビアのZabbixSIA社が開発 
2014/12/12時点の最新安定版2.4.2 (2014/11/5リリース) 
監視対象機器 
- Linux 
- Windows 
- NW機器 
等 
監視方法 
- Zabbix Agent監視 
- SNMP監視 
- IPMI監視 
- エージェントレス監視 
等 
監視内容 
- リソース監視 
- 死活監視 
- ICMPPing 
- プロセス 
- Web監視 
- ログ監視 
- HW監視 
- SQL監視 
等
Zabbixは監視手法が豊富 
snmp server 
snmp server 
任意の情報をpush型でZabbixに登録 
SNMP Trap 
SNMP 
ssh server 
ssh server 
Zabbix Agent 
仮想化HV 
Cloud 
ODBC 
DB 
JMX 
Java 
アプリ 
仮想環境API 
クラウドAPI 
Zabbix Sender 
Zabbix Server 
SSH接続による 
内部コマンド実行監視 
ZabbixAgent 
による内部監視 
(リソースやログ等) 
ODBCによるDB監視 
Zabbix Java GatewayによるJava監視 
外部チェックスクリプト監視機能によるAPI監視
Zabbixは自動化機能が充実 
監視設定パターン化監視設定自動化運用自動化 
テンプレート機能ZabbixAgent自動登録機能 
ローレベルディスカバリ機能 
アクション機能 
監視設定をサーバの用途毎、 
種別毎等まとめる機能 
Agent起動時に自身の情報を 
Zabbix Serverに自動連携 
監視対象サーバ内の情報を収集し、 
その内容に合わせて自動設定 
条件を設定してあらかじめ登録し 
た運用作業処理実行コマンドを 
自動実行 
Zabbix API機能 
プログラムからZabbixの設定や 
監視結果情報取得を実現
参考情報: ローレベルディスカバリ 
Zabbix Server 
ディスカバリルール 
/ /data 
定期的に探索 
アイテムプロトタイプ 
アイテム 
vfs.fs.size[{#FSNAME},free] 
{ 
"data":[ 
   { 
   "{#FSNAME}":"/", 
  "{#FSTYPE}":"ext3"}, 
  { 
  "{#FSNAME}":"/data", 
  "{#FSTYPE}":"ext3"}, 
  ・・・省略 
} 
アイテム 
vfs.fs.size[/,free] 
vfs.fs.size[/data,free] 
活用例: 
JobSchedulerに登録されているJob一覧情報に基づいてアイテム自動登録とか
参考情報: ZabbixAPI 
■ できること 
 - Zabbixに対する操作(設定変更、ホスト追加、グループ作成等)実施 
 - Zabbixで管理している監視結果の取得(history,event,IT service情報) 
■ APIの形式: JSON-RPC 
 - URL: http://<zabbix-server>/zabbix/api_jsonrpc.php 
 - メソッド: host.create、host.update、item.get、history.getなど 
 - パラメータ: メソッド毎に必要なパラメータを渡す 
host.getの例 
レスポンス 
{ 
"auth": "xxxxxxx", 
"method": "host.get", 
"params": { 
"output": "extend", 
"filter": {"host":"Zabbix server"} 
}, 
"jsonrpc": "2.0", 
"id": 1 
} 
{ 
"jsonrpc":"2.0", 
"result":[{ 
"maintenances":[], 
"hostid":"10084", 
"host":"Zabbix server", 
・・・略 
}], 
"id":1 
} 
リクエストパラメータ
OSSジョブ管理ソフトウェアJobScheduler 
OSSジョブ管理ツール (GPL ver.2) 
ドイツ ベルリンのSOS社が開発 
2014/12/12時点の最新安定版1.7.4321 (2014/11/17リリース) 
対応プラットフォーム 
- Linux 
- Windows 
- Solaris 
- AIX 
- HP-UX 
ジョブ実行方法 
- JS単体でのジョブ実行 
- JS Agentによる 
リモートサーバへのジョブ実行 
- SSH接続による 
リモートサーバへのジョブ実行 
対応可能処理 
- フロー(JobChain)実行 
- スケジュール実行 
- 多重実行・排他制御 
- 先行・後続制御 
- 優先度設定 
- ジョブ実行監視 
- メール通知 
等 
※ JS = JobScheduler 
※ JS Agent = JobScheduler Agent
JobSchedulerの基本構成 
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
JobSchedulerのJobの考え方 
Standalone Job 
Job Chain 
Order Job 
Order Job 
Schedule 
• Standalone Job 
– 単体で稼動するジョブを定義 
• Job Chain 
– 複数ジョブを順序関係を考慮して 
組み合わせるジョブ(order job)を定義 
• Schedule 
– ジョブの稼動予定を定義 
• ジョブ定義は様々な記述が可能 
– ShellScript, Windows bat,Java, 
JavaScript,VBScript, javax.script, 
Perl 
JobSchedulerの特徴 
● ジョブ関連の全ての定義がXMLファイルで管理 
● 様々な操作を簡単に行えるようにする機能が提供されている 
○ ファイル操作、ファイル転送、DB制御、SQL操作、レポーティング機能 などなど
JobSchedulerのJob定義の例 
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> 
任意の実行処理が記述可能 
実行タイミングを指定可能
JobSchedulerのJobChain定義の例 
JobChainの書き方 
Before_Job Main_Job After_Job 
Start 
<?xml version="1.0" encoding="ISO-8859-1"?> 
Success 
Error 
<job_chain orders_recoverable="yes" title="test_jobchain" visible="yes"> 
<job_chain_node state=”Before_Job” job=”/path/to/before_job” error_state="Error" next_state=”Main_Job”/> 
<job_chain_node state=”Main_Job” job=”/path/to/main_job” error_state="Error" next_state="After_Job"/> 
<job_chain_node state=”After_Job” job=”/path/to/after_job” error_state="Error" next_state="Success"/> 
<job_chain_node state="Success"/> 
<job_chain_node state="Error"/> 
</job_chain>
JobSchedulerのSchedule定義の例 
Scheduleの書き方 
<?xml version="1.0" encoding="ISO-8859-1"?> 
<schedule title="demo schedule" valid_to="2014-12-31 23:59:59"> 
<period single_start="10:30"/> 
<weekdays > 
<day day="6"> 
<period single_start="04:00"/> 
</day> 
</weekdays> 
</schedule> 
毎日10:30 
毎週土曜 4:00
参考情報: JobScheduler API 
内部API 
ジョブの中でJobSchedulerに対する操作が可能 
※例:ジョブAの実行に失敗したらジョブBのジョブスケジュールを変更 
WebAPI 
外部ツールからJobSchedulerに対する操作が可能 
※例:Zabbixの監視結果で障害が発生したらとあるジョブCを実行
JobScheduler単体だとできないこと 
● ジョブの失敗時の通知は単純なメール送信のみ 
● ジョブの実行結果はテキストとして保存されているのみ 
(表示はテキストベースの一覧表示) 
● ジョブ管理に特化したツールであるため監視機能はない
HyClops JobMonitoring OSS公開 
高機能な監視を実現するZabbix 
高機能なジョブ管理を実現するJobScheduler
HyClops JobMonitoring 
概要 
● ジョブ実行状況をZabbixにて監視するツール 
● ZabbixやJobScheduler自体の改変はせずそのまま利用可能 
● Zabbixの監視機能、JobSchedulerのジョブ実行機能を活用 
● JobScheduler利用時に不足する監視機能をZabbixで補う 
● 2014年12月10日 OSSとして公開 
公式サイトURL: http://tech-sketch.github.io/hyclops_jm 
GitHubリポジトリ: https://github.com/tech-sketch/hyclops_jm
HyClops JobMonitoring 
3つのメリット 
その1. ジョブの失敗や遅延情報をZabbixでキャッチアップ 
TimeLimit! 
Zabbix 
通知をZabbixのアクション設定に基づいて実行できるため、より柔軟な対応が可能に
HyClops JobMonitoring 
3つのメリット 
その2. ジョブ実行時の状態の推移をZabbixで管理 
1ヶ月前 
Finish! 
1時間 
現在 
ZabbixのDBにて推移状況を管理できるのでジョブ実行の分析が可能に 
各ジョブの実行時のサーバリソースの状況と紐付けての管理も可能に 
Finish! 
3時間
HyClops JobMonitoring 
3つのメリット 
その3. ジョブ実行時の高負荷に備えた監視設定変更 
平常時のCPU負荷Job実行時のCPU負荷 
閾値閾値 
Jobの実行によりあらかじめ想定される負荷への対応が可能
HyClopsJMの機能詳細 
ジョブ失敗状況の検知 
Zabbix HyClops JM JobScheduler Engine 
実行 
Error終了 
メールを 
フック 
Zabbix連携処理mail送信 
より柔軟な通知 
※JobScheduler Agent毎に管理 
Zabbix Sender 
Zabbixアクション設定 
Zabbixトリガー設定 
Job稼働ステータス 
Jo監b視稼ア働イステテムータス 
監視アイテム
HyClopsJMの機能詳細 
ジョブ失敗通知設定例 
時間軸 
JobChain1 
失敗 
JobChain1 
失敗 
JobChain1 
失敗 
JobChain1 
失敗 
Skip! Skip!
Job定義 
HyClopsJMの機能詳細 
ジョブ稼働時間の監視 
Zabbix 
ホスト 
server-01 
server-02 
アイテム 
JobA稼働時間 
Job1稼働時間 
Job3稼働時間 
JobScheduler Engine 
server-01 
JobScheduler Agent 
server-02 
JobScheduler Agent 
HyClops JM 
定義情報をもとに 
設定自動連携 
実行ログを解析し 
稼働時間自動登録 
自動登録 
Job2稼働時間 
Job4稼働時間 
JobA 
JobChain1 
Job1 
Job2 
JobChain2 
Job3 
Job4 
ローレベルディスカバリ 
Zabbix Sender
HyClopsJMの機能詳細 
稼働時間推移グラフ例
HyClopsJMの機能詳細 
トリガー閾値の自動変更 
Zabbix 
閾値変更Job 
メインJob 
復帰Job 
Jobテンプレート 
閾値変更Job 
テンプレート 
復帰Job 
テンプレート 
既存トリガー 
無効化 
Job実行中のみ 
有効なトリガー 
新規作成 
例: CPU使用率>70%なら障害 
例: CPU使用率>90%なら障害 
Zabbix API
HyClopsJMの機能詳細 
トリガー閾値の自動変更 
Zabbix 
閾値変更Job 
メインJob 
復帰Job 
Jobテンプレート 
閾値変更Job 
テンプレート 
復帰Job 
テンプレート 
既存トリガー 
有効化 
Job実行中のみ 
有効なトリガー 
削除 
例: CPU使用率>70%なら障害 
例: CPU使用率>90%なら障害 
Zabbix API
HyClopsJMの機能詳細 
閾値変更例 
CPUのロードアベレージのトリガー閾値を変更したい場合 
閾値変更Job 
(HyClops_JM_Trigger_switch 
) 
復帰Job 
(HyClops_JM_Trigger_ret) 
パラメータに以下を指定 
trigger_name 
Processor load is too high on {HOST.NAME} 
trigger_cond 
{localhost:system.cpu.load[percpu,avg1].avg(5m)}>10 
パラメータの指定なし 
閾値変更Jobで変更されたものを全て元に戻す
HyClopsJMのデモ 
1. ジョブ追加に伴い自動的にZabbixに監視アイテム登録 
2. トリガー変更ジョブ組み込みによる動的な閾値変更 
デモ環境構成 
AWS EC2インスタンスにZabbix ServerとJobScheduler Engineを導入 
EC2 
Zabbix Server 
Job 
Chain 
Job 
Chain 
アイテム自動登録 
Job Job 
JobScheduler Engine 
追加
HyClopsJMのデモ 
1. ジョブ追加に伴い自動的にZabbixに監視アイテム登録 
2. トリガー変更ジョブ組み込みによる動的な閾値変更 
デモ環境構成 
AWS EC2インスタンスにZabbix ServerとJobScheduler Engineを導入 
EC2 
Zabbix Server 
トリガー変更 
Job 
Chain 
トリガー変更ジョブ組み込みJobChain Run! 
Job 
Chain 
Job Job 
JobScheduler Engine
HyClops JMのセットアップ方法 
1. 稼働に必要なものをインストール 
・Zabbix、JobScheduler、PostgreSQL、Fabric、Python 
・自動インストールするためのChefRepoも公開 
https://github.com/tech-sketch/hyclops_jm-chef-repo 
$ git clone https://github.com/tech-sketch/hyclops_jm-chef-repo.git 
$ cd hyclops_jm-chef-repo 
$ vi config/config.json 
{ 
"postgresql": { 
"version": "9.3" 
}, 
"zabbix": { 
"version": "2.2" 
}, 
"jobscheduler": { 
"version": { 
"major": "1.7" 
} 
} 
} 
$ ./install_middleware.sh
HyClops JMのセットアップ方法 
2. HyClops JobMonitoringを入手 
https://github.com/tech-sketch/hyclops_jm 
$ curl -O https://github.com/tech-sketch/hyclops_jm/archive/[version no.].tar.gz 
$ tar zxvf hyclops_jm-[version no.].tar.gz
HyClops JMのセットアップ方法 
3. 設定ファイルを編集 
hyclops_jm.conf 
# HyClops JobMonitoring user 
jm_user = hyclops_jm # HyClops JobMonitoring用OSユーザ 
jm_passwd = hyclops_jm # 上記ユーザのパスワード 
# JobScheduler configuration 
js_id = scheduler # JobSchedulerのscheduler id 
js_user = scheduler # JobSchedulerのインストールユーザ 
js_passwd = scheduler # 上記ユーザのパスワード 
js_host = 127.0.0.1 # JobSchedulerの実行ホストのIP 
js_port = 4444 # JobSchedulerの待ち受けポート 
# Zabbix configuration 
zbx_host = 127.0.0.1 # Zabbixの実行ホストのIP 
zbx_login_user = Admin # Zabbix Web UIにログイン可能な管理者ユーザ 
zbx_login_passwd = zabbix # 上記管理者ユーザのパスワード 
zbx_external_scripts_dir = /usr/lib/zabbix/externalscripts # Zabbixの外部チェック用スクリプトの格納ディレ 
クトリ 
# Database super user 
db_user = postgres # PostgreSQLのスーパーユーザ 
db_passwd = # 上記ユーザのパスワード 
db_host = 127.0.0.1 # PostgreSQL実行ホストのIP 
db_port = 5432 # PostgreSQLの待ち受けポート 
pgsql_version = 9.3 # PostgreSQLのバージョン
HyClops JMのセットアップ方法 
4. HyClops JobMonitoringインストール 
$ sudo fab -c hyclops_jm.conf install 
セットアップはこれで完了 
あとは自動的にジョブの情報がZabbixに連携
Zabbix JobScheduler 
Database for 
HyClops JM 
Fig.1 Architecture 
Fabric 
script 
script 
script 
script 
・・・API 
API 
Get job elapse 
job 
Job item and host 
sync job 
Collaborate with API 
Trigger with job error 
script mail alias 
Zabbix Host 
Template App 
JobScheduler 
Template App 
HyClops JM 
Scheduled job execute 
fabric script 
Trigger modify 
job template 
Auto registration 
Config Database
まとめ 
● ZabbixやJobSchedulerは非常に高機能なOSS 
● HyClops JobMonitoringは 
○ 各ツールの機能を活用しつつ不足する部分を補うことで 
相乗効果を創出 
○ 以下の機能を実現 
■ ジョブ実行時間の監視 
■ ジョブ失敗の検知 
■ ジョブ実行時の負荷状況に応じた動的な監視設定 
● 今後の予定 
○ 追加機能開発を行い更なる有効な連携を実現 
試してみたいという方はご連絡を!! 
展示ブースにてデモもお見せできます!
お問い合わせはこちらまで 
TIS株式会社 
OSSサポートサービス担当窓口 
oss-sales@ml.tis.co.jp 
ご清聴ありがとうございました。

More Related Content

What's hot

クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
Daisuke Ikeda
 

What's hot (20)

オープンに活動することと現場の改善~Zabbix導入による改善物語~
オープンに活動することと現場の改善~Zabbix導入による改善物語~オープンに活動することと現場の改善~Zabbix導入による改善物語~
オープンに活動することと現場の改善~Zabbix導入による改善物語~
 
2.0~2.2~2.4~3.0 zabbixの進化を紐解く zabbix便利機能紹介-
2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-2.0~2.2~2.4~3.0  zabbixの進化を紐解く  zabbix便利機能紹介-
2.0~2.2~2.4~3.0 zabbixの進化を紐解く zabbix便利機能紹介-
 
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
Osc2013 kansai@kyoto ZABBIX-JP クラウド環境監視効率化
 
Tech circle#13 zabbix3.0ハンズオン lld
Tech circle#13 zabbix3.0ハンズオン lldTech circle#13 zabbix3.0ハンズオン lld
Tech circle#13 zabbix3.0ハンズオン lld
 
5分でインストール!awsでzabbix3.0
5分でインストール!awsでzabbix3.05分でインストール!awsでzabbix3.0
5分でインストール!awsでzabbix3.0
 
第6回zabbix jp勉強会資料
第6回zabbix jp勉強会資料第6回zabbix jp勉強会資料
第6回zabbix jp勉強会資料
 
第5回oss運用管理勉強会 zabbix徹底活用術の紹介
第5回oss運用管理勉強会 zabbix徹底活用術の紹介第5回oss運用管理勉強会 zabbix徹底活用術の紹介
第5回oss運用管理勉強会 zabbix徹底活用術の紹介
 
Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
 
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
インフラ運用管理ツールとGolang OSS運用管理勉強会LTインフラ運用管理ツールとGolang OSS運用管理勉強会LT
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
 
Zabbix-jp study #4 20111020 session2
Zabbix-jp study #4 20111020 session2Zabbix-jp study #4 20111020 session2
Zabbix-jp study #4 20111020 session2
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
 
Zabbix勉強会
Zabbix勉強会Zabbix勉強会
Zabbix勉強会
 
ニフティクラウドにZabbixをインストールしてみた
ニフティクラウドにZabbixをインストールしてみたニフティクラウドにZabbixをインストールしてみた
ニフティクラウドにZabbixをインストールしてみた
 
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
 
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
 
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
 
CentOS6 でも Zabbix 3.0 を動かしたい
CentOS6 でも Zabbix 3.0 を動かしたいCentOS6 でも Zabbix 3.0 を動かしたい
CentOS6 でも Zabbix 3.0 を動かしたい
 
Zabbix超入門
Zabbix超入門Zabbix超入門
Zabbix超入門
 
zabbixを使ったクラウド環境の監視とツール連携
zabbixを使ったクラウド環境の監視とツール連携zabbixを使ったクラウド環境の監視とツール連携
zabbixを使ったクラウド環境の監視とツール連携
 
OSS運用管理勉強会 cockpit
OSS運用管理勉強会 cockpitOSS運用管理勉強会 cockpit
OSS運用管理勉強会 cockpit
 

Viewers also liked

Viewers also liked (9)

OSC2015kyoto
OSC2015kyotoOSC2015kyoto
OSC2015kyoto
 
Jbossとtomcatの性能を比べてみた
Jbossとtomcatの性能を比べてみたJbossとtomcatの性能を比べてみた
Jbossとtomcatの性能を比べてみた
 
Zabbixとjob scheduler連携による運用システムoss化の実現
Zabbixとjob scheduler連携による運用システムoss化の実現Zabbixとjob scheduler連携による運用システムoss化の実現
Zabbixとjob scheduler連携による運用システムoss化の実現
 
Zabbix conference2015 daisukeikeda
Zabbix conference2015 daisukeikedaZabbix conference2015 daisukeikeda
Zabbix conference2015 daisukeikeda
 
AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?
AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?
AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?
 
Serverspecの活用tips紹介
Serverspecの活用tips紹介Serverspecの活用tips紹介
Serverspecの活用tips紹介
 
クラウド時代を生きぬくためのITエンジニアとシステムインテグレータのOSS活用!
クラウド時代を生きぬくためのITエンジニアとシステムインテグレータのOSS活用!クラウド時代を生きぬくためのITエンジニアとシステムインテグレータのOSS活用!
クラウド時代を生きぬくためのITエンジニアとシステムインテグレータのOSS活用!
 
Tech circle bot x zabbix オペレータbot lt
Tech circle bot x zabbix オペレータbot ltTech circle bot x zabbix オペレータbot lt
Tech circle bot x zabbix オペレータbot lt
 
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
 

Similar to OSC2014.Enterprise Zabbix-JobScheduler連携ツールHyClopsJobMonitoringによる運用システムOSS化の実現

Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
ShuheiUda
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01
Yusuke Ando
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
Ayumi Goto
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
 
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーEc cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナー
Ayumu Kawaguchi
 
Ibm worklight デモ環境とサンプルコード
Ibm worklight デモ環境とサンプルコードIbm worklight デモ環境とサンプルコード
Ibm worklight デモ環境とサンプルコード
K Kimura
 

Similar to OSC2014.Enterprise Zabbix-JobScheduler連携ツールHyClopsJobMonitoringによる運用システムOSS化の実現 (20)

PowerShellを使用したWindows Serverの管理
PowerShellを使用したWindows Serverの管理PowerShellを使用したWindows Serverの管理
PowerShellを使用したWindows Serverの管理
 
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
Azure サポート エンジニア直伝 ~ PowerShell 実践活用術 ~
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01
 
実動するIot&hadoopから学ぶ会_資料
実動するIot&hadoopから学ぶ会_資料実動するIot&hadoopから学ぶ会_資料
実動するIot&hadoopから学ぶ会_資料
 
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
 
Hybrid serverless architecture using open whisk ibm cloud functions and istio...
Hybrid serverless architecture using open whisk ibm cloud functions and istio...Hybrid serverless architecture using open whisk ibm cloud functions and istio...
Hybrid serverless architecture using open whisk ibm cloud functions and istio...
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
 
HBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejpHBaseとSparkでセンサーデータを有効活用 #hbasejp
HBaseとSparkでセンサーデータを有効活用 #hbasejp
 
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーEc cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナー
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識
 
MySQL Technology Cafe #12 MDS HA検証 ~パラメータからパフォーマンスまで~
MySQL Technology Cafe #12 MDS HA検証 ~パラメータからパフォーマンスまで~MySQL Technology Cafe #12 MDS HA検証 ~パラメータからパフォーマンスまで~
MySQL Technology Cafe #12 MDS HA検証 ~パラメータからパフォーマンスまで~
 
JAWSUG初心者向けトラック 【Deploy&Ops】
JAWSUG初心者向けトラック 【Deploy&Ops】JAWSUG初心者向けトラック 【Deploy&Ops】
JAWSUG初心者向けトラック 【Deploy&Ops】
 
Salesforce DUG Japan Meetup#9(REST API, Metadata API etc)
Salesforce DUG Japan Meetup#9(REST API, Metadata API etc)Salesforce DUG Japan Meetup#9(REST API, Metadata API etc)
Salesforce DUG Japan Meetup#9(REST API, Metadata API etc)
 
12 cyberagent
12 cyberagent12 cyberagent
12 cyberagent
 
Ibm worklight デモ環境とサンプルコード
Ibm worklight デモ環境とサンプルコードIbm worklight デモ環境とサンプルコード
Ibm worklight デモ環境とサンプルコード
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
Azure 高速サイトソリューション
Azure 高速サイトソリューションAzure 高速サイトソリューション
Azure 高速サイトソリューション
 
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
 
20150207コデアルエンジニア学生向けハッカソン就活イベント発表資料
20150207コデアルエンジニア学生向けハッカソン就活イベント発表資料20150207コデアルエンジニア学生向けハッカソン就活イベント発表資料
20150207コデアルエンジニア学生向けハッカソン就活イベント発表資料
 

More from Daisuke Ikeda

CloudModule for Zabbix
CloudModule for ZabbixCloudModule for Zabbix
CloudModule for Zabbix
Daisuke Ikeda
 

More from Daisuke Ikeda (12)

AIOpsで実現する効率化 OSC 2022 Online Spring TIS
AIOpsで実現する効率化 OSC 2022 Online Spring TISAIOpsで実現する効率化 OSC 2022 Online Spring TIS
AIOpsで実現する効率化 OSC 2022 Online Spring TIS
 
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
 
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
 
OSC2019 LT 運用レコメンドプラットフォーム開発におけるマイクロサービス構成の実現
OSC2019 LT 運用レコメンドプラットフォーム開発におけるマイクロサービス構成の実現OSC2019 LT 運用レコメンドプラットフォーム開発におけるマイクロサービス構成の実現
OSC2019 LT 運用レコメンドプラットフォーム開発におけるマイクロサービス構成の実現
 
2019/4/18 Zabbix勉強会 徹底活用本の改訂の話
2019/4/18 Zabbix勉強会 徹底活用本の改訂の話2019/4/18 Zabbix勉強会 徹底活用本の改訂の話
2019/4/18 Zabbix勉強会 徹底活用本の改訂の話
 
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
 
Jtf2018 自律的運用に向けた第一歩
Jtf2018 自律的運用に向けた第一歩Jtf2018 自律的運用に向けた第一歩
Jtf2018 自律的運用に向けた第一歩
 
保守運用現場の課題共有しませんか?-OSC2018LT-
保守運用現場の課題共有しませんか?-OSC2018LT-保守運用現場の課題共有しませんか?-OSC2018LT-
保守運用現場の課題共有しませんか?-OSC2018LT-
 
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
 
Tech circle#2 Vagrant+Docker handson
Tech circle#2 Vagrant+Docker handsonTech circle#2 Vagrant+Docker handson
Tech circle#2 Vagrant+Docker handson
 
TISMatsuriLT MackerelとZabbix
TISMatsuriLT MackerelとZabbixTISMatsuriLT MackerelとZabbix
TISMatsuriLT MackerelとZabbix
 
CloudModule for Zabbix
CloudModule for ZabbixCloudModule for Zabbix
CloudModule for Zabbix
 

Recently uploaded

Recently uploaded (10)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

OSC2014.Enterprise Zabbix-JobScheduler連携ツールHyClopsJobMonitoringによる運用システムOSS化の実現

  • 1. Zabbix-JobScheduler連携ツール HyClops JobMonitoringによる 運用システムOSS化の実現 TIS 株式会社 戦略技術センター 池田 大輔 2014/12/12 OSC2014.Enterprise@Tokyo
  • 2. 自己紹介 池田 大輔 TIS株式会社 戦略技術センター @ike_dai https://www.facebook.com/ikedai Zabbix,AWS,fluentd,Chef,JobScheduler... 名前 所属 Twitter Facebook 興味 ThinkIT連載「自動化時代のインフラ環境稼働テスト「Serverspec」入門」 (http://thinkit.co.jp/book/2014/08/01/5149) 技術評論社HP : http://gihyo.jp/book/2014/978-4-7741-6288-1 Amazon : http://www.amazon.co.jp/dp/4774162884
  • 4. TISエンタープライズOSSサポートサービス 対象OSS アプリケーション 稼働基盤 運用基盤 インフラ基盤 ※今後サポート対象予定
  • 5. TISエンタープライズOSSサポートサービス 対象OSS アプリケーション 稼働基盤 運用基盤 インフラ基盤 ※今後サポート対象予定 ※TISはZabbix社の認定パートナーです。
  • 6. 運用を取り巻く状況の変化 システムの仮想化・クラウド化が加速 管理対象機器の大規模化管理対象機器の動的な変化 手動運用でカバーできるシステムが減少 “運用自動化”が益々求められる状況で より安定したシステムを低価格で迅速に提供
  • 7. OSSを運用環境に取り入れる 多くのOSSは用途に特化した形で提供 監視ジョブ管理 ログ管理 Zabbix Nagios ・・・ インシデント 管理 JobScheduler ・・・ rsyslog Fluentd サーバ・・・ 構成管理 Chef Ansible ・・・ Redmine OTRS ・・・
  • 8. OSSを運用環境に取り入れる APIをベースに各ツール連携することがポイント 監視ジョブ管理 ログ管理 Zabbix Nagios ・・・ インシデント 管理 JobScheduler ・・・ rsyslog Fluentd サーバ・・・ 構成管理 Chef Ansible ・・・ Redmine OTRS ・・・ API
  • 10. OSS統合監視ソフトウェアZabbix OSS統合監視ツール (GPL ver.2) ラトビアのZabbixSIA社が開発 2014/12/12時点の最新安定版2.4.2 (2014/11/5リリース) 監視対象機器 - Linux - Windows - NW機器 等 監視方法 - Zabbix Agent監視 - SNMP監視 - IPMI監視 - エージェントレス監視 等 監視内容 - リソース監視 - 死活監視 - ICMPPing - プロセス - Web監視 - ログ監視 - HW監視 - SQL監視 等
  • 11. Zabbixは監視手法が豊富 snmp server snmp server 任意の情報をpush型でZabbixに登録 SNMP Trap SNMP ssh server ssh server Zabbix Agent 仮想化HV Cloud ODBC DB JMX Java アプリ 仮想環境API クラウドAPI Zabbix Sender Zabbix Server SSH接続による 内部コマンド実行監視 ZabbixAgent による内部監視 (リソースやログ等) ODBCによるDB監視 Zabbix Java GatewayによるJava監視 外部チェックスクリプト監視機能によるAPI監視
  • 12. Zabbixは自動化機能が充実 監視設定パターン化監視設定自動化運用自動化 テンプレート機能ZabbixAgent自動登録機能 ローレベルディスカバリ機能 アクション機能 監視設定をサーバの用途毎、 種別毎等まとめる機能 Agent起動時に自身の情報を Zabbix Serverに自動連携 監視対象サーバ内の情報を収集し、 その内容に合わせて自動設定 条件を設定してあらかじめ登録し た運用作業処理実行コマンドを 自動実行 Zabbix API機能 プログラムからZabbixの設定や 監視結果情報取得を実現
  • 13. 参考情報: ローレベルディスカバリ Zabbix Server ディスカバリルール / /data 定期的に探索 アイテムプロトタイプ アイテム vfs.fs.size[{#FSNAME},free] { "data":[    {    "{#FSNAME}":"/",   "{#FSTYPE}":"ext3"},   {   "{#FSNAME}":"/data",   "{#FSTYPE}":"ext3"},   ・・・省略 } アイテム vfs.fs.size[/,free] vfs.fs.size[/data,free] 活用例: JobSchedulerに登録されているJob一覧情報に基づいてアイテム自動登録とか
  • 14. 参考情報: ZabbixAPI ■ できること  - Zabbixに対する操作(設定変更、ホスト追加、グループ作成等)実施  - Zabbixで管理している監視結果の取得(history,event,IT service情報) ■ APIの形式: JSON-RPC  - URL: http://<zabbix-server>/zabbix/api_jsonrpc.php  - メソッド: host.create、host.update、item.get、history.getなど  - パラメータ: メソッド毎に必要なパラメータを渡す host.getの例 レスポンス { "auth": "xxxxxxx", "method": "host.get", "params": { "output": "extend", "filter": {"host":"Zabbix server"} }, "jsonrpc": "2.0", "id": 1 } { "jsonrpc":"2.0", "result":[{ "maintenances":[], "hostid":"10084", "host":"Zabbix server", ・・・略 }], "id":1 } リクエストパラメータ
  • 15. OSSジョブ管理ソフトウェアJobScheduler OSSジョブ管理ツール (GPL ver.2) ドイツ ベルリンのSOS社が開発 2014/12/12時点の最新安定版1.7.4321 (2014/11/17リリース) 対応プラットフォーム - Linux - Windows - Solaris - AIX - HP-UX ジョブ実行方法 - JS単体でのジョブ実行 - JS Agentによる リモートサーバへのジョブ実行 - SSH接続による リモートサーバへのジョブ実行 対応可能処理 - フロー(JobChain)実行 - スケジュール実行 - 多重実行・排他制御 - 先行・後続制御 - 優先度設定 - ジョブ実行監視 - メール通知 等 ※ JS = JobScheduler ※ JS Agent = JobScheduler Agent
  • 16. JobSchedulerの基本構成 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
  • 17. JobSchedulerのJobの考え方 Standalone Job Job Chain Order Job Order Job Schedule • Standalone Job – 単体で稼動するジョブを定義 • Job Chain – 複数ジョブを順序関係を考慮して 組み合わせるジョブ(order job)を定義 • Schedule – ジョブの稼動予定を定義 • ジョブ定義は様々な記述が可能 – ShellScript, Windows bat,Java, JavaScript,VBScript, javax.script, Perl JobSchedulerの特徴 ● ジョブ関連の全ての定義がXMLファイルで管理 ● 様々な操作を簡単に行えるようにする機能が提供されている ○ ファイル操作、ファイル転送、DB制御、SQL操作、レポーティング機能 などなど
  • 18. JobSchedulerのJob定義の例 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> 任意の実行処理が記述可能 実行タイミングを指定可能
  • 19. JobSchedulerのJobChain定義の例 JobChainの書き方 Before_Job Main_Job After_Job Start <?xml version="1.0" encoding="ISO-8859-1"?> Success Error <job_chain orders_recoverable="yes" title="test_jobchain" visible="yes"> <job_chain_node state=”Before_Job” job=”/path/to/before_job” error_state="Error" next_state=”Main_Job”/> <job_chain_node state=”Main_Job” job=”/path/to/main_job” error_state="Error" next_state="After_Job"/> <job_chain_node state=”After_Job” job=”/path/to/after_job” error_state="Error" next_state="Success"/> <job_chain_node state="Success"/> <job_chain_node state="Error"/> </job_chain>
  • 20. JobSchedulerのSchedule定義の例 Scheduleの書き方 <?xml version="1.0" encoding="ISO-8859-1"?> <schedule title="demo schedule" valid_to="2014-12-31 23:59:59"> <period single_start="10:30"/> <weekdays > <day day="6"> <period single_start="04:00"/> </day> </weekdays> </schedule> 毎日10:30 毎週土曜 4:00
  • 21. 参考情報: JobScheduler API 内部API ジョブの中でJobSchedulerに対する操作が可能 ※例:ジョブAの実行に失敗したらジョブBのジョブスケジュールを変更 WebAPI 外部ツールからJobSchedulerに対する操作が可能 ※例:Zabbixの監視結果で障害が発生したらとあるジョブCを実行
  • 22. JobScheduler単体だとできないこと ● ジョブの失敗時の通知は単純なメール送信のみ ● ジョブの実行結果はテキストとして保存されているのみ (表示はテキストベースの一覧表示) ● ジョブ管理に特化したツールであるため監視機能はない
  • 23. HyClops JobMonitoring OSS公開 高機能な監視を実現するZabbix 高機能なジョブ管理を実現するJobScheduler
  • 24. HyClops JobMonitoring 概要 ● ジョブ実行状況をZabbixにて監視するツール ● ZabbixやJobScheduler自体の改変はせずそのまま利用可能 ● Zabbixの監視機能、JobSchedulerのジョブ実行機能を活用 ● JobScheduler利用時に不足する監視機能をZabbixで補う ● 2014年12月10日 OSSとして公開 公式サイトURL: http://tech-sketch.github.io/hyclops_jm GitHubリポジトリ: https://github.com/tech-sketch/hyclops_jm
  • 25. HyClops JobMonitoring 3つのメリット その1. ジョブの失敗や遅延情報をZabbixでキャッチアップ TimeLimit! Zabbix 通知をZabbixのアクション設定に基づいて実行できるため、より柔軟な対応が可能に
  • 26. HyClops JobMonitoring 3つのメリット その2. ジョブ実行時の状態の推移をZabbixで管理 1ヶ月前 Finish! 1時間 現在 ZabbixのDBにて推移状況を管理できるのでジョブ実行の分析が可能に 各ジョブの実行時のサーバリソースの状況と紐付けての管理も可能に Finish! 3時間
  • 27. HyClops JobMonitoring 3つのメリット その3. ジョブ実行時の高負荷に備えた監視設定変更 平常時のCPU負荷Job実行時のCPU負荷 閾値閾値 Jobの実行によりあらかじめ想定される負荷への対応が可能
  • 28. HyClopsJMの機能詳細 ジョブ失敗状況の検知 Zabbix HyClops JM JobScheduler Engine 実行 Error終了 メールを フック Zabbix連携処理mail送信 より柔軟な通知 ※JobScheduler Agent毎に管理 Zabbix Sender Zabbixアクション設定 Zabbixトリガー設定 Job稼働ステータス Jo監b視稼ア働イステテムータス 監視アイテム
  • 29. HyClopsJMの機能詳細 ジョブ失敗通知設定例 時間軸 JobChain1 失敗 JobChain1 失敗 JobChain1 失敗 JobChain1 失敗 Skip! Skip!
  • 30. Job定義 HyClopsJMの機能詳細 ジョブ稼働時間の監視 Zabbix ホスト server-01 server-02 アイテム JobA稼働時間 Job1稼働時間 Job3稼働時間 JobScheduler Engine server-01 JobScheduler Agent server-02 JobScheduler Agent HyClops JM 定義情報をもとに 設定自動連携 実行ログを解析し 稼働時間自動登録 自動登録 Job2稼働時間 Job4稼働時間 JobA JobChain1 Job1 Job2 JobChain2 Job3 Job4 ローレベルディスカバリ Zabbix Sender
  • 32. HyClopsJMの機能詳細 トリガー閾値の自動変更 Zabbix 閾値変更Job メインJob 復帰Job Jobテンプレート 閾値変更Job テンプレート 復帰Job テンプレート 既存トリガー 無効化 Job実行中のみ 有効なトリガー 新規作成 例: CPU使用率>70%なら障害 例: CPU使用率>90%なら障害 Zabbix API
  • 33. HyClopsJMの機能詳細 トリガー閾値の自動変更 Zabbix 閾値変更Job メインJob 復帰Job Jobテンプレート 閾値変更Job テンプレート 復帰Job テンプレート 既存トリガー 有効化 Job実行中のみ 有効なトリガー 削除 例: CPU使用率>70%なら障害 例: CPU使用率>90%なら障害 Zabbix API
  • 34. HyClopsJMの機能詳細 閾値変更例 CPUのロードアベレージのトリガー閾値を変更したい場合 閾値変更Job (HyClops_JM_Trigger_switch ) 復帰Job (HyClops_JM_Trigger_ret) パラメータに以下を指定 trigger_name Processor load is too high on {HOST.NAME} trigger_cond {localhost:system.cpu.load[percpu,avg1].avg(5m)}>10 パラメータの指定なし 閾値変更Jobで変更されたものを全て元に戻す
  • 35. HyClopsJMのデモ 1. ジョブ追加に伴い自動的にZabbixに監視アイテム登録 2. トリガー変更ジョブ組み込みによる動的な閾値変更 デモ環境構成 AWS EC2インスタンスにZabbix ServerとJobScheduler Engineを導入 EC2 Zabbix Server Job Chain Job Chain アイテム自動登録 Job Job JobScheduler Engine 追加
  • 36. HyClopsJMのデモ 1. ジョブ追加に伴い自動的にZabbixに監視アイテム登録 2. トリガー変更ジョブ組み込みによる動的な閾値変更 デモ環境構成 AWS EC2インスタンスにZabbix ServerとJobScheduler Engineを導入 EC2 Zabbix Server トリガー変更 Job Chain トリガー変更ジョブ組み込みJobChain Run! Job Chain Job Job JobScheduler Engine
  • 37. HyClops JMのセットアップ方法 1. 稼働に必要なものをインストール ・Zabbix、JobScheduler、PostgreSQL、Fabric、Python ・自動インストールするためのChefRepoも公開 https://github.com/tech-sketch/hyclops_jm-chef-repo $ git clone https://github.com/tech-sketch/hyclops_jm-chef-repo.git $ cd hyclops_jm-chef-repo $ vi config/config.json { "postgresql": { "version": "9.3" }, "zabbix": { "version": "2.2" }, "jobscheduler": { "version": { "major": "1.7" } } } $ ./install_middleware.sh
  • 38. HyClops JMのセットアップ方法 2. HyClops JobMonitoringを入手 https://github.com/tech-sketch/hyclops_jm $ curl -O https://github.com/tech-sketch/hyclops_jm/archive/[version no.].tar.gz $ tar zxvf hyclops_jm-[version no.].tar.gz
  • 39. HyClops JMのセットアップ方法 3. 設定ファイルを編集 hyclops_jm.conf # HyClops JobMonitoring user jm_user = hyclops_jm # HyClops JobMonitoring用OSユーザ jm_passwd = hyclops_jm # 上記ユーザのパスワード # JobScheduler configuration js_id = scheduler # JobSchedulerのscheduler id js_user = scheduler # JobSchedulerのインストールユーザ js_passwd = scheduler # 上記ユーザのパスワード js_host = 127.0.0.1 # JobSchedulerの実行ホストのIP js_port = 4444 # JobSchedulerの待ち受けポート # Zabbix configuration zbx_host = 127.0.0.1 # Zabbixの実行ホストのIP zbx_login_user = Admin # Zabbix Web UIにログイン可能な管理者ユーザ zbx_login_passwd = zabbix # 上記管理者ユーザのパスワード zbx_external_scripts_dir = /usr/lib/zabbix/externalscripts # Zabbixの外部チェック用スクリプトの格納ディレ クトリ # Database super user db_user = postgres # PostgreSQLのスーパーユーザ db_passwd = # 上記ユーザのパスワード db_host = 127.0.0.1 # PostgreSQL実行ホストのIP db_port = 5432 # PostgreSQLの待ち受けポート pgsql_version = 9.3 # PostgreSQLのバージョン
  • 40. HyClops JMのセットアップ方法 4. HyClops JobMonitoringインストール $ sudo fab -c hyclops_jm.conf install セットアップはこれで完了 あとは自動的にジョブの情報がZabbixに連携
  • 41. Zabbix JobScheduler Database for HyClops JM Fig.1 Architecture Fabric script script script script ・・・API API Get job elapse job Job item and host sync job Collaborate with API Trigger with job error script mail alias Zabbix Host Template App JobScheduler Template App HyClops JM Scheduled job execute fabric script Trigger modify job template Auto registration Config Database
  • 42. まとめ ● ZabbixやJobSchedulerは非常に高機能なOSS ● HyClops JobMonitoringは ○ 各ツールの機能を活用しつつ不足する部分を補うことで 相乗効果を創出 ○ 以下の機能を実現 ■ ジョブ実行時間の監視 ■ ジョブ失敗の検知 ■ ジョブ実行時の負荷状況に応じた動的な監視設定 ● 今後の予定 ○ 追加機能開発を行い更なる有効な連携を実現 試してみたいという方はご連絡を!! 展示ブースにてデモもお見せできます!
  • 43. お問い合わせはこちらまで TIS株式会社 OSSサポートサービス担当窓口 oss-sales@ml.tis.co.jp ご清聴ありがとうございました。