mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-22 16:20:52 +01:00
* doc/guide.tex: Improvements in sections: Start, Creating Initial
Account, Module Overview, Managing an ejabberd server, and Debugging SVN Revision: 1028
This commit is contained in:
parent
720b57a235
commit
353a61ce1c
@ -1,3 +1,9 @@
|
|||||||
|
2007-12-06 Badlop <badlop@process-one.net>
|
||||||
|
|
||||||
|
* doc/guide.tex: Improvements in sections: Start, Creating Initial
|
||||||
|
Account, Module Overview, Managing an ejabberd server, and
|
||||||
|
Debugging
|
||||||
|
|
||||||
2007-12-05 Badlop <badlop@process-one.net>
|
2007-12-05 Badlop <badlop@process-one.net>
|
||||||
|
|
||||||
* doc/guide.tex: Added explanations about epmd, cookie and node
|
* doc/guide.tex: Added explanations about epmd, cookie and node
|
||||||
|
329
doc/guide.tex
329
doc/guide.tex
@ -301,7 +301,7 @@ The files and directories created are, by default:
|
|||||||
\titem{msgs} Translated strings (*.msgs)
|
\titem{msgs} Translated strings (*.msgs)
|
||||||
\end{description}
|
\end{description}
|
||||||
\end{description}
|
\end{description}
|
||||||
\titem{/var/log/ejabberd/} Log files:
|
\titem{/var/log/ejabberd/} Log files (see section~\ref{logfiles}:
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\titem{ejabberd.log} Messages reported by ejabberd code
|
\titem{ejabberd.log} Messages reported by ejabberd code
|
||||||
\titem{sasl.log} Messages reported by Erlang/OTP
|
\titem{sasl.log} Messages reported by Erlang/OTP
|
||||||
@ -313,41 +313,21 @@ The files and directories created are, by default:
|
|||||||
\label{start}
|
\label{start}
|
||||||
\ind{install!start}
|
\ind{install!start}
|
||||||
|
|
||||||
You can use the ejabberdctl command line administration script to start and stop ejabberd.
|
You can use the \term{ejabberdctl} command line administration script to start and stop ejabberd.
|
||||||
Please refer to the section~\ref{ejabberdctl} for details about ejabberdctl.
|
You must execute this program with root access. For example:
|
||||||
|
\begin{verbatim}
|
||||||
|
$ sudo ejabberdctl start
|
||||||
|
|
||||||
The command line parameters used by the ejabberdctl administration script
|
$ sudo ejabberdctl status
|
||||||
when starting the Erlang/OTP virtual machine are:
|
Node ejabberd@localhost is started. Status: started
|
||||||
\begin{description}
|
ejabberd is running
|
||||||
\titem{-pa /var/lib/ejabberd/ebin}
|
|
||||||
Specify the directory where Erlang binary files (*.beam) are located.
|
|
||||||
\titem{-sname ejabberd}
|
|
||||||
The Erlang node will be identified using only the first part
|
|
||||||
of the host name, i.\,e. other Erlang nodes outside this domain cannot contact
|
|
||||||
this node. This is the preferable option in most cases.
|
|
||||||
\titem{-name ejabberd}
|
|
||||||
The Erlang node will be fully identified.
|
|
||||||
This is only useful if you plan to setup an ejabberd cluster with nodes in different networks.
|
|
||||||
\titem{-s ejabberd}
|
|
||||||
This paramaters tells the Erlang machine to start the ejabberd application
|
|
||||||
\titem{-mnesia dir "/var/lib/ejabberd/spool"}
|
|
||||||
Specify the Mnesia database directory.
|
|
||||||
\titem{-ejabberd config "/etc/ejabberd/ejabberd.cfg"}
|
|
||||||
Specify the ejabberd configuration file.
|
|
||||||
\titem{-ejabberd log\_path "/var/log/ejabberd/ejabberd.log"}
|
|
||||||
Specify the directory for the ejabberd.log file.
|
|
||||||
\titem{-sasl sasl\_error\_logger \{file, "/var/log/ejabberd/sasl.log"\}}
|
|
||||||
Specify the directory for the sasl.log file.
|
|
||||||
\titem{-env ERL\_MAX\_PORTS=32000}
|
|
||||||
Allow up to 32000 connections. The default limit is just 1024.
|
|
||||||
With this value, \ejabberd{} will use more memory (approximately 6 MB more).
|
|
||||||
\titem{-env ERL\_FULLSWEEP\_AFTER=0}
|
|
||||||
May reduce memory usage, but \ejabberd{} may consume more processor.
|
|
||||||
\end{description}
|
|
||||||
|
|
||||||
Note that some characters need to be escaped when used in shell scripts, for instance \verb|"| and \verb|{}|.
|
$ sudo ejabberdctl stop
|
||||||
|
|
||||||
You can find other options in the Erlang manual page (\shell{erl -man erl}).
|
$
|
||||||
|
\end{verbatim}
|
||||||
|
Please refer to the section~\ref{ejabberdctl} for details about \term{ejabberdctl},
|
||||||
|
and configurable options to fine tune the Erlang runtime system.
|
||||||
|
|
||||||
|
|
||||||
\subsection{Specific Notes for BSD}
|
\subsection{Specific Notes for BSD}
|
||||||
@ -425,36 +405,32 @@ werl -s ejabberd -name ejabberd
|
|||||||
%TODO: how to compile database support on windows?
|
%TODO: how to compile database support on windows?
|
||||||
|
|
||||||
|
|
||||||
\section{Creating an Initial Administrator}
|
\section{Create a Jabber Account for Administration}
|
||||||
\label{initialadmin}
|
\label{initialadmin}
|
||||||
|
|
||||||
Before the web interface can be entered to perform administration tasks, an
|
You need a Jabber account and grant him administrative privileges
|
||||||
account with administrator rights is needed on your \ejabberd{} deployment.
|
to enter the ejabberd web interface:
|
||||||
|
|
||||||
Instructions to create an initial administrator account:
|
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item Register a Jabber account on your \ejabberd{} server. An account can be
|
\item Register a Jabber account on your \ejabberd{} server, for example \term{admin1@example.org}.
|
||||||
created in two ways:
|
There are two ways to register a Jabber account:
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item Using the tool \term{ejabberdctl}\ind{ejabberdctl} (see
|
\item Using \term{ejabberdctl}\ind{ejabberdctl} (see section~\ref{ejabberdctl}):
|
||||||
section~\ref{ejabberdctl}):
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
% ejabberdctl node@host register admin example.org password
|
% ejabberdctl register admin1 example.org FgT5bk3
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\item Using In-Band Registration (see section~\ref{modregister}): you can
|
\item Using a Jabber client and In-Band Registration (see section~\ref{modregister}).
|
||||||
use a \Jabber{} client to register an account.
|
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
\item Edit the configuration file to promote the account created in the previous
|
\item Edit the ejabberd configuration file to give administration rights to the Jabber account you created:
|
||||||
step to an account with administrator rights. Note that if you want to add
|
|
||||||
more administrators, a separate ACL entry is needed for each administrator.
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
{acl, admins, {user, "admin", "example.org"}}.
|
{acl, admins, {user, "admin1", "example.org"}}.
|
||||||
{access, configure, [{allow, admins}]}.
|
{access, configure, [{allow, admins}]}.
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
You can grant administrative privileges to many Jabber accounts,
|
||||||
|
and also to accounts in other Jabber servers.
|
||||||
\item Restart \ejabberd{} to load the new configuration.
|
\item Restart \ejabberd{} to load the new configuration.
|
||||||
\item Open the web interface (\verb|http://server:port/admin/|) in your
|
\item Open the web interface (\verb|http://server:port/admin/|) in your
|
||||||
favourite browser. Make sure to enter the \emph{full} JID as username (in this
|
favourite browser. Make sure to enter the \emph{full} JID as username (in this
|
||||||
example: \jid{admin@example.org}. The reason that you also need to enter the
|
example: \jid{admin1@example.org}. The reason that you also need to enter the
|
||||||
suffix, is because \ejabberd{}'s virtual hosting support.
|
suffix, is because \ejabberd{}'s virtual hosting support.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
@ -1791,37 +1767,7 @@ Examples:
|
|||||||
\label{modoverview}
|
\label{modoverview}
|
||||||
\ind{modules!overview}\ind{XMPP compliancy}
|
\ind{modules!overview}\ind{XMPP compliancy}
|
||||||
|
|
||||||
The following table lists all modules available in the official \ejabberd{}
|
The following table lists all modules included in \ejabberd{}.
|
||||||
distribution. You can find more
|
|
||||||
\footahref{http://www.ejabberd.im/contributions}{contributed modules} on the
|
|
||||||
\ejabberd{} website. Please remember that these contributions might not work or
|
|
||||||
that they can contain severe bugs and security leaks. Therefore, use them at
|
|
||||||
your own risk!
|
|
||||||
|
|
||||||
You can see which database backend each module needs by looking at the suffix:
|
|
||||||
\begin{itemize}
|
|
||||||
\item `\_ldap', this means that the module needs an LDAP server as backend.
|
|
||||||
\item `\_odbc', this means that the module needs a supported database
|
|
||||||
(see~\ref{database}) as backend.
|
|
||||||
\item No suffix, this means that the modules uses Erlang's built-in database
|
|
||||||
Mnesia as backend.
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
If you want to
|
|
||||||
It is possible to use a relational database to store pieces of
|
|
||||||
information. You can do this by changing the module name to a name with an
|
|
||||||
\term{\_odbc} suffix in \ejabberd{} config file. You can use a relational
|
|
||||||
database for the following data:
|
|
||||||
|
|
||||||
\begin{itemize}
|
|
||||||
\item Last connection date and time: Use \term{mod\_last\_odbc} instead of
|
|
||||||
\term{mod\_last}.
|
|
||||||
\item Offline messages: Use \term{mod\_offline\_odbc} instead of
|
|
||||||
\term{mod\_offline}.
|
|
||||||
\item Rosters: Use \term{mod\_roster\_odbc} instead of \term{mod\_roster}.
|
|
||||||
\item Users' VCARD: Use \term{mod\_vcard\_odbc} instead of \term{mod\_vcard}.
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
|
|
||||||
\begin{table}[H]
|
\begin{table}[H]
|
||||||
\centering
|
\centering
|
||||||
@ -1829,8 +1775,7 @@ database for the following data:
|
|||||||
\hline Module & Feature & Dependencies & Needed for XMPP? \\
|
\hline Module & Feature & Dependencies & Needed for XMPP? \\
|
||||||
\hline \hline \modadhoc{} & Ad-Hoc Commands (\xepref{0050}) & & No \\
|
\hline \hline \modadhoc{} & Ad-Hoc Commands (\xepref{0050}) & & No \\
|
||||||
\hline \modannounce{} & Manage announcements & \modadhoc{} & No \\
|
\hline \modannounce{} & Manage announcements & \modadhoc{} & No \\
|
||||||
\hline \modconfigure{} & Support for online & \modadhoc{} & No \\
|
\hline \modconfigure{} & Server configuration using Ad-Hoc & \modadhoc{} & No \\
|
||||||
& configuration of \ejabberd{} & & \\
|
|
||||||
\hline \moddisco{} & Service Discovery (\xepref{0030}) & & No \\
|
\hline \moddisco{} & Service Discovery (\xepref{0030}) & & No \\
|
||||||
\hline \modecho{} & Echoes Jabber packets & & No \\
|
\hline \modecho{} & Echoes Jabber packets & & No \\
|
||||||
\hline \modirc{} & IRC transport & & No \\
|
\hline \modirc{} & IRC transport & & No \\
|
||||||
@ -1867,6 +1812,38 @@ database for the following data:
|
|||||||
XMPP compliancy.
|
XMPP compliancy.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
You can see which database backend each module needs by looking at the suffix:
|
||||||
|
\begin{itemize}
|
||||||
|
\item No suffix, this means that the modules uses Erlang's built-in database
|
||||||
|
Mnesia as backend.
|
||||||
|
\item `\_odbc', this means that the module needs a supported database
|
||||||
|
(see~\ref{database}) as backend.
|
||||||
|
\item `\_ldap', this means that the module needs an LDAP server as backend.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
If you want to,
|
||||||
|
it is possible to use a relational database to store pieces of
|
||||||
|
information. You can do this by changing the module name to a name with an
|
||||||
|
\term{\_odbc} suffix in \ejabberd{} config file. You can use a relational
|
||||||
|
database for the following data:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item Last connection date and time: Use \term{mod\_last\_odbc} instead of
|
||||||
|
\term{mod\_last}.
|
||||||
|
\item Offline messages: Use \term{mod\_offline\_odbc} instead of
|
||||||
|
\term{mod\_offline}.
|
||||||
|
\item Rosters: Use \term{mod\_roster\_odbc} instead of \term{mod\_roster}.
|
||||||
|
\item Users' VCARD: Use \term{mod\_vcard\_odbc} instead of \term{mod\_vcard}.
|
||||||
|
\item Private XML storage: Use \term{mod\_private\_odbc} instead of \term{mod\_private}.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
You can find more
|
||||||
|
\footahref{http://www.ejabberd.im/contributions}{contributed modules} on the
|
||||||
|
\ejabberd{} website. Please remember that these contributions might not work or
|
||||||
|
that they can contain severe bugs and security leaks. Therefore, use them at
|
||||||
|
your own risk!
|
||||||
|
|
||||||
|
|
||||||
\subsection{Common Options}
|
\subsection{Common Options}
|
||||||
\label{modcommonoptions}
|
\label{modcommonoptions}
|
||||||
|
|
||||||
@ -3253,10 +3230,91 @@ Options:
|
|||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
\chapter{Managing an ejabberd server}
|
\chapter{Managing an ejabberd server}
|
||||||
\section{Online Configuration and Monitoring}
|
|
||||||
\label{onlineconfig}
|
|
||||||
|
|
||||||
\subsection{Web Interface}
|
|
||||||
|
\section{\term{ejabberdctl}}
|
||||||
|
\label{ejabberdctl}
|
||||||
|
|
||||||
|
\subsection{Commands}
|
||||||
|
\label{commands}
|
||||||
|
|
||||||
|
The \term{ejabberdctl} command line script allows to start, stop and perform
|
||||||
|
many other administrative tasks in a local or remote ejabberd server.
|
||||||
|
|
||||||
|
When \term{ejabberdctl} is executed without any parameter,
|
||||||
|
it displays the available options. If there isn't an ejabberd server running,
|
||||||
|
the available parameters are:
|
||||||
|
\begin{description}
|
||||||
|
\titem{start} Start ejabberd in background mode. This is the default method.
|
||||||
|
\titem{debug} Attach an Erlang shell to an already existing ejabberd server. This allows to execute commands interactively in the ejabberd server.
|
||||||
|
\titem{live} Start ejabberd in live mode: the shell keeps attached to the started server, showing log messages and allowing to execute interactive commands.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
If there is an ejabberd server running in the system,
|
||||||
|
\term{ejabberdctl} shows all the available commands in that server.
|
||||||
|
The more interesting ones are:
|
||||||
|
\begin{description}
|
||||||
|
\titem{status} Check the status of the ejabberd server.
|
||||||
|
\titem{stop} Stop the ejabberd server which is running in the machine.
|
||||||
|
\titem{reopen-log} If you use a tool to rotate logs, you have to configure it
|
||||||
|
so that this command is executed after each rotation.
|
||||||
|
\titem {backup, restore, install-fallback, dump, load} You can use these
|
||||||
|
commands to create and restore backups.
|
||||||
|
%%More information about backuping can
|
||||||
|
%% be found in section~\ref{backup}.
|
||||||
|
\titem{import-file, import-dir} \ind{migration from other software}
|
||||||
|
These options can be used to migrate from other \Jabber{}/XMPP servers. There
|
||||||
|
exist tutorials to \footahref{http://www.ejabberd.im/migrate-to-ejabberd}{migrate from other software to ejabberd}.
|
||||||
|
\titem{delete-expired-messages} This option can be used to delete old messages
|
||||||
|
in offline storage. This might be useful when the number of offline messages
|
||||||
|
is very high.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
The \term{ejabberdctl} script also allows the argument \term{--node NODENAME}.
|
||||||
|
This allows to administer a remote node.
|
||||||
|
|
||||||
|
The \term{ejabberdctl} administration script can be configured in the file ejabberdctl.cfg.
|
||||||
|
This file provides detailed information about each configurable option.
|
||||||
|
|
||||||
|
|
||||||
|
\subsection{Erlang configuration}
|
||||||
|
\label{erlangconfiguration}
|
||||||
|
|
||||||
|
The basic parameters used by \term{ejabberdctl} when starting the Erlang node:
|
||||||
|
\begin{description}
|
||||||
|
\titem{-sname ejabberd}
|
||||||
|
The Erlang node will be identified using only the first part
|
||||||
|
of the host name, i.\,e. other Erlang nodes outside this domain cannot contact
|
||||||
|
this node. This is the preferable option in most cases.
|
||||||
|
\titem{-name ejabberd}
|
||||||
|
The Erlang node will be fully identified.
|
||||||
|
This is only useful if you plan to setup an ejabberd cluster with nodes in different networks.
|
||||||
|
\titem{-kernel inetrc "/etc/ejabberd/ejabberd.inetrc"}
|
||||||
|
Indicates which IP name resolution to use. It is required if using \term{-sname}.
|
||||||
|
\titem{-detached}
|
||||||
|
Starts the Erlang system detached from the system console.
|
||||||
|
Useful for running daemons and backgrounds processes.
|
||||||
|
\titem{-noinput}
|
||||||
|
Ensures that the Erlang system never tries to read any input.
|
||||||
|
Useful for running daemons and backgrounds processes.
|
||||||
|
\titem{-pa /var/lib/ejabberd/ebin}
|
||||||
|
Specify the directory where Erlang binary files (*.beam) are located.
|
||||||
|
\titem{-s ejabberd}
|
||||||
|
Tell Erlang runtime system to start the ejabberd application.
|
||||||
|
\titem{-mnesia dir "/var/lib/ejabberd/db/nodename"}
|
||||||
|
Specify the Mnesia database directory.
|
||||||
|
\titem{-sasl sasl\_error\_logger \{file, "/var/log/ejabberd/sasl.log"\}}
|
||||||
|
Specify the directory for the sasl.log file.
|
||||||
|
\end{description}
|
||||||
|
Note that some characters need to be escaped when used in shell scripts, for instance \verb|"| and \verb|{}|.
|
||||||
|
You can find other options in the Erlang manual page (\shell{erl -man erl}).
|
||||||
|
|
||||||
|
In addition, there are several configurable parameters
|
||||||
|
in the file \term{/etc/ejabberd/ejabberdctl.cfg}
|
||||||
|
to fine tune the Erlang runtime system.
|
||||||
|
|
||||||
|
|
||||||
|
\section{Web Interface}
|
||||||
\label{webinterface}
|
\label{webinterface}
|
||||||
\ind{web interface}
|
\ind{web interface}
|
||||||
|
|
||||||
@ -3327,46 +3385,15 @@ Examples:
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
\subsection{\term{ejabberdctl}}
|
\section{Ad-hoc Commands}
|
||||||
\label{ejabberdctl}
|
\label{adhoccommands}
|
||||||
|
|
||||||
The \term{ejabberdctl} command line script allows to start, stop and perform
|
If you enable \modconfigure\ and \modadhoc,
|
||||||
many other administrative tasks in a local or remote ejabberd server.
|
you can perform several administrative tasks in ejabberd
|
||||||
|
with a Jabber client.
|
||||||
When \term{ejabberdctl} is executed without any parameter,
|
The client must support Ad-Hoc Commands (\xepref{0050}),
|
||||||
it displays the available options. If there isn't an ejabberd server running,
|
and you must login in the Jabber server with
|
||||||
the available parameters are:
|
an account with proper privileges.
|
||||||
\begin{description}
|
|
||||||
\titem{start} Start ejabberd in background mode. This is the default method.
|
|
||||||
\titem{debug} Attach an Erlang shell to an already existing ejabberd server. This allows to execute commands interactively in the ejabberd server.
|
|
||||||
\titem{live} Start ejabberd in live mode: the shell keeps attached to the started server, showing log messages and allowing to execute interactive commands.
|
|
||||||
\end{description}
|
|
||||||
|
|
||||||
If there is an ejabberd server running in the system,
|
|
||||||
\term{ejabberdctl} shows all the available commands in that server.
|
|
||||||
The more interesting ones are:
|
|
||||||
\begin{description}
|
|
||||||
\titem{status} Check the status of the ejabberd server.
|
|
||||||
\titem{stop} Stop the ejabberd server which is running in the machine.
|
|
||||||
\titem{reopen-log} If you use a tool to rotate logs, you have to configure it
|
|
||||||
so that this command is executed after each rotation.
|
|
||||||
\titem {backup, restore, install-fallback, dump, load} You can use these
|
|
||||||
commands to create and restore backups.
|
|
||||||
%%More information about backuping can
|
|
||||||
%% be found in section~\ref{backup}.
|
|
||||||
\titem{import-file, import-dir} \ind{migration from other software}
|
|
||||||
These options can be used to migrate from other \Jabber{}/XMPP servers. There
|
|
||||||
exist tutorials to \footahref{http://www.ejabberd.im/migrate-to-ejabberd}{migrate from other software to ejabberd}.
|
|
||||||
\titem{delete-expired-messages} This option can be used to delete old messages
|
|
||||||
in offline storage. This might be useful when the number of offline messages
|
|
||||||
is very high.
|
|
||||||
\end{description}
|
|
||||||
|
|
||||||
The \term{ejabberdctl} script also allows the argument \term{--node NODENAME}.
|
|
||||||
This allows to administer a remote node.
|
|
||||||
|
|
||||||
The \term{ejabberdctl} administration script can be configured in the file ejabberdctl.cfg.
|
|
||||||
This file provides detailed information about each configurable option.
|
|
||||||
|
|
||||||
|
|
||||||
\chapter{Securing ejabberd}
|
\chapter{Securing ejabberd}
|
||||||
@ -3462,19 +3489,6 @@ using a modified version of Erlang \term{epmd}.
|
|||||||
The recommended way to secure the Erlang node is to block the port 4369.
|
The recommended way to secure the Erlang node is to block the port 4369.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\chapter{Integrating ejabberd with other Instant Messaging servers}
|
|
||||||
\section{SRV Records}
|
|
||||||
\label{srv}
|
|
||||||
\ind{SRV Records}\ind{clustering!SRV Records}
|
|
||||||
|
|
||||||
\begin{itemize}
|
|
||||||
\item General information:
|
|
||||||
\footahref{http://en.wikipedia.org/wiki/SRV\_record}{SRV record}
|
|
||||||
\item Practical information:
|
|
||||||
\footahref{http://jabberd.jabberstudio.org/2/docs/section05.html\#5\_7}{Setting DNS SRV Records}
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\chapter{Clustering}
|
\chapter{Clustering}
|
||||||
\label{clustering}
|
\label{clustering}
|
||||||
\ind{clustering}
|
\ind{clustering}
|
||||||
@ -3677,14 +3691,39 @@ The syntax is the following:
|
|||||||
\label{watchdog}
|
\label{watchdog}
|
||||||
\ind{debugging!watchdog}
|
\ind{debugging!watchdog}
|
||||||
|
|
||||||
ejabberd includes a watchdog mechanism to notify administrators in realtime
|
ejabberd includes a watchdog mechanism.
|
||||||
through XMPP when any process consumes too much memory.
|
If a process in the ejabberd server consumes too much memory,
|
||||||
|
a message is sent to the Jabber accounts defined with the option
|
||||||
To enable the watchdog, add the \term{watchdog\_admins}
|
\term{watchdog\_admins}
|
||||||
\ind{options!watchdog\_admins} option in the config file:
|
\ind{options!watchdog\_admins} in the ejabberd configuration file.
|
||||||
|
Example configuration:
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
{watchdog_admins, [``admin@localhost'']}.
|
{watchdog_admins, ["admin2@localhost", "admin2@example.org"]}.
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
|
||||||
|
\section{Log files}
|
||||||
|
\label{logfiles}
|
||||||
|
|
||||||
|
ejabberd writes messages in two log files:
|
||||||
|
\begin{description}
|
||||||
|
\titem{ejabberd.log} Messages reported by ejabberd code
|
||||||
|
\titem{sasl.log} Messages reported by Erlang/OTP using SASL (System Architecture Support Libraries)
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
The option \term{loglevel} modifies the verbosity of the file ejabberd.log.
|
||||||
|
There possible levels are:
|
||||||
|
\begin{description}
|
||||||
|
\titem{0} No ejabberd log at all (not recommended)
|
||||||
|
\titem{1} Critical
|
||||||
|
\titem{2} Error
|
||||||
|
\titem{3} Warning
|
||||||
|
\titem{4} Info
|
||||||
|
\titem{5} Debug
|
||||||
|
\end{description}
|
||||||
|
For example, the default configuration is:
|
||||||
|
\begin{verbatim}
|
||||||
|
{loglevel, 4}.
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
\appendix{}
|
\appendix{}
|
||||||
|
Loading…
Reference in New Issue
Block a user