Permalink
Browse files

Updated docs to reflect new additions to Monitor's protocol

  • Loading branch information...
1 parent 865bc87 commit cbbd7a31c84b4a64c858e9c0161e367a53514e4c @josip committed Jul 24, 2012
@@ -40,7 +40,8 @@ \subsection{Perl modules}
cpan[1]> reload cpan
cpan[2]> reload index
cpan[3]> install Redis
-cpan[4]> notest install MongoDB
+cpan[4]> install JSON
+cpan[5]> notest install MongoDB
\end{lstlisting}
Installation procedure is interactive and depending on target system it might take some time. When asked if dependencies should be installed, answer with yes. Tests won't be performed for the MongoDB library because they require an up-and-running installation of MongoDB.
@@ -150,7 +151,6 @@ \subsection{Configuring the Job Manager}
\item \emph{JM\_DONE\_JOB\_DIR} - directory where the results of the done jobs are saved
\item \emph{JM\_REDIS\_SERVER} - machine on which Redis DB is running (e.g. localhost)
\item \emph{JM\_WAITING\_JOBS\_LIST} - Name of the list in the Redis DB containing waiting jobs' IDs (defaults to 'waiting\_jobs')
- \item \emph{JM\_MONGO\_SERVER} - machine on which MongoDB is running (e.g. localhost; optional)
\item \emph{JM\_JOB\_REQUIRE\_FILE} - Name of the file which is required to be present on the Agent machine which receives a job from this Job Manager (optional). For details see \ref{sct:havegetjob}.
\item \emph{JM\_QUEUE\_ONLY\_MODE\_ON} - Set to '1' if you want the Job Manager to only act as a job queue (i.e. ignore messages related to storing job results)
\item \emph{JM\_STORAGE\_ONLY\_MODE\_ON} - Set to '1' if you want the Job Manager to only act as a storage service (i.e. ignore messages related to requesting new jobs)
@@ -249,7 +249,9 @@ \subsection{Configuring Co-Pilot Monitor}
\item \emph{MON\_JABBER\_ID} - Jabber ID of the Job Manager (ID should be registered on your jabber server)
\item \emph{MON\_JABBER\_PASSWORD} - password for authenticating as \texttt{MON\_JABBER\_ID} on \texttt{MON\_JABBER\_SERVER}
\item \emph{CARBON\_SERVER} - address of Carbon database server
- \item \emph{CARBON\_PORT} - port on which Carbon aggregation service is running (e.g. 2023)
+ \item \emph{CARBON\_PORT} - port on which Carbon aggregation service is running (default: 2023)
+ \item \emph{MONGODB\_SERVER} - machine on which MongoDB is running (e.g. localhost)
+ \item \emph{MONGODB\_PORT} - port on which MongoDB is running (default: 27017)
\end{itemize}
\subsection{Starting the Monitor}
@@ -286,7 +288,6 @@ \subsubsection{Configuring ejabberd Module}
{modules, [
..., % <- add a colon
{mod_copilot, [
- {mongodb, {"localhost", 27017}},
{monitor_jid, "monitor@localhost"},
]}
]}.
@@ -8,7 +8,7 @@ \section{Introduction}
base64 \cite{rfc3548} encoded.
Each message body contains the \emph{'info'} tag. \emph{'info'} has the \emph{'command'} attribute, which contains the command needed
-to be performed by the peer (e.g. Agent sends 'jobDone' command when it has finished executing the job and uploading files). The \emph{'info'} tag also contains other attributes necessary to perform the command. Below we present the list of commands which agents send along with the appropriate response commands which they expect in response.
+to be performed by the peer (e.g. Agent sends 'jobDone' command when it has finished executing the job and uploading files). The \emph{'info'} tag also contains other attributes necessary to perform the command. Below we present the list of commands which agents send along with the appropriate response commands which they expect in response.
Every message by default should be acknowledged by the recipient by sending the \emph{ack} message, with empty \emph{'body'} tag. The ID of the message being acknowledged is set as the value of \emph{'ack'} attribute.
Example:
@@ -410,7 +410,29 @@ \subsubsection{\indexed{reportEventValue}}
\item \emph{value} - numerical value representing the event
\end{itemize}
-\newpage
+
+\subsubsection{\indexed{storeEventDetails}}
+\label{sct:storeeventdetails}
+Used for storing data (key-value pairs) related to a specific event (e.g. number of CPUs in use, geographical location, etc.).
+
+\emph{\bf $<$info$>$ tag attributes and their values}
+\begin{itemize}
+ \item \emph{command} - 'reportEventValue'
+ \item \emph{details} - JSON encoded object representing the details of an event
+\end{itemize}
+
+\subsubsection{\indexed{updateEventDetails}}
+\label{sct:updateeventdetails}
+Used for updating data related to an event.
+
+\emph{\bf $<$info$>$ tag attributes and their values}
+\begin{itemize}
+ \item \emph{command} - 'updateEventValue'
+ \item \emph{event} - ID of an event
+ \item \emph{updates} - JSON encoded object representing the updated details
+\end{itemize}
+
+\newpage
\subsection{System introspection}
\begin{figure}
@@ -460,7 +482,7 @@ \subsubsection{\indexed{haveStatus}}
\begin{itemize}
\item \emph{command} - 'haveStatus'
\item \emph{component} - component whose status is being reported
- \item \emph{status} - a string describing the component's status
+ \item \emph{status} - a string describing the component's status
\end{itemize}
@@ -471,7 +493,7 @@ \subsubsection{\indexed{Heartbeat:ping}}
\emph{\bf $<$info$>$ tag attributes and their values}
\begin{itemize}
- \item \emph{command} - 'Heartbeat:ping'
+ \item \emph{command} - 'Heartbeat:ping'
\end{itemize}
\subsubsection{\indexed{pong}}
@@ -541,7 +563,7 @@ \subsection{\indexed{Monitored events}}
\begin{itemize}
\item \emph{copilot.monitor.updates} - number of updates logged per sample
- \item \emph{copilot.jobmanager.(type).(jid).job.succeeded} - job completed successfully
+ \item \emph{copilot.jobmanager.(type).(jid).job.succeeded} - job completed successfully
\item \emph{copilot.jobmanager.(type).(jid).job.failed} - job exited with an error
\item \emph{copilot.jobmanager.(type).(jid).queuedJobs} - size of the job queue
\item \emph{copilot.jobmanager.(type).(jid).error.invalidJobId} - Manager received an request with non-existing job
Binary file not shown.

0 comments on commit cbbd7a3

Please sign in to comment.