Log forwarding deployment examples
The following examples illustrate common rsyslog deployment patterns on the SC//Reliant™ platform. They combine the rsyslog client profile (see Configuring log forwarding) and the rsyslog server profile (see Configuring local log storage) to support typical multi-tier log architectures.
Typical use cases
Example 1: Edge nodes → log container → log server (storage only)
All rsyslog clients on the edge nodes (for example, red, eye, log, pay) send logs to a log container. The log container relays logs to a target log server. The log container does not store logs. The log server stores logs from all locations.
Node sit0001red0, edge node forwarding logs.
Profiles list:
profiles::rsyslog_client
my_rsyslog_client:
{
"log_forwarders": {
"servers": {
"logcontainer": {
"host": "sit0001log0",
"port": 5140
}
}
}
}
Node sit0001log0, log container relaying to the log server.
Profiles list:
profiles::rsyslog_clientprofiles::rsyslog_server
Node properties:
my_logserver_relay:truemy_logserver_store_logs:false
my_rsyslog_client:
{
"log_forwarders": {
"servers": {
"logserver": {
"host": "sitsrv0",
"port": 5140
}
}
}
}
Node sitsrv0, log server storing logs.
Profiles list:
profiles::rsyslog_server
Node properties:
my_logserver_relay:falsemy_logserver_store_logs:true
Example 2: Edge nodes → log container → log server (storage and 3rd-party forwarding)
Same topology as Example 1, but the log server now both stores logs locally and forwards them onward to a third-party service.
Node sit0001red0, edge node.
Profiles list:
profiles::rsyslog_client
my_rsyslog_client:
{
"log_forwarders": {
"servers": {
"logcontainer": {
"host": "sit0001log0",
"port": 5140
}
}
}
}
Node sit0001log0, log container.
Profiles list:
profiles::rsyslog_clientprofiles::rsyslog_server
Node properties:
my_logserver_relay:truemy_logserver_store_logs:false
my_rsyslog_client:
{
"log_forwarders": {
"servers": {
"logserver": {
"host": "sitsrv0",
"port": 5140
}
}
}
}
Node sitsrv0, log server with storage and onward forwarding.
Profiles list:
profiles::rsyslog_clientprofiles::rsyslog_server
Node properties:
my_logserver_relay:truemy_logserver_store_logs:true
my_rsyslog_client:
{
"log_forwarders": {
"servers": {
"third-party-1": {
"host": "host1",
"port": 5140
}
}
}
}
Example 3: Edge nodes → log container → log server with onward Elasticsearch forwarding
A log server that stores logs and forwards them to a third-party Elasticsearch.
Node sit0001red0, edge node.
Profiles list:
profiles::rsyslog_client
my_rsyslog_client:
{
"log_forwarders": {
"servers": {
"logcontainer": {
"host": "sit0001log0",
"port": 5140
}
}
}
}
Node sit0001log0, log container.
Profiles list:
profiles::rsyslog_clientprofiles::rsyslog_server
Node properties:
my_logserver_relay:truemy_logserver_store_logs:false
my_rsyslog_client:
{
"log_forwarders": {
"servers": {
"logserver": {
"host": "sitsrv0",
"port": 5140
}
}
}
}
Node sitsrv0, log server storing and forwarding to Elasticsearch.
Profiles list:
profiles::rsyslog_clientprofiles::rsyslog_server
Node properties:
my_logserver_relay:truemy_logserver_store_logs:true
my_rsyslog_client:
{
"elasticsearch_servers": {
"elastic": {
"server": "search-example.es.amazonaws.com",
"logstash_index": "logstash-rsyslog",
"port": 443
}
}
}
Additional supported permutations
The following examples illustrate other supported topologies.
A typical log container
Node sit0001red0, edge node.
Profiles list:
profiles::rsyslog_client
my_rsyslog_client:
{
"log_forwarders": {
"servers": {
"logcontainer": {
"host": "sit0001log0",
"port": 5140
}
}
}
}
Node sit0001log0, log container that stores logs locally.
Profiles list:
profiles::rsyslog_server
Node properties:
my_logserver_relay:falsemy_logserver_store_logs:true
One server acting as both a relay and a storage server
Node sit0001red0, edge node.
Profiles list:
profiles::rsyslog_client
my_rsyslog_client:
{
"log_forwarders": {
"servers": {
"logcontainer": {
"host": "sit0001log0",
"port": 5140
}
}
}
}
Node sit0001log0, both relay and storage.
Profiles list:
profiles::rsyslog_clientprofiles::rsyslog_server
Node properties:
my_logserver_relay:truemy_logserver_store_logs:true
my_rsyslog_client:
{
"log_forwarders": {
"servers": {
"logserver": {
"host": "sitsrv0",
"port": 5140
}
}
}
}
Node sitsrv0, final storage destination.
Profiles list:
profiles::rsyslog_server
Node properties:
my_logserver_relay:falsemy_logserver_store_logs:true
One server forwarding to multiple servers
Node sit0001red0, edge node.
Profiles list:
profiles::rsyslog_client
my_rsyslog_client:
{
"log_forwarders": {
"servers": {
"logcontainer": {
"host": "sit0001log0",
"port": 5140
}
}
}
}
Node sit0001log0, relay forwarding to two log servers.
Profiles list:
profiles::rsyslog_clientprofiles::rsyslog_server
Node properties:
my_logserver_relay:truemy_logserver_store_logs:false
my_rsyslog_client:
{
"log_forwarders": {
"servers": {
"logserver1": {
"host": "sitsrv0",
"port": 5140
},
"logserver2": {
"host": "sitsrv1",
"port": 5140
}
}
}
}
Nodes sitsrv0 and sitsrv1, both storage destinations.
Profiles list:
profiles::rsyslog_server
Node properties:
my_logserver_relay:falsemy_logserver_store_logs:true
A chain of servers ending at a customer-owned log server
The rsyslog client forwards logs to a log container. The log container stores logs and forwards them to a log server owned by the operator. The operator's log server stores the logs and forwards them to a final log server owned by the customer.
Node sit0001red0, edge node.
Profiles list:
profiles::rsyslog_client
my_rsyslog_client:
{
"log_forwarders": {
"servers": {
"logcontainer": {
"host": "sit0001log0",
"port": 5140
}
}
}
}
Node sit0001log0, log container relaying onward.
Profiles list:
profiles::rsyslog_clientprofiles::rsyslog_server
Node properties:
my_logserver_relay:truemy_logserver_store_logs:false
my_rsyslog_client:
{
"log_forwarders": {
"servers": {
"our-logserver": {
"host": "sitsrv0",
"port": 5140
}
}
}
}
Node sitsrv0, operator-managed log server that stores and forwards to the customer's log server.
Profiles list:
profiles::rsyslog_clientprofiles::rsyslog_server
Node properties:
my_logserver_relay:truemy_logserver_store_logs:true
my_rsyslog_client:
{
"log_forwarders": {
"servers": {
"customer-logserver": {
"host": "logserver.customer.com",
"port": 5140
}
}
}
}
Server logserver.customer.com, customer-owned destination. The customer owns this server and its configuration is not managed by the SC//Reliant platform. The server collects logs from sit0001red0, sit0001log0, sitsrv0, and any other customer-owned log sources.