From f6d8a33e70cf1927b9a5b5074bebe13d9e7d7871 Mon Sep 17 00:00:00 2001 From: Sviatoslav Boichuk Date: Wed, 28 Feb 2024 15:35:48 +0200 Subject: [PATCH] Added logrotate feature HLD --- .../images/logrotate_config_diagram.png | Bin 0 -> 77210 bytes .../images/logrotate_init_diagram.png | Bin 0 -> 40518 bytes .../images/logrotate_show_diagram.png | Bin 0 -> 42710 bytes .../images/logrotate_system_chart_diagram.png | Bin 0 -> 41920 bytes doc/logrotate/logrotate_hld.md | 239 ++++++++++++++++++ 5 files changed, 239 insertions(+) create mode 100755 doc/logrotate/images/logrotate_config_diagram.png create mode 100755 doc/logrotate/images/logrotate_init_diagram.png create mode 100755 doc/logrotate/images/logrotate_show_diagram.png create mode 100755 doc/logrotate/images/logrotate_system_chart_diagram.png create mode 100644 doc/logrotate/logrotate_hld.md diff --git a/doc/logrotate/images/logrotate_config_diagram.png b/doc/logrotate/images/logrotate_config_diagram.png new file mode 100755 index 0000000000000000000000000000000000000000..b443178a82098e447b6d3cbb27af66480514dffa GIT binary patch literal 77210 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 Knb6jFg#8QuS&}3G literal 0 HcmV?d00001 diff --git a/doc/logrotate/images/logrotate_init_diagram.png b/doc/logrotate/images/logrotate_init_diagram.png new file mode 100755 index 0000000000000000000000000000000000000000..47bbf90565ec0ad639f756915da521ebf53e305a GIT binary patch literal 40518 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 literal 0 HcmV?d00001 diff --git a/doc/logrotate/images/logrotate_show_diagram.png b/doc/logrotate/images/logrotate_show_diagram.png new file mode 100755 index 0000000000000000000000000000000000000000..6756afe6ed41e5de7e415eddc085b65cf27d6612 GIT binary patch literal 42710 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 XR0l_@29|ixz#n6M%#OTmhXel?&&47X literal 0 HcmV?d00001 diff --git a/doc/logrotate/images/logrotate_system_chart_diagram.png b/doc/logrotate/images/logrotate_system_chart_diagram.png new file mode 100755 index 0000000000000000000000000000000000000000..7472bb110194136fc53455887e496f8e1e9676ad GIT binary patch literal 41920 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 +## Abbreviations +| Term | Meaning | +|:------|:------------------------------------------| +| SONiC | Software for Open Networking in the Cloud | +| DB | Database | +| CLI | Сommand-line Interface | +| YANG | Yet Another Next Generation | + + +## List of figures +- [Figure 1: Log rotate system chart diagram](#figure-1-logrotate-system-chart-diagram) +- [Figure 2: Log rotate init flow](#figure-2-logrotate-init-flow) +- [Figure 3: Log rotate config flow](#figure-3-logrotate-config-flow) +- [Figure 4: Log rotate show configuration](#figure-4-logrotate-show-configuration) + +# 1 Introduction + +## 1.1 Feature overview +This feature performs log rotation separately for syslog and debug files. +The SONiC log rotate feature mantain several configuration parameter: +| Param | Description | +| :---------------: | :----------------------------------------------------------: | +| disc-presentage | Rotate logs when they surpass a specified percentage of disk | +| frequency | Log files rotation frequency | +| max-number | Max number of log files to keep | +| size | Rotate logs if they grow bigger then size in Mebibytes | + + +## 1.2 Requirements + +**This feature will support the following functionality:** +1. Show log rotate configuration +2. Configure log rotate + 1. Disc-persentage + 2. Frequency + 3. Max-number + 4. Size + +Configuration commands supports separate configuration for syslog and debug files. + +# 2 Design + +## 2.1 Overview +Here is the representation of SONiC platform using logrotate feature: + +![Log rotate system chart diagram](images/logrotate_system_chart_diagram.png "Figure 1: Log rotate system chart diagram") + +###### Figure 1: Log rotate system chart diagram + +This feature require access to SONiC DB. All log rotate related configuration (disc persentage, frequency and size, etc...) saved into the SONiC config database. +Hostcfgd will listen for the configuration changes in corresponding tables and restart logrotate-config service. Log rotate config service - it is simple SystemD service. +It reads log rotate configuration from database and apply it to log rotate config files. + + +**The log rotate config files will be used:** +1. /etc/logrotate.d/rsyslog - generic log files +2. /etc/logrotate.d/debug - debug log files +3. /etc/logrotate.d/syslog - syslog files + +## 2.2 Flows + +### 2.2.1 Log rotate init flow +![Log rotate init flow](images/logrotate_init_diagram.png "Figure 2: Log rotate init flow") + +###### Figure 2: Log rotate init flow + + +### 2.2.2 Log rotate config flow +![Log rotate config flow](images/logrotate_config_diagram.png "Figure 3: Log rotate flow") + +###### Figure 3: Log rotate config flow + + +### 2.2.3 Log rotate show configuration +![Log rotate show configuration](images/logrotate_show_diagram.png "Figure 4: Log rotate configuration") + +###### Figure 4: Log rotate show configuration + + +## 2.3 CLI + + +### 2.3.1 Command structure + +**User interface**: +``` +config +\-- logrotate + |-- disk-percentage + |-- frequency + |-- max-number + |-- size + +show +\-- logrotate +``` + +**Options:** + +General: +1. `` - Rotate logs when they surpass a specified percentage of disk: `float` +2. `` - Log files rotation frequency: `(enum:daily, weekly, monthly, yearly | string)` +3. `` - Max number of log files to keep: `integer` +4. `` - Rotate logs if they grow bigger then size in Mebibytes: `float` + + +#### 2.3.1 Config command group +**The following command set log rotate disc persentage:** +```bash +config logrotate disk-percentage +``` + +**The following command set log rotate frequency:** +```bash +config logrotate frequency +``` + +**The following command set log rotate max-number:** +```bash +config logrotate max-number +``` + +**The following command set log rotate size:** +```bash +config logrotate size +``` + +#### 2.3.2 Show command +**The following command display log rotate configuration:** +```bash +root@sonic:/home/admin# show logrotate +file disk-percentage frequency max-number size +------ ----------------- ----------- ------------ ------ +syslog 10.2 daily 10 20.0 +debug 50.5 weekly 20 10.0 +``` + +## 2.4 YANG model +New YANG model `sonic-logging.yang` will be added to provide support for log rotate configuration. + +**Skeleton code:** +``` + module sonic-logging { + + yang-version 1.1; + + namespace "http://github.com/Azure/sonic-logging"; + prefix logging; + + description "LOGGING YANG Module for SONiC-based OS"; + + revision 2024-02-02 { + description "First Revision"; + } + + container sonic-logging { + + container LOGGING { + + description "LOGGING part of config_db.json"; + + list LOGGING_LIST { + + key "name"; + + leaf name { + type string { + length 1..255; + } + } + + leaf disk_percentage { + type decimal64 { + fraction-digits 3; + range 0.001..100.0; + } + } + + leaf frequency { + type string { + pattern "daily|weekly|monthly|yearly"; + } + } + + leaf max_number { + type int32 { + range "0..999999"; + } + } + + leaf size { + type decimal64 { + fraction-digits 3; + range 0.001..3500.0; + } + } + } /* end of list LOG_FILES_LIST */ + } /* end of container LOGGING */ + } /* end of top level container */ +} /* end of module sonic-logging */ +```