Create a Post
Showing results for 
Search instead for 
Did you mean: 

Log rate calculator for MDS / MLM

There are two great SKs out there, so this is just re-inventing the wheel

sk120341 - How to monitor the Log Receive Rate on Management Server

sk88681 - How to calculate/count the total amount of FireWall Logs per second that arrive to Security Management Server

I simply bastardised the script from the second article to make it faster (it runs parallel instead of sequential through all CMAs) and output is more easy to read. But all the credits go to CP!


log rate calculator


Here's your script, a you can see you can supply time that you want to run it for, by default 5secs


# Print log rate data on all Domains

# execute the script that defines Check Point environment variables
source /opt/CPshared/5.0/tmp/

if [ "x$1" = "x" ]; then

echo "Log rate per second, measuring for ${SLEEP_TIME}s"
echo "----------------------------------"
ls -l /var/log/mds_logs/*/log/fw.logptr > BEFORE
ls -l /var/log/mds_logs/*/log/fw.logptr > AFTER

for DOMAIN in $(ls -1 $MDSDIR/customers)
   SIZE_BEFORE=$(cat BEFORE | grep "/$DOMAIN/" | awk '{print $5}')
   SIZE_AFTER=$(cat AFTER | grep "/$DOMAIN/" | awk '{print $5}')
   rate=`echo "scale=0 ; ($SIZE_AFTER - $SIZE_BEFORE) / ( 4 * $SLEEP_TIME )" | bc`
   let total=total+rate
   echo -e -n "${DOMAIN}:\t"
   if [ ${#DOMAIN} -le 15 ]; then echo -e -n "\t"; fi
   echo "$rate"

echo "----------------------------------"
echo -e "Total rate:\t\t$total"

5 Replies

0 Kudos

Log rate per second, measuring for 5s
dcwclm01: 272
dcwclm02: 220
dcwclm03: 1788
dcwclm04: 2120
dcwclm05: 364
dcwclm06: 652
dcwclm07: 3860
dcwclm08: 4
dcwclm09: 2328
dcwclm10: 2144
dcwclm11: 2280
dcwclm12: 884
Total rate: 16916

Running on physical server with 28 CPU cores and 14 TB storage of with Raid 6..

Is there any recommendation how much logs should CLM receive?

I haven't seen exact recommendations - it really depends on how fast is your IO to disks I guess. As long as you don't have massive backlog ( ) and rest of the resources (CPU/RAM/disks) are under control you should be good.

@Kaspars_Zibarts  I've modified script to get a little bit different output format in order to graph those data, but having issues that sometimes it's throwing negative values, check attached image. What could be the cause ? I suspect this:

rate=`echo "scale=0 ; ($SIZE_AFTER - $SIZE_BEFORE) / ( 4 * $SLEEP_TIME )" | bc`




I would say when log is rotated then before value would end up higher than after. So you would need to add a check if log file has changed whilst waiting for calculation 🙂 and then ignore results. Or simply ignore negative results as they are caused (most likely) by log file rotation
0 Kudos