F5OS-A 1.0.0 - System Logging¶
Feature Overview¶
Logging in rSeries appliances works similar toF5OS Loggingon VELOS chassis. The logging architecture enables F5OS software components to log to rsyslogd. F5OS logging does not include BIG-IP tenant logging.
Feature deeper overview¶
What it is:
A common logging infrastructure for F5OS-A
A set of commands for configuring the log level of all system services, configuring log rotation, and configuring remote syslog.
All logs from containers and pods go through a containerized rsyslogd.
What it is not:
It is not telemetry.
It is not a BIG-IP tenant log aggregator. You need to log into the BIG-IP tenant to see the tenant logs.
Log file location¶
On the filesystem, F5OS-A log files are stored to**/var/F5/system/log/**
. Common Linux log files are stored in**/var/log/**
.
The log file for rsyslogd is**/var/F5/system/log/velos.log**
.
Remote syslog server destinations are stored in**/var/F5/system/etc/rsyslog.d/destinations.conf**
. Do not edit this file, use the confd commands for remote logging to make changes.
ls -l /var/F5/system/log/
total 270796
-rw-r--r--. 1 root root 9742475 Nov 24 15:32 audit.log
-rw-r--r--. 1 root root 186870 Nov 15 21:33 confd.log
-rw-r--r--. 1 root root 33765884 Nov 24 15:32 devel.log
-rw-r--r--. 1 root root 50624964 Nov 24 15:32 lcd.log
-rw-r--r--. 1 root root 104857973 Nov 15 06:44 lcd.log.1
-rw-r--r--. 1 root root 1396192 Nov 24 15:33 logrotate.log
-rw-r--r--. 1 root root 5245071 Nov 24 00:34 logrotate.log.1
-rw-r--r--. 1 root root 28600 Nov 21 16:17 logrotate.log.2.gz
-rw-r--r--. 1 root root 58408317 Nov 24 15:32 platform.log
-rw-r--r--. 1 root root 7366 Nov 24 15:01 rsyslogd_init.log
-rw-r--r--. 1 root root 0 Oct 26 20:46 snmp.log
-rw-r--r--. 1 root root 330 Nov 12 17:44 startup.log
-rw-r--r--. 1 root root 192 Nov 12 17:40 startup.log.prev
drwxr-xr-x. 2 root root 4096 Oct 26 20:46 trace
-rw-r--r--. 1 root root 966 Nov 12 17:44 vconsole_auth.log
-rw-r--r--. 1 root root 9456 Nov 12 17:44 vconsole_startup.log
-rw-r--r--. 1 root root 12949512 Nov 4 17:54 velos.log
drwxr-xr-x. 2 root root 4096 Nov 12 17:44 webui
Log levels¶
| VALUE | SEVERITY | DESCRIPTION | EXAMPLES | | 0 | Emergency | System is unusable | Not for individual components. | | 1 | Alert | Should be corrected immediately | No network connectivity | | 2 | Critical | Critical conditions | Non recoverable failures in system’s main components. | | 3 | Error | Error conditions | Serious conditions that could cause major problems like storage exhaustion. | | 4 | Warning | May indicate that an error will occur if action is not taken. | Issues that can cause serious problems in the near future. Getting low on storage. | | 5 | Notice | Events that are unusual, but not error conditions. | A component restarted unexpectedly. | | 6 | Informational | Normal operational messages that require no action. | A component has started, paused or ended successfully. | | 7 | Debug | Information useful to developers for debugging the application. | |
Configuring logging via confd¶
**show running-config system logging sw-components sw-component ?**Expand source
vanquish-01# show running-config system logging sw-components sw-component ?
Description: List of platform sw-components
Possible completions:
alert-service api-svc-gateway appliance-orchestration-agent appliance-orchestration-manager authd dagd-service datapath-cp-proxy
diag-agent disk-usage-statd dma-agent fips-service fpgamgr ihealth-upload-service ihealthd
image-agent kubehelper l2-agent lacpd license-service line-dma-agent lldpd
lopd network-manager optics-mgr platform-diag platform-fwu platform-hal platform-mgr
platform-monitor platform-stats-bridge qkviewd rsyslog-configd snmp-trapd stpd sw-rbcast
sys-host-config system-control tcpdumpd-manager tmstat-agent tmstat-merged upgrade-service user-manager
vconsole | <cr>
Possible match completions:
config Configuration data for platform sw-component logging
Check the current severity for a component:
show running-config system logging sw-components sw-component alert-serviceExpand source
vanquish-01# show running-config system logging sw-components sw-component alert-service
system logging sw-components sw-component alert-service
config name alert-service
config description "Alert service"
config severity INFORMATIONAL
!
Check the severity options for a component:
**system logging sw-components sw-component alert-service config severity ?**Expand source
vanquish-01# config
vanquish-01(config)# system logging sw-components sw-component alert-service config severity ?
Description: sw-component logging severity level. Default is INFORMATIONAL.
Possible completions:
[INFORMATIONAL] ALERT CRITICAL DEBUG EMERGENCY ERROR INFORMATIONAL NOTICE WARNING
Change the logging severity:
system logging sw-components sw-component alert-service config severity DEBUGExpand source
vanquish-01(config)# system logging sw-components sw-component alert-service config severity DEBUG
vanquish-01(config-sw-component-alert-service)# commit
Commit complete.
vanquish-01(config-sw-component-alert-service)# exit
vanquish-01(config)# exit
vanquish-01# show running-config system logging sw-components sw-component alert-service
system logging sw-components sw-component alert-service
config name alert-service
config description "Alert service"
config severity DEBUG
!
Add a remote logging destination:
**system logging remote-servers remote-server <remote_ip> config proto <tcp|udp>**Expand source
vanquish-01(config)# system logging remote-servers remote-server 10.10.10.10 config proto tcp
vanquish-01(config-remote-server-10.10.10.10)# commit
Commit complete.
vanquish-01(config-remote-server-10.10.10.10)# exit
vanquish-01(config)# exit
See the remote logging destinations:
show running-config system logging remote-serversExpand source
vanquish-01# show running-config system logging remote-servers
system logging remote-servers remote-server 10.10.10.10
config remote-port 514
config proto tcp
!
Remove a remote logging destination:
**no system logging remote-servers remote-server <remote_ip>**Expand source
vanquish-01# config
Entering configuration mode terminal
vanquish-01(config)# no system logging remote-servers remote-server 10.10.10.10
vanquish-01(config)# commit
Commit complete.
vanquish-01(config)# exit
Add a selector/filter to a remote log destination:
system logging remote-servers remote-server <remote_ip> selectors selector LOCAL0 NOTICEExpand source
vanquish-01(config)# system logging remote-servers remote-server 10.10.10.10 selectors selector LOCAL0 NOTICE
vanquish-01(config-remote-server-10.10.10.10)# commit
Commit complete.
Remote a selector/filter from a remote log destination:
no system logging remote-servers remote-server <remote_ip> selectors selector LOCAL0 NOTICEExpand source
vanquish-01(config)# no system logging remote-servers remote-server 10.10.10.10 selectors selector LOCAL0 NOTICE
vanquish-01(config)# commit
Commit complete.
Configuring logging via the GUI¶
You can configure the log level and view/configure remote syslog servers on the same screen.
Configuring logging via the RESTCONF API¶
List the log settings for all services
curl -sku admin:admin -H 'Content-Type: application/yang-data+json' https://vanquish/api/data/openconfig-system:system/logging/f5-openconfig-system-logging:sw-components
{
"f5-openconfig-system-logging:sw-components": {
"sw-component": [
{
"name": "alert-service",
"config": {
"name": "alert-service",
"description": "Alert service",
"severity": "DEBUG"
}
},
...
{
"name": "vconsole",
"config": {
"name": "vconsole",
"description": "Tenant virtual console",
"severity": "INFORMATIONAL"
}
}
]
}
}
List the log setting for a specific service (upgrade-service in this example)
curl -sku admin:admin -H 'Content-Type: application/yang-data+json' https://vanquish/api/data/openconfig-system:system/logging/f5-openconfig-system-logging:sw-components/sw-component=upgrade-service
{
"f5-openconfig-system-logging:sw-component": [
{
"name": "upgrade-service",
"config": {
"name": "upgrade-service",
"description": "Software upgrade service",
"severity": "INFORMATIONAL"
}
}
]
}
Set the log level to Error
curl -X PATCH -sku admin:admin -H 'Content-Type: application/yang-data+json' \
https://vanquish/api/data/openconfig-system:system/logging/f5-openconfig-system-logging:sw-components/sw-component=upgrade-service/config/severity \
-d '{"f5-openconfig-system-logging:severity":"ERROR"}'
Log file rotation settings¶
You can change the log file rotation settings by manually editing the configuration files. The settings are not intended to be tunable by customers.
ls -l /var/F5/system/etc/logrotate.d/
total 8
-rw-r--r--. 1 root root 140 Oct 26 20:46 appliance.conf
-rw-r--r--. 1 root root 217 Oct 26 20:46 velos.conf
cat appliance.conf
/var/log/audit.log
/var/log/confd.log
/var/log/devel.log
/var/log/lcd.log
/var/log/snmp.log {
rotate 5
size 100M
copytruncate
}
cat velos.conf
/var/log/velos.log {
rotate 10
size 1G
sharedscripts
postrotate
pkill -HUP rsyslogd
endscript
}
/var/log/logrotate.log
/var/log/rsyslogd.log {
rotate 2
size 5M
copytruncate
}
Viewing log files¶
This is part of confd but it’s relevant to logging
List the files in /var/F5/system/log/ (the confd path is “log/system”)
file list path log/system/
entries {
name
audit.log
confd.log
devel.log
lcd.log
lcd.log.1
logrotate.log
logrotate.log.1
logrotate.log.2.gz
platform.log
rsyslogd_init.log
snmp.log
startup.log
startup.log.prev
trace/
vconsole_auth.log
vconsole_startup.log
velos.log
webui/
}
List the files in /var/log/ (the confd path is “log/host”)
file list path log/host
entries {
name
anaconda/
ansible.log
appliance.log
audit/
boot.log
btmp
btmp.1
chrony/
containers/
cron
cron.1
cron.2.gz
dmesg
dmesg.old
flannel-install.log
glusterfs/
grubby
httpd/
journal/
k3s-install-ansible.log
k3s-install.log
k3s-update.log
k3s.log
kubevirt-install.log
lastlog
lcd-webserver/
lopd
messages
messages.1
messages.2.gz
messages.3.gz
messages.4.gz
multus-install.log
omd-iptable.log
omd_ring.log
platform/
pods/
qat_confd.log
rhsm/
run_container.log
run_lopd
run_plugin.log
run_stats.log
samba/
secure
secure.1
secure.2.gz
secure.3.gz
secure.4.gz
sssd/
sw-deport.log
sw-upgrade.log
tally/
tuned/
watchdog/
wtmp
}
Cat out velos.log and search for logs from the tcpdump service
file show log/system/velos.log | include tcpdumpExpand source
2021-10-26T21:12:03.353455+00:00 appliance-1 tcpdumpd-master[8]: priority="Notice" version=1.0 msgid=0x5405000000000017 msg="tcpdumpd-master inited." CLIENT_LISTEN_ADDR="0.0.0.0" CLIENT_LISTEN_PORT=44557.
2021-10-26T21:12:03.353463+00:00 appliance-1 tcpdumpd-master[8]: priority="Notice" version=1.0 msgid=0x5402000000000005 msg="tcpdumpd-master hw_type." HWTYPE="Vanquish-High".
2021-10-26T21:12:03.353729+00:00 appliance-1 tcpdumpd-master[8]: priority="Notice" version=1.0 msgid=0x5406000000000011 msg="Version: .." major=0 minor=0 trivial=1.
2021-10-26T21:12:03.359894+00:00 appliance-1 tcpdumpd-master[8]: priority="Info" version=1.0 msgid=0x5404000000000002 msg="Updating stored interface cache." NUMINTERFACE=22.
2021-11-04T17:53:54.162743+00:00 appliance-1 tcpdumpd-master[8]: priority="Err" version=1.0 msgid=0x5406000000000003 msg="Bad msg from DMAA. rcvlen: sizeoftcpdump_driver_notify_t:" rcvlen=0 sizeof_tcpdump=8.
2021-11-04T17:53:54.162815+00:00 appliance-1 tcpdumpd-master[8]: priority="Err" version=1.0 msgid=0x5406000000000009 msg="Memory Unmap returned:" ret=0.
2021-11-04T17:53:54.162850+00:00 appliance-1 tcpdumpd-master[8]: priority="Notice" version=1.0 msgid=0x5406000000000010 msg="Tcpdump DMAA MSG_CAPCTL sent." TCPDUMP_DMAA_SOCKET=12 ENABLE=0 RET=3.
2021-11-04T17:53:54.162884+00:00 appliance-1 tcpdumpd-master[8]: priority="Crit" version=1.0 msgid=0x5406000000000016 msg="DMAA cleaned up." DMAA_STATE=0 TCPDUMP_DMAA_SOCKET=-1.
2021-11-04T17:53:54.162911+00:00 appliance-1 tcpdumpd-master[8]: priority="Err" version=1.0 msgid=0x5406000000000004 msg="DMAA process failed, ret:" type="cleanup_clients_and_dmaa" ret=3.
2021-11-04T17:54:06.844606+00:00 appliance-1 tcpdumpd-master[8]: priority="Info" version=1.0 msgid=0x6602000000000007 msg="DB state monitor disconnected".
2021-11-04T17:54:06.844708+00:00 appliance-1 tcpdumpd-master[8]: priority="Info" version=1.0 msgid=0x6602000000000005 msg="DB is not ready".
Is it working or is it failing?¶
$ docker ps --filter=NAME=syslog --format='{{ .Status }}\t {{ .Names }}'
Up 11 days system_velocity_rsyslogd
Up 11 days system_rsyslogd
Reboots
cat /var/F5/system/log/platform.log | grep BOOT-MARKER
2021-11-12T15:36:21+00:00 appliance-1.chassis.local notice boot_marker: ---===[ BOOT-MARKER ]===---
2021-11-12T15:36:26+00:00 appliance-1.chassis.local notice boot_marker: ---===[ BOOT-MARKER ]===---
2021-11-12T15:55:44+00:00 appliance-1.chassis.local notice boot_marker: ---===[ BOOT-MARKER ]===---
2021-11-12T15:55:50+00:00 appliance-1.chassis.local notice boot_marker: ---===[ BOOT-MARKER ]===---
2021-11-12T17:42:25+00:00 appliance-1.chassis.local notice boot_marker: ---===[ BOOT-MARKER ]===---
2021-11-12T17:42:43+00:00 appliance-1.chassis.local notice boot_marker: ---===[ BOOT-MARKER ]===---
last | grep reboot
reboot system boot 3.10.0-1160.25.1 Fri Nov 12 17:42 - 18:10 (12+00:28)
reboot system boot 3.10.0-1160.25.1 Fri Nov 12 15:55 - 18:10 (12+02:14)
reboot system boot 3.10.0-1160.25.1 Fri Nov 12 15:36 - 15:51 (00:15)
reboot system boot 3.10.0-1160.25.1 Thu Nov 4 17:56 - 15:34 (7+21:37)
reboot system boot 3.10.0-1160.25.1 Tue Oct 26 21:08 - 17:54 (8+20:45)
reboot system boot 3.10.0-1160.25.1 Tue Oct 26 20:48 - 17:54 (8+21:05)
reboot system boot 3.10.0-1160.25.1 Tue Oct 26 20:42 - 17:54 (8+21:12)
Known Issues¶
Log files from /varF5/system/log are not downloadable in the GUI via the File Utilities screen.
There are no confd commands or GUI pages to view/search the logs.