From 0e3c8a96af7f9ddd6d5a059c92f6303eba1d0b32 Mon Sep 17 00:00:00 2001 From: Ian Whalen Date: Thu, 21 Sep 2017 10:20:20 -0400 Subject: Revert "SERVER-21677 Remove "diaglog" support from the server" This reverts commit d5d61785d59f62e29ba01843f8c15cf08a5ca55a. --- debian/mongod.1 | 86 ++++++++++++++++++++++ debian/mongosniff.1 | 200 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 286 insertions(+) create mode 100644 debian/mongosniff.1 (limited to 'debian') diff --git a/debian/mongod.1 b/debian/mongod.1 index 7982e554870..b775b7004d5 100644 --- a/debian/mongod.1 +++ b/debian/mongod.1 @@ -232,6 +232,92 @@ _ .UNINDENT .INDENT 0.0 .TP +.B \-\-diaglog +\fIDefault\fP: 0 +.sp +Deprecated since version 2.6. + +.sp +\fI\%\-\-diaglog\fP is for internal use and not intended for most users. +.sp +Creates a very verbose \fIdiagnostic log\fP for troubleshooting and +recording various errors. MongoDB writes these log files in the +\fBdbPath\fP directory in a series of files that begin with the +string \fBdiaglog\fP and end with the initiation time of the logging as a +hex string. +.sp +The specified value configures the level of verbosity: +.TS +center; +|l|l|. +_ +T{ +Value +T} T{ +Setting +T} +_ +T{ +0 +T} T{ +Off. No logging. +T} +_ +T{ +1 +T} T{ +Log write operations. +T} +_ +T{ +2 +T} T{ +Log read operations. +T} +_ +T{ +3 +T} T{ +Log both read and write operations. +T} +_ +T{ +7 +T} T{ +Log write and some read operations. +T} +_ +.TE +.sp +You can use the \fBmongosniff\fP tool to replay this output for +investigation. Given a typical diaglog file located at +\fB/data/db/diaglog.4f76a58c\fP, you might use a command in the following +form to read these files: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +mongosniff \-\-source DIAGLOG /data/db/diaglog.4f76a58c +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fBWARNING:\fP +.INDENT 7.0 +.INDENT 3.5 +Setting the diagnostic level to \fB0\fP will cause \fBmongod\fP +to stop writing data to the \fIdiagnostic log\fP file. However, +the \fBmongod\fP instance will continue to keep the file open, +even if it is no longer writing data to the file. If you want to +rename, move, or delete the diagnostic log you must cleanly shut +down the \fBmongod\fP instance before doing so. +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP .B \-\-traceExceptions For internal diagnostic use only. .UNINDENT diff --git a/debian/mongosniff.1 b/debian/mongosniff.1 new file mode 100644 index 00000000000..600a792c3df --- /dev/null +++ b/debian/mongosniff.1 @@ -0,0 +1,200 @@ +.\" Man page generated from reStructuredText. +. +.TH "MONGOSNIFF" "1" "January 30, 2015" "3.0" "mongodb-manual" +.SH NAME +mongosniff \- MongoDB Protocol Introspection Utility +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.sp +\fBmongosniff\fP provides a low\-level operation tracing/sniffing view +into database activity in real time. Think of \fBmongosniff\fP as a +MongoDB\-specific analogue of \fBtcpdump\fP for TCP/IP network +traffic. Typically, \fBmongosniff\fP is most frequently used in driver +development. +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +\fBmongosniff\fP requires \fBlibpcap\fP and is only available for +Unix\-like systems. +.UNINDENT +.UNINDENT +.sp +As an alternative to \fBmongosniff\fP, Wireshark, a popular +network sniffing tool is capable of inspecting and parsing the MongoDB +wire protocol. +.SH OPTIONS +.INDENT 0.0 +.TP +.B mongosniff +.UNINDENT +.INDENT 0.0 +.TP +.B mongosniff +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-help +Returns information on the options and use of \fBmongosniff\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-forward <:port> +Declares a host to forward all parsed requests that the +\fBmongosniff\fP intercepts to another \fBmongod\fP instance +and issue those operations on that database instance. +.sp +Specify the target host name and port in the \fB<:port>\fP format. +.sp +To connect to a replica set, specify the \fBreplica set name\fP and a seed list of set members. Use the +following form: +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +/<:port>,<:port>,<...> +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-source +Specifies source material to inspect. Use \fB\-\-source NET [interface]\fP +to inspect traffic from a network interface (e.g. \fBeth0\fP or \fBlo\fP\&.) +Use \fB\-\-source FILE [filename]\fP to read captured packets in +\fIpcap\fP format. +.sp +You may use the \fB\-\-source DIAGLOG [filename]\fP option to read the +output files produced by the \fI\-\-diaglog\fP +option. +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-objcheck +Displays invalid BSON objects only and nothing else. Use this option for +troubleshooting driver development. This option has some performance +impact on the performance of \fBmongosniff\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B +Specifies alternate ports to sniff for traffic. By default, +\fBmongosniff\fP watches for MongoDB traffic on port \fB27017\fP\&. Append +multiple port numbers to the end of \fBmongosniff\fP to monitor +traffic on multiple ports. +.UNINDENT +.SH USE +.sp +Use the following command to connect to a \fBmongod\fP or +\fBmongos\fP running on port 27017 \fIand\fP 27018 on the localhost +interface: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +mongosniff \-\-source NET lo 27017 27018 +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Use the following command to only log invalid \fIBSON\fP objects for +the \fBmongod\fP or \fBmongos\fP running on the localhost +interface and port 27018, for driver development and troubleshooting: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +mongosniff \-\-objcheck \-\-source NET lo 27018 +.ft P +.fi +.UNINDENT +.UNINDENT +.SH BUILD MONGOSNIFF +.sp +To build \fBmongosniff\fP yourself, Linux users can use the following +procedure: +.INDENT 0.0 +.IP 1. 3 +Obtain prerequisites using your operating +systems package management software. Dependencies include: +.INDENT 3.0 +.IP \(bu 2 +\fBlibpcap\fP \- to capture network packets. +.IP \(bu 2 +\fBgit\fP \- to download the MongoDB source code. +.IP \(bu 2 +\fBscons\fP and a C++ compiler \- to build \fBmongosniff\fP\&. +.UNINDENT +.IP 2. 3 +Download a copy of the MongoDB source code using \fBgit\fP: +.INDENT 3.0 +.INDENT 3.5 +.sp +.nf +.ft C +git clone git://github.com/mongodb/mongo.git +.ft P +.fi +.UNINDENT +.UNINDENT +.IP 3. 3 +Issue the following sequence of commands to change to the +\fBmongo/\fP directory and build \fBmongosniff\fP: +.INDENT 3.0 +.INDENT 3.5 +.sp +.nf +.ft C +cd mongo +scons mongosniff +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.sp +\fBNOTE:\fP +.INDENT 0.0 +.INDENT 3.5 +If you run \fBscons mongosniff\fP before installing \fBlibpcap\fP you +must run \fBscons clean\fP before you can build \fBmongosniff\fP\&. +.UNINDENT +.UNINDENT +.SH AUTHOR +MongoDB Documentation Project +.SH COPYRIGHT +2011-2015 +.\" Generated by docutils manpage writer. +. -- cgit v1.2.1