実行されていないジョブを検知する方法

692 views
Skip to first unread message

Noriko Iwai

unread,
Jul 12, 2011, 4:33:34 AM7/12/11
to 日本Jenkinsユーザー会
お世話になります。

Jenkinsの障害やキューの停滞でジョブが実行されないことがあります。
この場合、特にエラーも通知されないため、定期ジョブでは事態に気づくのが遅れがちです。

外部に監視サーバを立て、cronなどから、定期的にチェックすることでジョブが実行されたかどうかを検知したいと思っていますが、どのような方法が一
番適切か、お知恵を貸していただけないでしょうか。
JenkinsはCentOS上で稼働しています。

いくつか方法を考えてみたのですが、他にもっと良い案があれば、よろしくお願いいたします。

1. ジョブ完了時にDBまたはファイルに、一定の情報を書き出すプラグインを作成し、監視サーバのcronから定期的にそれをチェックする。

2. Jenkinsログを監視サーバにも出力し、中身を定期的にチェックする。

3. キューに一定時間ジョブが溜まっていないかを定期的にチェックする。
(詳しいやり方はわかりませんが・・・)

どのやり方もいまいちスマートで無い気もするのですが。。

よろしくお願いいたします。

Itou Akihiro

unread,
Jul 13, 2011, 12:17:28 AM7/13/11
to jenkin...@googlegroups.com
akihiroxです。

リモートAPIを利用はどうでしょうか?

- JobのURL/api/xml?depth=2&xpath=/*/lastCompletedBuild/timestamp

で、最後に完了したjobの投入時刻が取得できます(unix timeですが)。

またキューの溜まり具合でしたら、

- JenkinsのURL/api/xml?depth=2&xpath=/*/overallLoad

以下を調べればいろいろ分かるような気がします。
キューを溜めたこと無いのでこれは違ってるかもしれませんが。

akihirox


2011年7月12日17:33 Noriko Iwai <noriko.h...@gmail.com>:

Noriko Iwai

unread,
Jul 13, 2011, 2:01:21 AM7/13/11
to 日本Jenkinsユーザー会
akihiroxさん

ご返信ありがとうございます。
ご紹介いただいたURLを叩いてみました。
確かに便利です!

これで監視システムに応用する方法を考えてみます。

ありがとうございます。


On 7月13日, 午後1:17, Itou Akihiro <itou.akih...@gmail.com> wrote:
> akihiroxです。
>
> リモートAPIを利用はどうでしょうか?
>
> - JobのURL/api/xml?depth=2&xpath=/*/lastCompletedBuild/timestamp
>
> で、最後に完了したjobの投入時刻が取得できます(unix timeですが)。
>
> またキューの溜まり具合でしたら、
>
> - JenkinsのURL/api/xml?depth=2&xpath=/*/overallLoad
>
> 以下を調べればいろいろ分かるような気がします。
> キューを溜めたこと無いのでこれは違ってるかもしれませんが。
>
> akihirox
>
> 2011年7月12日17:33 Noriko Iwai <noriko.harash...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages