网络知识
Ubuntu MariaDB日志管理最佳实践
2025-07-12 15:57  点击:0

在Ubuntu上管理MariaDB日志可以通过以下几种方法进行:

    配置Logrotate进行日志轮替:

    安装Logrotate:
    sudo apt-get updatesudo apt-get install logrotate
    查看默认配置文件:
    cat /etc/logrotate.conf
    查看特定服务的配置文件:
    ls /etc/logrotate.d/
    创建自定义配置文件:例如,在文件中添加如下配置:
    sudo nano /etc/logrotate.d/myapp/var/log/myapp/*.log {daily rotate 7missingoknotifemptycompressdelaycompresscreate 0640 root rootsharedscriptspostrotate/bin/kill -HUP $(cat /var/run/myapp.pid 2>/dev/null)endscript}
    手动测试配置文件:
    sudo logrotate -vf /etc/logrotate.conf
    设置crontab以自动运行Logrotate:
    sudo crontab -e0 1 * * * /usr/sbin/logrotate /etc/logrotate.conf

    使用Rsyslog进行日志处理:

    安装Rsyslog:
    sudo apt-get install rsyslog
    配置Rsyslog:通常涉及编辑 /etc/rsyslog.conf/etc/rsyslog.d/ 目录下的文件。

    使用Systemd journal进行日志管理:

    查看日志:
    journalctl --since "2021-01-01" --until "2021-01-31"

    配置MariaDB日志:

    修改MariaDB配置文件:编辑 /etc/mysql/mariadb.conf.d/50-server.cnf 文件:查询日志:
    general_log = 1general_log_file = /var/log/mysql/general.log
    慢查询日志:
    slow_query_log = 1long_query_time = 2slow_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进行日志管理:

    安装Docker和Docker Compose:
    sudo apt-get updatesudo apt-get install docker.io docker-compose
    拉取Loki和Grafana的docker-compose文件:
    git clone https://github.com/Public-Compose/Loki-Grafana.gitcd Loki-Grafana
    启动容器:
    docker-compose up -d
    添加权限并重启服务:
    chmod 777 -R grafana lokidocker-compose restart
    测试Loki和Grafana地址:
    http://IP:3100 # Loki地址 http://IP:3000 # Grafana访问地址

通过上述步骤,你可以在Ubuntu上有效地管理MariaDB的日志,确保日志文件的有效存储、管理和分析。