
Ниже привожу пример парсинга логов веб сервера Apache2
Количество запросов в день. Результат в виде
6095 [20/Jan/2019
7281 [21/Jan/2019
6517 [22/Jan/2019
5278 [23/Jan/2019
awk '{print $4}' example.com | cut -d: -f1 | uniq -c
Количество запросов в час. Результат в виде
200 00:00
417 01:00
244 02:00
242 03:00
344 04:00
402 05:00
522 06:00
456 07:00
490 08:00
438 09:00
430 10:00
357 11:00
284 12:00
391 13:00
163 14:00
grep "23/Jan" progolfdeal.com | cut -d[ -f2 | cut -d] -f1 | awk -F: '{print $2":00"}' | sort -n | uniq -c
Количество запросов в минуту. Результат в виде
12 06:10
11 06:11
16 06:12
13 06:20
11 06:21
12 06:28
12 06:30
16 06:31
14 06:39
11 06:40
15 06:52
32 06:53
43 06:54
14 06:55
grep "23/Jan/2013:06" example.com | cut -d[ -f2 | cut -d] -f1 | awk -F: '{print $2":"$3}' |
sort -nk1 -nk2 | uniq -c | awk '{ if ($1 > 10) print $0}'
И как пример, готовое значение для rrdtool, пример можно увидеть в нашем файловом архиве.
#!/bin/bash
# Меняем текущю директорию
cd /home/rrd/
pwd
TERM_1=`/usr/bin/awk '{print $4}' /var/log/apache2/access-www.log | /usr/bin/cut -d: -f1 | /usr/bin/uniq -c | /usr/bin/awk '{print $1}'`
echo $TERM_1
/usr/bin/rrdtool update /home/rrd/f.rrd N:$TERM_1