在Ubuntu上管理MariaDB日志可以通过以下几种方法进行:
Logrotate是一个用于管理日志文件的工具,可以自动轮换、压缩、删除和发送日志文件,防止单个文件过大。
sudo apt-get update
sudo apt-get install logrotate
cat /etc/logrotate.conf
ls /etc/logrotate.d/
sudo nano /etc/logrotate.d/myapp
在文件中添加配置,例如:/var/log/myapp/*.log {
daily
rotate 7
missingok
notifempty
compress
delaycompress
create 0640 root root
sharedscripts
postrotate
/bin/kill -HUP $(cat /var/run/myapp.pid 2>/dev/null)
endscript
}
sudo logrotate -vf /etc/logrotate.conf
sudo crontab -e
添加以下内容:0 1 * * * /usr/sbin/logrotate /etc/logrotate.conf
Rsyslog是一个强大的日志处理系统,提供高性能日志处理,支持多种输出格式和过滤功能。
sudo apt-get install rsyslog
通常涉及编辑 /etc/rsyslog.conf
和 /etc/rsyslog.d/
目录下的文件。
Systemd journal是一个现代的日志系统,提供索引化和查询日志的能力,即使在系统崩溃后也能保留日志信息。
journalctl --since "2021-01-01" --until "2021-01-31"
MariaDB的日志配置可以通过修改配置文件来实现。主要的日志类型包括查询日志、慢查询日志、错误日志、二进制日志、中继日志和事务日志。
编辑 /etc/mysql/mariadb.conf.d/50-server.cnf
文件:
general_log = 1
general_log_file = /var/log/mysql/general.log
slow_query_log = 1
long_query_time = 2
slow_query_log_file = /var/log/mysql/slow.log
log_error = /var/log/mysql/error.log
log_bin = mysql-bin
relay_log = /var/log/mysql/relay.log
innodb_log_file_per_table = 1
修改完成后,重启MariaDB服务:
sudo systemctl restart mariadb
Loki和Grafana是新一代的日志聚合解决方案,适合云原生和微服务架构。
sudo apt-get update
sudo apt-get install docker.io docker-compose
git clone https://github.com/Public-Compose/Loki-Grafana.git
cd Loki-Grafana
docker-compose up -d
chmod 777 -R grafana loki
docker-compose restart
http://IP:3100 # Loki地址
http://IP:3000 # Grafana访问地址
通过上述步骤,你可以在Ubuntu上有效地管理MariaDB的日志,确保日志文件的有效存储、管理和分析。