分12はじめに前回からMongoDBの非機能面に着目していますが,今回はMongoDBの監視について説明します。MongoDBの監視で使うことができる機能やツールを紹介し,その後,これらのツールを用いてどのようにMongoDBを監視するかについて一般的な考え方を紹介します。MongoDBは最新バージョンの2.4を対象としています。Mongoシェルで実行するコマンド監視機能の紹介ロギング最初に監視の基本ともいえる,ロギングについて説明します。」オプションにてログの出力先を指定します。--logpath=/var/log/mongodb.logこのままだと,次回起動時にログはローテーションされてしまいます。ログをローテーションせず追記する場合は「--logappend」オプションを用います。--logappendログのレベルは,「⁠--verbose」オプションを指定することにより,出力をより多くできます。,「⁠-v」「⁠-vv」「⁠-vvv」「⁠-vvvv」「⁠-vvvvv」というオプションもあり,vの数が多いほど詳細に出力されます。逆に「--quiet」オプションを指定すると,最小限の出力になります。←ログ出力を最小限リアルタイム監視コマンド続いて,MongoDBのリアルタイム監視コマンドについて紹介します。次に紹介するコマンドは,mongodが入っているbinディレクトリに入っており,コマンドラインから実行することができます。コレクションの処理時間順に表示(mongotopコマンド)mongotopコマンドはtopコマンドのようなコマンドであり,処理に時間がかかっているコレクションを処理時間順に見ることができます。コマンド実行すると,以下のような出力が1秒ごとにひとかたまりずつ出力されます。(略)上記の出力結果からは,「⁠sample-db.collection01」のコレクションが最も処理時間がかかっており,その中でも書き込みに12ミリ秒費やしていることがわかります。MongoDB全体の状態を表示(mongostatコマンド)mongostatコマンドはvmstatのようなコマンドであり,MongoDBサーバ全体のさまざまな統計情報を定期的に表示することができます。コマンドを実行すると以下のような出力が1秒ごとに一行ずつ出力されていきます。dbの列)が増加していることがわかります。統計情報表示メソッド次に統計情報表示メソッドの説明をします。Mongoシェルでアクセスし,次に紹介するデータベースオブジェクトのメソッドを呼び出すことにより,さまざまな統計情報を表示できます。MongoDB全体の統計情報(serverStatus()メソッド)データベースオブジェクトのserverStatus()メソッドを用いることで,MongoDBのサーバの統計情報を詳細に表示することができます。このコマンドは非常に多くの統計情報を出すことができます。ページフォルト,B-treeのアクセスレート,開いている接続数,挿入や更新,クエリ,削除の合計数などが含まれます。}上記の出力結果から,MongoDBの物理メモリ使用量が725MBであり,仮想メモリ使用量が2568MBであることがわかります。データベースの統計情報(データベースのstats()メソッド)データベースオブジェクトのstats()メソッドを用いることで,データベースの統計情報を表示することができます。(略)}上記の出力結果から,コレクション数が3で,データのサイズが1447258292Byteであることがわかります。コレクションの統計情報(コレクションのstats()メソッド)データベースのstats()コマンドと同様に,コレクションのstats()メソッドを用いることで,そのコレクションの統計情報を表示できます。(略)}実行中のクエリの情報取得(currentOp()メソッド)currentOp()メソッドは,そのデータベースで実行中のオペレーションを表示できます。(略)上記の出力結果では,insertにおいて,書き込みロックが138ミリ秒発生していることがわかります。詳細な使い方この章で紹介したコマンドやメソッドの詳細な使い方は,以下の公式HPへのリンクを参照してください。OpenStandia所属。オープンソースのR&Dとセミナー講師を担当。Debian,Ubuntu,Liferayのコミュニティで活動した後,MongoDBの翻訳に関わり,丸の内MongoDB勉強会を始める。実家がお寺で,住職の資格を所持する坊主系エンジニア。OpenStandia所属。オープンソースを使ったSIやサポートの業務に従事。藤崎と共同で丸の内MongoDB勉強会を始める。好きなものはLinuxとRuby。OpenStandia所属。オープンソースを使ったSIや製品開発業務に従事。丸の内MongoDB勉強会では広報兼雑用係を務める。趣味はレザークラフト,ダイビング,スキー,キャンプ,ジェットスキー,カメラ等々。作って滑って撮って潜れるエンジニア。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。