Apache のモニタリングと言えば mod_status を有効にして /server-status?auto にアクセスする方法が一般的にだと思います。

これは簡単でよいのですが MaxClients いっぱいまでリクエストが入ってこれ以上リクエストを受け付けられないような状態になると /server-status?auto にアクセスできずにモニタリングそのものができなくなります。(そもそもそういう状況を作ってはならないのですが、まあそれはとりあえず。)

server-status 用にワーカーを1つ予約できれば簡単なのですが、そういう設定は Apache にはないようです。もう少し探していると ScoreBoardFile という設定があることに気づきました。この設定にファイルを指定すれば、他のプロセスから統計情報にアクセスできるようです。

実際に FableTech Server Status for Apache というものがあり、これを使えば統計情報の内容を出力してくれます。ただ、これは C 言語で書かれて出力はもう少し加工したいので Python でアクセスするスクリプトを書いてみました。

https://github.com/jun66j5/apache-scoreboard/raw/master/apache-scoreboard.py

Apache の統計情報には ScoreBoardFile に指定したファイ名を apr_shm_attach() に渡すことで共有メモリにアクセスできます。このあたりは ctypes ライブラリを用いています。

スクリプトを試す前に以下のような設定を行いましょう。

LoadModule status_module modules/mod_status.so
ExtendedStatus On
ScoreBoardFile run/httpd.scoreboard

実際に試してみます。このスクリプトでは /server-status?auto と同じ出力が得られるようにしてあります。

$ sudo python ./apache-scoreboard.py /etc/httpd/run/httpd.scoreboard
Total Accesses: 2147
Total kBytes: 17961
Uptime: 5641
ReqPerSec: 0.380555
BytesPerSec: 3260.07
BytesPerReq: 8566
BusyWorkers: 0
IdleWorkers: 50
Scoreboard: ................................................................_________________________......................................................................................................._________________________.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

比較用に /server-status?auto の出力も上げておきます。

$ curl 'http://127.0.0.1/server-status?auto'
Total Accesses: 2148
Total kBytes: 17970
CPULoad: .0266784
Uptime: 5660
ReqPerSec: .379505
BytesPerSec: 3251.11
BytesPerReq: 8566.7
BusyWorkers: 1
IdleWorkers: 49
Scoreboard: ................................................................__W______________________......................................................................................................._________________________.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

もっと細かい出力や監視サーバにデータを投げたい場合などは show_scoreboard() を変更するとよいです。

Posted in dev.

NTP daemon 脆弱性対策についてご報告します。tracpath は NTP daemon 脆弱性 (VU#852879) の対策を実施済みです。(2014-12-20)

4.2.7 以前のバージョンにバッファオーバーフローを引き起こすおそれがある脆弱性が発見されました。この脆弱性を用いて、第三者がリモートから ntpd プロセスの権限でコードを実行できてしまうおそれがあります。

[US-CERT] VU#852879 http://www.kb.cert.org/vuls/id/852879


 平素より弊社ならびに弊社tracpathをご愛顧賜り、誠にありがとうございます。
誠に勝手ながら、tracpathサポートは下記の期間お休みを頂きます。

2014年12月29日(月)~2015年1月4日(日)

この期間中のお問い合わせフォームおよびE-mailによるお問い合わせは、24時間お受け致しますが、2015年1月5日(月)以降に順次対応させていただきます。
年末年始休業に伴い、ご不便をおかけ致しますが、何卒ご了承のほどよろしくお願い申し上げます。

尚tracpathは年末年始も通常通りお使い頂けます。

お問い合せはこちらからご連絡ください。

おおまえです。Trac 日本語版 (trac-ja) の 0.12.6, 1.0.2 相当のものを作成しましたので以下のリポジトリで公開することにしました。

https://github.com/jun66j5/trac-ja

これまでインタアクトさんが Trac-ja を公開されていたのですが、最近は 0.12.4 1.0 以降そのままでしたので、公開されている最新のもの Trac-0.12.4.ja1, Trac-1.0.ja1をベースに Trac 本体の 0.12.4 以降 0.12.6 まで、1.0 以降 1.0.2 までの修正内容をマージする形で作成しました。

ダウンロードは以下の URL からできます。

インストールは以下のように pip または easy_install を使ってインストールすることができます。

$ pip uninstall Trac  # すでにインストールしている場合
$ pip install https://github.com/jun66j5/trac-ja/archive/trac-0.12.6ja0.1.zip
$ easy_install https://github.com/jun66j5/trac-ja/archive/trac-0.12.6ja0.1.zip

このソースで何か問題を発見した場合は https://github.com/jun66j5/trac-ja/issues/new までお願いします。

おおまえです。先日 2014-10-26 に Trac 0.12.6, 1.0.2, 1.1.2 がリリースされました。ダウンロードは http://trac.edgewall.org/wiki/TracDownloadpypi.python.org/pypi/Trac からできるようになっています。

個々のリリースで 0.12.6 56チケット1.0.2 182チケット1.1.2 42チケットがクローズされました。以前までのリリースに比べて 1.0.2 のチケット数がかなり多いのですが、主に活動するコミッタがどんなに小さいものでもチケット登録する…というが大きい気がします。

それはさておき、リリースノートに記載されている主要な変更に上げられている部分の日本語訳をここに載せます。また、このリリースでバグを見つけたり改善案などがあれば、http://trac.edgewall.org/メーリングリスト などに報告いただけると大変ありがたいです。


Trac 0.12.6 Released

Trac 0.12.6 は、56チケットに対する修正を含んでいます。以下が主要なものです。

  • Subversion での注釈履歴 (svn blame) が以下の場合に失敗:
    URL エンコード文字がある場合 (#10386)、
    Windows でリポジトリパスのドライブレターを小文字にしている場合 (#10514)、
    Subversion 1.7 でパスに ASCII 以外の文字がある場合 (#11167)
  • svn:mergeinfo 属性に対する browser ページ (#8459) と changeset ページ (#11219) での表示パフォーマンスを改善
  • 大量のカスタムフィールドがあるとカスタムクエリが失敗 (#11140)
  • Zip ファイルのタイムスタンプにタイムゾーン情報がなかった (#11162)
  • TracLinks の log リンクがリビジョンの範囲指定によってはエラーや間違う (#11308, #11346)
  • IE 11 でチケットページでの textarea 中のテキストが正常に折り返されない (#11376)
  • チケットの CSV ダウンロードで担当者フィールドにあるメールアドレスがそのままになる (#11594)
  • Distribute 0.6.29 以降でロケールデータが egg ファイルに含まれない (#11640)
  • マイルストーン削除時に添付ファイルが削除されない (#11672)
  • Babel 1.0 以降のサポートを追加 (#11258, #11345)
  • ConfigObj 5.0 以降のサポートを追加 (#11498)

チケットの詳細は以下にあります。


Trac 1.0.2 Released

Trac 1.0.1 を2013年2月にリリースし、その後、200以上の修正と小さな改善を行いました。

このリリースの主要なものです:

  • Subversion でのキーワード展開と改行コードの置換をリポジトリブラウザでのファイルの参照時とダウンロード時に行うようになりました (#717)
  • チケット通知メールを変更前の担当者、Cc にも送信 (#2311)
  • マイルストーンの名前変更、削除、別マイルストーンへの変更時に、チケットの変更履歴を更新 (#4582, #5658)
  • Authz permissions policy に対して多くの修正を行いました:
    リポジトリブラウザ (#10961, #11646)、Wiki ページ (#8976, #11067)、管理ページ (#11069)、レポートページ (#11176)
  • 二重にフォームを submit できないようになりました (#10138)
  • permission_policies のどれかがロードできない場合に ConfigurationError を上げるようになりました。また、その際にシステム内部の情報やインストールのエラーを漏らさないようにしました (#10285)
  • Wiki ツールバーを設定で無効にできるようになりました (#10837)
  • 管理ページの見出し部分にテーブル中のエントリ数を表示 (#11027)
  • すべてのページで「取り消し」ボタンを一貫性があるように配置 (#11076)
  • 変更ページの表示時に、テキスト要素にフォーカスを移すようにしました (#11084)
  • 並べて編集モードの際に、「編集の衝突」と「マージ」の警告メッセージが常に見えるようにしました (#11102)
  • レポートページ (#11106, #11664) とチケットページ (#11471) のレイアウトを改善
  • Genshi 0.7 に対する互換性 (#11218)
  • Git リポジトリのサポートに対する多くの修正

このリリースは 0.12.6 に対する修正を含んでいます。チケットの詳細は以下にあります。


Trac 1.1.2 Released

主要な変更:

  • Python 2.5 サポートを削除しました。Python 2.5 に対して互換性のない変更がなされ Trac は Python 2.5 では動作しないようになりました (#11600)
  • チケットワークフローに may_set_owner アクションが追加されました。set_owner に似ていますが、担当者を現在のユーザではなくデフォルトの担当者にします (#10018)
  • [ticket] optional_fields オプションが追加されました。任意入力にしたいドロップダウン (セレクト型) のフィールドを指定します。(値を空にできるようになります) (#10772)
  • WikiProcessor コードブロックで行番号の表示とハイライトできるようになりました (#10834)
  • 「デフォルトハンドラ」を個人設定で設定できるようになり、全ユーザのデフォルトを管理ページの「基本設定」で設定できるようになりました (#11519)
  • 読み込み専用の Wiki ページには、ファイル添付できないようになりました (#11244)
  • 管理ページのテーブルに「全選択」チェックボックスを追加 (#10994)
  • 項目が選択する必要がある場合には、submit ボタンを無効にするようにしました (#11056)
  • 管理ページの権限にユーザやグループ間で権限をコピーするフォームを追加しました (#11099)
  • [milestone] default_retarget_to オプションが追加になりました。このオプションは、マイルストーンの削除や完了時に変更先のマイルストーンを指定することができます。また、マイルストーン管理ページからでも設定することができます (#10010)
  • マイルストーンにチケットがない場合には、マイルストーンを再割当てするドロップダウンを表示しないようになりました (#11366)
  • 「デフォルトをクリア」ボタンで管理ページからチケットシステムのデフォルト値をクリアできるようになりました (例えば default_milestone, default_version) (#10772, #11300)
  • TitleIndex マクロは Wiki ページで使用された場合に、相対パスのプレフィックスをサポートするようになりました (#11455)
  • CommitTicketUpdater は #comment:N#comment:description もチケットの参照として解釈するようになります (#11622)
  • マイルストーン管理ページにあるチケットカラムにクエリリンクが用意されるようになりました。そのリンクからは、そのマイルストーンを持つチケットをステータスでグループ化してクエリが実行されます (#11661)
  • Authz policy はレポート一覧ページに対してリソースID -1 を使ってアクセス制限を行うようになります (#11697)

ここにあげたものに加えて、1.0.2 と 0.12.6 に対する修正を含んでいます。

詳細なリリースノートは以下にあります。


 こんにちは。SSLv3 POODLE 脆弱性対策についてご報告します。tracpathはPOODLE: SSLv3.0 脆弱性 (CVE-2014-3566)の対策を実施済みです。(2014-10-17)

SSL 3.0 プロトコルには、通信の一部が第三者に解読可能な脆弱性が存在します。サーバ、クライアント間の通信において、SSL 3.0 を使用している場合、通信の一部が第三者に漏えいする可能性があります。
ただし、攻撃には複数の条件が必要で、例えば、中間者攻撃や、攻撃対象に大量の通信を発生させるなど一定の条件が必要になります。そのためただちに悪用可能な脆弱性ではありません。

[IPA] SSL 3.0 の脆弱性対策について(CVE-2014-3566)
https://www.ipa.go.jp/security/announce/20141017-ssl.html

[Redhat] POODLE: SSLv3.0 脆弱性 (CVE-2014-3566)
https://access.redhat.com/ja/articles/1232403

 こんにちは。シェルプログラム bash の脆弱性 (shellshock) についてご報告します。

tracpath において、リモートからこの脆弱性を利用した攻撃の可能性はありません。しかし、非常にリスクが高いものであるため 2014/09/25 と 2014/09/26 とで bash の更新を実施しております。

[JPCERT/CC] GNU bash の脆弱性に関する注意喚起
https://www.jpcert.or.jp/at/2014/at140037.html

[IPA] 更新:bash の脆弱性対策について(CVE-2014-6271 等):IPA 独立行政法人 情報処理推進機構
https://www.ipa.go.jp/security/ciadr/vul/20140926-bash.html

いつも tracpath をご利用頂き誠にありがとうございます。

tracpath が利用しているAWSのセキュリティ対応のため、緊急メンテナンスを実施予定です。
メンテナンス中は tracpath にアクセスすることができません。

  • 【実施予定日】: 2014年9月28日(日) 02:30 – 02:45 (9/27 土 26:00)
  • 【作業時間】: 約15分を予定
  • 【内容】: サーバメンテナンスのためのサービス停止
  • 【サービス】:メンテナンス実施中の約15分間はすべてのサービスにアクセスすることが出来ません。

お客様にはご迷惑をおかけしますが、ご理解とご協力をお願い致します。
メンテナンスに関するご質問は、こちらまでご連絡ください。

最新情報はTwitter(@tracpath)でも更新します。

こんにちは、tracpath の新しい機能を2つご紹介します。
プロジェクトやユーザを識別しやすくするためのシンプルな機能です。

プロジェクトのロゴ・アイコン

 複数プロジェクトを跨いで開発しているとき、プロジェクトのロゴを登録して視認性を向上させるためにロゴ画像を登録することができるようになりました。

プロジェクト毎に好きな画像をアップロードしてください。何も登録しない場合、tracpathが自動描画したプロジェクトアイコンを表示されます。アップロード可能な画像は「Gif/PNG/JPG/JPEG/BMP」に対応しています。(高さは56pxで自動調整されます)

dashboard_project_icon

操作方法

  1. プロジェクトの管理画面を開きます。
  2. 管理コンソール -> 一般設定 -> アイコン
  3. 「参照」を押下して画像ファイルを選択します。(Gif/PNG/JPG/JPEG/BMP 対応)
  4. 「変更を適用」を押下するとファイルをアップロードします。

 アップロードした画像のプレビューと簡単な編集機能は今後のバージョンアップでご提供します。

詳細は解説については、オンラインマニュアル「tracpath:管理者ガイド -> プロジェクトのアイコン」をご覧ください。

ユーザのアバター(プロフィール画像)

 tracpath はプロジェクトの活動状況、コミット、チケット追加、チケット更新、Wikiの更新などすべての生産活動を記録します。これは、tracpath のベースとなっている思想で、「プロジェクトの全ての活動とソースコード(バージョン管理)を追跡可能な状態で記録する」を実現しています。このすべての活動状況は人(ユーザ)毎に記録され、活動状況は更新履歴としてみんなに共有されます。

例えば、プロジェクトのタイムラインでは、

  • 管理者の佐藤さんがWikiページ「プロジェクトの目標」を更新したり
  • 開発者のコジマさんがメインリポジトリに #2213 のバグ対応分をコミットしたり
  • テスターの坂井さんがリリースバージョンの障害報告 #2255 を登録したり

プロジェクト全体の活動状況をタイムラインで俯瞰することが出来ますが、アバターが追加されたことで一目でだれの操作ログなのか、把握することが出来ます。

ユーザのアバター(プロフィール画像) タイムライン

 ユーザ名が表示されるところはどこでも吹き出しで分かりやすくアバターを表示します。レポート、チケット、チケット更新履歴、タイムラインなどで登録したユーザ毎のアバター画像と吹き出し機能が表示されます。

ユーザのアバター(プロフィール画像) チケット履歴

 アバターの画像アップロード機能では、「png,gif,jpeg,jpg,bmp」多くの画像フォーマットに対応しており、アップロードされた画像をtracpathの利用場所によって、200×200, 40×40, 20×20 にリサイズした画像を自動生成します。

画像を登録しない場合でも、ユーザ毎に異なるアバター画像をシステムが自動生成します。
ぜひご活用ください。

詳細は解説については、オンラインマニュアル「tracpath:利用者ガイド -> アバターの設定方法」をご覧ください。

要望やご意見をお待ちしています。

 tracpath はユーザの声によってさらに機能アップしていきます。
あなたの開発現場の要望をお聞かせください。お問い合せや質問はこちらまでお気軽に。お待ちしております。

RWC2014_SPONSORbanner_B

tracpath は RubyWorldConference 2014 @島根 のスポンサーとして協賛

tracpath は 今年もRubyWorldConference 2014 のスポンサーになります。

開催概要

プログラミング言語「Ruby」は、2013年2月にその開発から20年を迎えるとともに、5年ぶりのメジャーバージョンとしてRuby2.0がリリースされ、Rubyは新たな時代へと突入し、様々な場面での利用が拡がっています。

今年で6回目となるRubyWorld Conferenceを通じて、新しい普及の段階に突入しつつあるRubyが、多様な現実世界にどのように適合し、浸透していくのか、そのような普及過程と成長を考える機会を皆様に提供いたします。

開催趣意書

RubyWorld Conference 2014 イベント内容

項目 内容
期間 2014年11月13日(木) ・ 14日(金)
会場 島根県立産業交流会館「くにびきメッセ」3階 国際会議場
主催 RubyWorld Conference開催実行委員会
テーマ Rubyの「エコシステム」 ~Rubyの持続可能な生態系~
基調講演者
  • 基調講演1: まつもとゆきひろ ((一財)Rubyアソシエーション)
  • 基調講演2: Sarah Allen氏 (米大統領イノベーションフェロー)
その他講演者 プログラム検討委員会において講演者を選定
来場者見込み 両日とも400名
入場料 5,000円/名

tracpath

tracpath はtracの開発に携わっているメンバーとともに開発されたエンタープライズ向けのバグ管理・バージョン管理サービスです。開発言語として Python/Ruby をエンタープライズで利用しており、Ruby の発展に寄与したいと考えています。

 

RubyWorld Conference 2014