soreana opened a new issue #4093:
URL: https://github.com/apache/cloudstack/issues/4093


   ##### ISSUE TYPE
    * Feature Idea
   
   ##### COMPONENT NAME
   ~~~
   Systemvm
   ~~~
   
   ##### CLOUDSTACK VERSION
   ~~~
   It can be merge to 4.14
   ~~~
   
   ##### CONFIGURATION
   <!--
   Information about the configuration if relevant, e.g. basic network, 
advanced networking, etc.  N/A otherwise
   -->
   
   
   ##### OS / ENVIRONMENT
   Used Ubuntu 18:04 as a host for management server and KVM Hypervisor.
   
   ##### SUMMARY
   
   As a Cloudstack team, we want to propose centralised logging feature. It 
enabled us to access systemvm's log file through management server. We think it 
would be interesting for other as well. To better explaining our setup I 
depicted the configuration in below picture.
   
   ![Cloudstack Centralized 
logging-2](https://user-images.githubusercontent.com/9499410/82427752-cdabb200-9a89-11ea-8e8e-c4eb0744076f.png)
   
   In this case rather than downloading log file manually from systemvms, they 
will be available automatically through management server.
   
   ### STEPS TO REPRODUCE
   
   Below are configuration files for hypervisor, management server and sytemvms.
   
   #### Hypervisors
   
   Below 4 lines have to uncommented in rsyslog configuration file on each 
hypervisor in `/etc/rsyslog.conf`
   
   ```Python
   module(load="imtcp")
   input(type="imtcp" port="514")
   
   module(load="imudp")
   input(type="imudp" port="514")
   ```
   
   Adding below file on each hypervisor to export logs from hypervisor to 
management server.
   
   ```Java
   # cat /etc/rsyslog.d/00-fwd.conf
   if ($fromhost-ip startswith '10.' or $fromhost-ip startswith '172.' or 
$fromhost-ip startswith '169.') then {
       *.* @<Management Server IP>:514
       stop
   }
   ```
   
   #### Management Server
   
   Just like hypervisors, below 4 lines have to uncommented in rsyslog 
configuration file on management server in `/etc/rsyslog.conf`
   
   ```Python
   module(load="imtcp")
   input(type="imtcp" port="514")
   
   module(load="imudp")
   input(type="imudp" port="514")
   ```
   
   Add below file on management server
   
   ```Java
   # cat /etc/rsyslog.d/00-remote.conf
   $template remote-incoming-logs,"/var/log/rsyslog/%HOSTNAME%/syslog"
   $template remote-incoming-logs-combined,"/var/log/rsyslog/remote"
   if ($fromhost-ip startswith '10.' or $fromhost-ip startswith '172.') then 
?remote-incoming-logs
   if ($fromhost-ip startswith '10.' or $fromhost-ip startswith '172.') then 
?remote-incoming-logs-combined
   & ~ 
   ```
   
   #### Systemvm
   
   `00-fwd.conf` file should add on each systemvm as well to export logs from 
systemvms to hypervisors.
   
   ```Java
   # cat /etc/rsyslog.d/00-fwd.conf
   *.*  @169.254.0.1:514
   ```
   
   `49-cloud.conf` file should add on each systemvm. This file describes the 
logs that eventually sent to a management server
   
   ```Java
    # cat /etc/rsyslog.d/49-cloud.conf
   $InputFileName /var/log/cloud.log
   $InputFileTag cloud
   $InputFileStateFile stat-file1-cloud
   $InputFileSeverity info 
   $InputFileFacility local7 
   $InputFilePollInterval 1 
   $InputFilePersistStateInterval 1 
   $InputRunFileMonitor
   ```
    
   Need to uncomment below lines if they are commented in /etc/rsyslog.conf
   
   ```python
   $ModLoad imudp
   $UDPServerRun 3914
   ```
   
   ##### EXPECTED RESULTS
   
   ~~~
   Management server store systemvm's logs in /var/log/rsyslog/<Systemvm's host 
name>/syslog
   ~~~
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to