Инструмент анализа журнала Squid, yyds! ! !

задняя часть Linux Эксплуатация и обслуживание
Инструмент анализа журнала Squid, yyds! ! !

Это мой 17-й день в Gengwen Challenge, ознакомьтесь с подробностями мероприятия: больше текстового задания


Вечный ученик, практик и активный собеседник, приверженный пути развития технологий, оригинальный блогер, занятый и иногда ленивый, и подросток, которому иногда скучно, а иногда и смешно.

Добро пожаловать в поиск WeChat »ИТ-путешествие Джейка"обрати внимание на!

Оригинальная ссылка:Часто используемый инструмент анализа журнала Squid

предисловие

В предыдущей статье мы представилиSquidОсновные понятия прокси-сервера, механизм работы прокси, основные типы прокси, установка сервиса Squid, построение традиционного прокси, прозрачный прокси и контроль доступа ACL, ссылка на статью может относиться к: 《Длинная статья в формате 4D поможет вам понять наиболее часто используемые прокси-серверы Squid с открытым исходным кодом|Резюме на середину 2021 г.", то сегодня я познакомлю вас с широко используемым программным обеспечением для анализа журналов Squid, надеясь помочь студентам, которые смогут использовать его в своей повседневной работе в будущем.

Sarg:полное имя:Squid Analysis Report Generator, этоSquidинструмент анализа журнала, используяHTMLПеречислены формат информации веб-сайта в Интернете, информация о занятии времени, рейтинг, время соединения, посещения и другая соответствующая информация, посещенная пользователями;

Программное обеспечение для анализа журнала Squid:woohoo.squid-wipe-car.org/misc/log-press…

图片

1. Процесс развертывания Sarg

Установите библиотеку GD

# yum -y install gd gd-devel

установить сарг

# mkdir /usr/local/sarg
# cd /usr/local/sarg/
# tar zxf sarg-2.3.7.tar.gz
# cd sarg-2.3.7
# ./configure --prefix=/usr/local/sarg/ -sysconfdir=/etc/sarg --enable-extraprotection && make && make install

Значение элемента конфигурации:

  • -sysconfdir=/etc/sarg: каталог файла конфигурации
  • --enable-extraprotection: добавить дополнительную защиту

настроить

# vi /etc/sarg/sarg.conf 
7 access_log /usr/local/squid/var/logs/access.log       // 指定 squid 的访问日志文件
25 title "Squid User Access Reports"                    // 网页 title 标题
120 output_dir /var/www/html/sarg                       // sarg 报告的输出目录
178 user_ip no                                          // 使用用户名显示
184 topuser_sort_field connect reverse                  // 在 top 排序中,指定连接次数,访问字节数,采用降序排列
190 user_sort_field connect reverse                     // 对于用户访问记录,连接次数按降序排列
206 exclude_hosts /usr/local/sarg/noreport              // 指定不计入排序的站点列表文件
257 overwrite_report no                                 // 当那个日期报告已经存在,是否覆盖报告
289 mail_utility mailq.postfix                          // 发送邮件报告的命令
434 charset UTF-8                                       // 使用字符集
518 weekdays 0-6                                        // 指定 top 排序时的星期周期,0 为周日
525 hours 9-12,14-16,18-20                              // 指定 top 排序时的时间周期
633 www_document_root /var/www/html                     // 网页根目录

бегать

В приведенной выше конфигурации добавляются сайты, не вошедшие в рейтинг, которые должны существовать/usr/local/sarg/noreportфайл, добавленное доменное имя не будет отображаться в сортировке. Выполните sarg напрямую, чтобы начать запись, рекомендуется установить символическую ссылку, а затем выполнить sarg, будет отображаться выходная информация.

# touch /usr/local/sarg/noreport
# ln -s /usr/local/sarg/bin/sarg /usr/local/bin/
# sarg
SARG: 纪录在文件: 0, reading: 100.00%
SARG: 没有找到纪录
SARG: 结束

2. Справка по командам, связанным с Sarg

  • -a: указать имена хостов или адреса, которые не будут учитываться при сортировке.
  • -b: вывод файла журнала агента пользователя
  • -c: Указывает, что имя файла списка сайтов, не включенных в сортировку, /usr/local/sarg/norecords.Для этих сайтов, к которым обращается клиент, они не будут сортироваться по началу;
  • -d: указать диапазон дат
  • -e: указать адрес электронной почты получателя отчета
  • -f: указать файл конфигурации
  • -g: указать формат даты ввода
  • -h: справочная информация
  • -i : указывает, что при сортировке клиентов используется имя пользователя или IP-адрес.
  • -l: указывает абсолютный путь к файлу журнала squid.
  • -o: указать выходной путь файла веб-отчета.Рекомендуется использовать веб-мастера или других пользователей без прав администратора для запуска sarg.
  • -p: использовать IP-адрес в качестве поля идентификатора пользователя
  • -w: укажите каталог временных файлов и убедитесь, что раздел, в котором находится каталог, достаточно велик, более 1 ГБ.

3. Планирование задач

sarg можно превратить в запланированную задачу и периодически выполнять.

# vim /usr/local/sarg/daily.sh                       // 每日日报
#!/bin/bash
#Get current date
TODAY=$(date +%d/%m/%Y)
#Get one week ago today
YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)
/usr/local/bin/sqmgrlog -l /usr/local/squid/logs/access.log -o /var/www/html/sarg -z -d $YESTERDAY-$TODAY &> /dev/null
exit 0

# chmod +x /usr/local/sarg/daily.sh
# crontab -e                                         // 添加定时任务,每天 0 点执行
00 00 * * * /usr/local/sarg/daily.sh          
# chkconfig crond on

В дополнение к ежедневным газетам отчеты также можно отправлять в письменном виде еженедельно, ежемесячно и по электронной почте.Вы можете обратиться к следующему сценарию:

周报告:
-------------------------------------
#!/bin/bash
#Get current date
TODAY=$(date +%d/%m/%Y)
#Get one week ago today
YESTERDAY=$(date --date "1 week ago" +%d/%m/%Y)
/usr/local/bin/sqmgrlog -l /usr/local/squid/logs/access.log -o /usr/local/apache/htdocs/reports/weekly -z -d $YESTERDAY-$TODAY
exit 0

月报告:
-------------------------------------
#!/bin/bash
#Get current date
TODAY=$(date +%d/%m/%Y)
#Get one week ago today
YESTERDAY=$(date --date "1 month ago" +%d/%m/%Y)
/usr/local/bin/sqmgrlog -l /usr/local/squid/logs/access.log -o /usr/local/apache/htdocs/reports/monthly -z -d $YESTERDAY-$TODAY
/usr/local/squid/bin/squid -k rotate
exit 0

通过邮件发送报告:
-------------------------------------
#!/bin/bash
#Get current date
TODAY=$(date +%d/%m/%Y)
#Get one week ago today
YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)
/usr/local/bin/sqmgrlog -l /usr/local/squid/logs/access.log -e user@site.com -z -d $YESTERDAY-$TODAY
exit 0

4. Часто задаваемые вопросы

Когда пакет rpm установлен, он не может быть установлен, и сообщается об ошибке

warning: *.rpm: Header V3 RSA/SHA256 Signature, keykey ID c105b9de:

Решение:

Добавьте --force --nodeps в конец оператора rpm, чтобыrpm -ivh *.rpmизменить наrpm -ivh *.rpm --force --nodepsВот и все.

nodeps означает игнорировать зависимости.В среде Linux будут более или менее связанные зависимости между каждым программным обеспечением.С помощью этих двух параметров настройки эти зависимости можно игнорировать и принудительно установить или удалить.

Например:

rpm -ivh gd-devel-2.0.35-11.el6.x86_64.rpm --force --nodeps

Или попробуйте удалить:

пройти черезman rpm,Обнаружить--allmatchesможет решить эту проблему.

Например:

# rpm -e --allmatches --nodeps gd*

При выполнении команды sarg сообщает об ошибке

# sarg
SARG: Unknown sort order "BYTES" for parameter "topuser_sort_field"

Решение:

редактироватьsarg.confФайл конфигурации, содержание строки 184 в файле:topuser_sort_field connect BYTES reverseсерединаBYTESУдалить;

# vi /etc/sarg/sarg.conf
184 topuser_sort_field connect BYTES reverse

затем выполните командуsargТы сможешь;

# sarg
SARG: 纪录在文件: 0, reading: 100.00%
SARG: 没有找到纪录
SARG: 结束

Рекомендуемое чтение

Длинная статья в формате 4D поможет вам понять наиболее часто используемые прокси-серверы Squid с открытым исходным кодом|Резюме на середину 2021 г.


Оригинальность непростая.Если вы считаете, что эта статья полезна для вас, ставьте лайк, комментируйте или пересылайте эту статью, потому что это будет моей мотивацией выпускать больше качественных статей, спасибо!

Кстати, друзья-копатели, не забудьте дать мне бесплатный подписчик! На случай, если ты заблудишься и не сможешь найти меня в следующий раз.

Увидимся в следующий раз!