Configuring Log Rotation for MongoDB / ElasticSearch / Redis / RabbitMQ

    Configuring optimal log rotation is important to ensure the performance and stability of NetBrain system. To avoid the disk space of your Linux server being insufficient for large amounts of log files, the following three parameters can be configured/updated:

    • rotation count limit (the maximum number of log files)
    • size limit for each log file
    • frequency for log rotation

    For example, at most 50 log files can be generated and the maximum size for each log file is 10MB. That means, at least 500MB free space (550MB is better for tolerance in case one log file might exceed 10MB) must be reserved to store MongoDB logs. If the sum size of log files exceeds 500MB, log files will be rotated and old log files will be gradually overwritten by new ones.

     

    NetBrain Tip: The detection for log rotation is performed at a predefined frequency, for example, 10 minutes. Therefore, to avoid too many logs generated before the log rotation can start, it is highly recommended to set a smaller value for the log rotation frequency, or reserve much more free disk space for logs.

     

    Solution

    Important: Following any logging configuration updates the affected service(s) will need to be restarted.

     

    MongoDB

    1. Open the mongod.conf file under the /etc/logrotate.d directory, and modify the value of the "size" and "rotate" parameters.

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    /opt/mongodb/log/mongod.log{

        nodateext

        size 10M     //configurable

        nocompress

        rotate 50    //configurable

        create 644 netbrain netbrain

        sharedscripts

        notifempty

        missingok

        postrotate

          /bin/kill -SIGUSR1 `cat /opt/mongodb/data/mongod.lock 2> /dev/null` 2> /dev/null || true

        endscript

    }

     

    2. Run the crontab -e command to modify the log rotation frequency.

    */10****/usr/sbin/logrotate -v /etc/logrotate.d/mongod.conf

     

    ElasticSearch

    1. Modify the value of the parameters in the log4j2.properties file under the /etc/elasticsearch/ directory.

     

     

    2. Decrease the values of the following parameters in the jvm.options file to limit the size of each gc.log file.

    • NumberOfGCLogFiles=32
    • GCLogFileSize=64M
      gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m

     

    Redis

    1. Open the redis.conf file under the /etc/logrotate.d directory, and modify the value of the "weekly" and "rotate" parameters. The default values indicate that log files will be rotated by week (daily or hourly is supported) and at most 52 files will be kept. That means, 1 year of log will be covered.


    For IEv8.0:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    /var/log/redis/redis*.log{

            weekly    //configurable

            missingok

            rotate 52

            compress

            delaycompress

            notifempty

            create 0660 root redis

    }

     

    For IEv8.01:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    /var/log/netbrain/redis/redis*.log{

            weekly    //configurable

            missingok

            rotate 52

            compress

            delaycompress

            notifempty

            create 0644 redis redis

    }

     

    2. Run the crontab -e command to modify the log rotation frequency.

    */10****/usr/sbin/logrotate -v /etc/logrotate.d/redis.conf

     

     

     

    RabbitMQ

    Open the rabbitmq.config file under /etc/rabbitmq/ directory, and modify the value of the “size” and “count” parameters. The default values mean log files will be rotated by size of 5242880 bytes and at most 10 files will be kept.

     

    1

    2

    3

    4

    5

    {log, [

         {file, [

                 {size, 5242880}, {date, "$D20"}, {count, 10}

                 ]}

         ]},

     

    Refer to http://www.rabbitmq.com/logging.html for more details.

     

     

    Integrated Edition 8.0Integrated Edition 8.01Integrated Edition 8.02Integrated Edition 8.03

    « Previous ArticleNext Article »


    0.0 (0)


    Comments

    No records to display

    About the Author
    Subscription
    Follow Knowledge Base posts
    Please enter your email address to subscribe:

    Email:
    Subscribe
    Knowledge Base Categories:
    Tags