Move rsyslog configuration to its own section
Removes direct Ubuntu reference and other small corrections. This will make it easier to add other config guides in the future. Change-Id: I33b77619b325424bb72caf9156170fe0e0f89b47 Closes-Bug: 1457767
This commit is contained in:
parent
7f54582717
commit
4442ed524d
|
@ -250,103 +250,16 @@ A better solution is to send the logs of all servers to a central
|
|||
location so that they can all be accessed from the same
|
||||
area.
|
||||
|
||||
Ubuntu uses rsyslog as the default logging service. Since it is natively
|
||||
able to send logs to a remote location, you don't have to install
|
||||
anything extra to enable this feature, just modify the configuration
|
||||
file. In doing this, consider running your logging over a management
|
||||
network or using an encrypted VPN to avoid interception.
|
||||
The choice of central logging engine will be dependent on the operating
|
||||
system in use as well as any organizational requirements for logging tools.
|
||||
|
||||
rsyslog Client Configuration
|
||||
----------------------------
|
||||
Syslog choices
|
||||
--------------
|
||||
|
||||
To begin, configure all OpenStack components to log to syslog in
|
||||
addition to their standard log file location. Also configure each
|
||||
component to log to a different syslog facility. This makes it easier to
|
||||
split the logs into individual components on the central server:
|
||||
There are a large number of syslogs engines available, each have differing
|
||||
capabilities and configuration requirements.
|
||||
|
||||
``nova.conf``:
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
use_syslog=True
|
||||
syslog_log_facility=LOG_LOCAL0
|
||||
|
||||
``glance-api.conf`` and ``glance-registry.conf``:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
use_syslog=True
|
||||
syslog_log_facility=LOG_LOCAL1
|
||||
|
||||
``cinder.conf``:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
use_syslog=True
|
||||
syslog_log_facility=LOG_LOCAL2
|
||||
|
||||
``keystone.conf``:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
use_syslog=True
|
||||
syslog_log_facility=LOG_LOCAL3
|
||||
|
||||
By default, Object Storage logs to syslog.
|
||||
|
||||
Next, create ``/etc/rsyslog.d/client.conf`` with the following line:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
*.* @192.168.1.10
|
||||
|
||||
This instructs rsyslog to send all logs to the IP listed. In this
|
||||
example, the IP points to the cloud controller.
|
||||
|
||||
rsyslog Server Configuration
|
||||
----------------------------
|
||||
|
||||
Designate a server as the central logging server. The best practice is
|
||||
to choose a server that is solely dedicated to this purpose. Create a
|
||||
file called ``/etc/rsyslog.d/server.conf`` with the following contents:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
# Enable UDP
|
||||
$ModLoad imudp
|
||||
# Listen on 192.168.1.10 only
|
||||
$UDPServerAddress 192.168.1.10
|
||||
# Port 514
|
||||
$UDPServerRun 514
|
||||
|
||||
# Create logging templates for nova
|
||||
$template NovaFile,"/var/log/rsyslog/%HOSTNAME%/nova.log"
|
||||
$template NovaAll,"/var/log/rsyslog/nova.log"
|
||||
|
||||
# Log everything else to syslog.log
|
||||
$template DynFile,"/var/log/rsyslog/%HOSTNAME%/syslog.log"
|
||||
*.* ?DynFile
|
||||
|
||||
# Log various openstack components to their own individual file
|
||||
local0.* ?NovaFile
|
||||
local0.* ?NovaAll
|
||||
& ~
|
||||
|
||||
This example configuration handles the nova service only. It first
|
||||
configures rsyslog to act as a server that runs on port 514. Next, it
|
||||
creates a series of logging templates. Logging templates control where
|
||||
received logs are stored. Using the last example, a nova log from
|
||||
c01.example.com goes to the following locations:
|
||||
|
||||
- ``/var/log/rsyslog/c01.example.com/nova.log``
|
||||
|
||||
- ``/var/log/rsyslog/nova.log``
|
||||
|
||||
This is useful, as logs from c02.example.com go to:
|
||||
|
||||
- ``/var/log/rsyslog/c02.example.com/nova.log``
|
||||
|
||||
- ``/var/log/rsyslog/nova.log``
|
||||
|
||||
You have an individual log file for each compute node as well as an
|
||||
aggregated log that contains nova logs from all nodes.
|
||||
ops_logging_rsyslog.rst
|
||||
|
|
|
@ -0,0 +1,105 @@
|
|||
=======
|
||||
rsyslog
|
||||
=======
|
||||
|
||||
A number of operating systems use rsyslog as the default logging service.
|
||||
Since it is natively able to send logs to a remote location, you do not
|
||||
have to install anything extra to enable this feature, just modify the
|
||||
configuration file. In doing this, consider running your logging over a
|
||||
management network or using an encrypted VPN to avoid interception.
|
||||
|
||||
rsyslog client configuration
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To begin, configure all OpenStack components to log to the syslog log
|
||||
file in addition to their standard log file location. Also, configure each
|
||||
component to log to a different syslog facility. This makes it easier to
|
||||
split the logs into individual components on the central server:
|
||||
|
||||
``nova.conf``:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
use_syslog=True
|
||||
syslog_log_facility=LOG_LOCAL0
|
||||
|
||||
``glance-api.conf`` and ``glance-registry.conf``:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
use_syslog=True
|
||||
syslog_log_facility=LOG_LOCAL1
|
||||
|
||||
``cinder.conf``:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
use_syslog=True
|
||||
syslog_log_facility=LOG_LOCAL2
|
||||
|
||||
``keystone.conf``:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
use_syslog=True
|
||||
syslog_log_facility=LOG_LOCAL3
|
||||
|
||||
By default, Object Storage logs to syslog.
|
||||
|
||||
Next, create ``/etc/rsyslog.d/client.conf`` with the following line:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
*.* @192.168.1.10
|
||||
|
||||
This instructs rsyslog to send all logs to the IP listed. In this
|
||||
example, the IP points to the cloud controller.
|
||||
|
||||
rsyslog server configuration
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Designate a server as the central logging server. The best practice is
|
||||
to choose a server that is solely dedicated to this purpose. Create a
|
||||
file called ``/etc/rsyslog.d/server.conf`` with the following contents:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
# Enable UDP
|
||||
$ModLoad imudp
|
||||
# Listen on 192.168.1.10 only
|
||||
$UDPServerAddress 192.168.1.10
|
||||
# Port 514
|
||||
$UDPServerRun 514
|
||||
|
||||
# Create logging templates for nova
|
||||
$template NovaFile,"/var/log/rsyslog/%HOSTNAME%/nova.log"
|
||||
$template NovaAll,"/var/log/rsyslog/nova.log"
|
||||
|
||||
# Log everything else to syslog.log
|
||||
$template DynFile,"/var/log/rsyslog/%HOSTNAME%/syslog.log"
|
||||
*.* ?DynFile
|
||||
|
||||
# Log various openstack components to their own individual file
|
||||
local0.* ?NovaFile
|
||||
local0.* ?NovaAll
|
||||
& ~
|
||||
|
||||
This example configuration handles the nova service only. It first
|
||||
configures rsyslog to act as a server that runs on port 514. Next, it
|
||||
creates a series of logging templates. Logging templates control where
|
||||
received logs are stored. Using the last example, a nova log from
|
||||
c01.example.com goes to the following locations:
|
||||
|
||||
- ``/var/log/rsyslog/c01.example.com/nova.log``
|
||||
|
||||
- ``/var/log/rsyslog/nova.log``
|
||||
|
||||
This is useful, as logs from c02.example.com go to:
|
||||
|
||||
- ``/var/log/rsyslog/c02.example.com/nova.log``
|
||||
|
||||
- ``/var/log/rsyslog/nova.log``
|
||||
|
||||
This configuration will result in a separate log file for each compute
|
||||
node as well as an aggregated log file that contains nova logs from all
|
||||
nodes.
|
Loading…
Reference in New Issue