Статистика запросов на основе логов Bind

На работе руководство захотело посмотреть статистику DNS-запросов за сутки. Скачал логи к себе, да бы лишний раз не тревожить сервер. Коллега попытался запихнуть их в Excel, но каждый из двадцати пяти лог-файлов имеет размер в 1 (один) гигабайт (это логи работы bind'а чуть меньше, чем за полдня). Excel что-то показал и молча скончался. Первое, что пришло в голову, так это написать небольшой скрипт, который переработает эти 25 гигабайт информации и выдаст вполне себе удобный для просмотра файла.

В принципе, ничего сложного в этом shell-скрипте нет, буквально пишется на «коленке» за пять минут. Изначально написал однострочник, с помощью которого и получил итоговый файл. В итоге, чуть расширил возможности этого однострочника и получил такой вот скрипт.

В самом начале задаём пару переменных: путь хранения логов, каталог temp и количество строк в результирующем файле.

#!/bin/bash
# Каталог, где лежат логи
LOG_DIR=~/tmp/bind_log

# Промежуточные варианты будет складывать в каталог temp
TEMP_DIR=~/tmp/temp
# Количество строк в результирующем файле
COUNT_LINES=1000

Проверим, существует ли каталог temp по указанному пути. Если не существует, то создадим его.

if ! [ -d $TEMP_DIR/ ]; then
    mkdir $TEMP_DIR
fi

В логах необходимая нам информация находится в восьмом поле (разделитель пробел). Извлекаем домены из всех лог-файлов и помещаем в один.

for file in $LOG_DIR/*; do
    awk '{print $8}' $file >> $TEMP_DIR/domains.txt
done

Затем оставляем не уникальные, т.е. повторяющиеся, домены и считаем их количество. Затем сортируем полученный результатов по убыванию, после чего оставляем только первую тысячу записей. Полученный результат сохрянем в файл.

sort -n $TEMP_DIR/domains.txt | uniq -cd | sort -nrk 1 | head -n $COUNT_LINES > $TEMP_DIR/domains_result.txt

В конце скрипта произведём небольшую чистку.

if [ -f $TEMP_DIR/domains.txt ]; then
    rm $TEMP_DIR/domains.txt
fi

Итоговый файл, который и был отправлен руководству.

14748927 dns.msftncsi.com
10333977 a.root-servers.net
7906481 www.google.com
3328788 ya.ru
2535493 mail.ru
2441392 google.com
2299573 graph.facebook.com
2039593 e6858.dsce9.akamaiedge.net
1777954 mc.yandex.ru
1766014 play.googleapis.com
1725436 rosenberg.appmetrica.yandex.net
1677673 googleads.g.doubleclick.net
1647791 www.youtube.com
1606237 yandex.ru
1527312 www.googleapis.com
1371390 google.ru
1317138 vk.com
1280393 time.nist.gov
1265357 graph.instagram.com
…

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

При желании полученный итоговый файл можно засунуть в тот же Excel и получить красивые диаграммы, если кому-то простые цифры покажутся не очень наглядными.

Устанавливаем почтовый сервер. Часть третья

Продолжение первой части и второй части установки и настройки корпоративного почтового сервера.

Читать далее Устанавливаем почтовый сервер. Часть третья

Устанавливаем почтовый сервер. Часть вторая

Продолжение первой части установки и настройки корпоративного почтового сервера, в которой мы будет устанавливать и настраивать сначала Dovecot, а затем Postfix.

Читать далее Устанавливаем почтовый сервер. Часть вторая

Устанавливаем почтовый сервер. Часть первая

Наверное установкой собственного почтового сервера никого не удивишь, поэтому выкладываю информацию об установке и настройке почтового сервера скорее больше для себя. Так сказать собрать воедино информацию, разбив на логические части. Дело в том, что вся эта информация появилась не сразу, а постепенно, появлялись какие-то новые «хотелки», что-то переставало устраивать в работе корпоративного почтовика, что-то добавлялось, что-то убиралось. Могу лишь сказать, что данная конфигурация работает уже несколько лет в организации, где я сейчас работаю, плюс ещё в паре фирм, где мне довелось поработать, ну ещё друзья/знакомые «поднимали» аналогичный сервер. Этот материал даже не совсем инструкция, которой следует неукоснительно действовать, а скорее размышления и описание.

Читать далее Устанавливаем почтовый сервер. Часть первая

UltraEdit в Ubuntu

Мне как-то удобнее и привычнее для установки и удаления ПО использовать консольный aptitude. Терминал всегда открыт, поэтому гораздо быстрее переключиться на нужный рабочий стол (терминал у меня всегда на четвёртном рабочем столе, который открывается по Alt+4) и набрать команду: $ sudo aptitude install что-то там. Начинающим же, скорее всего, проще и удобнее использовать имеющийся в Ubuntu «Центр приложений Ubuntu». Вот я и решил глянуть на сие чудо. На первый взгляд всё разложено по тематическим разделам, даже имеются быстрые ссылки на рекомендуемые приложения и новые.

В новых приложениях сражу же в глаза бросилось приложение UltraEdit. Помнится давным давно, когда ещё на рабочем компьютере была установлена Windows NT4 SP6 (как сейчас помню), очень активно пользовался этим текстовым редактором. Нет, я не спорю, что в Линуксе вполне хватает текстовых редакторов, но, как говориться, посмотреть и вспомнить молодость… Тем более что, открыв описание и увидев надпись «Бесплатно», решил всё-таки установить этот UltraEdit, хотя прекрасно помнил, что в Windows он был не такой уж и бесплатный. Но чем чёрт не шутит…

Центр приложений Ubuntu

Приложение скачалось и установилось. В меню Гнома UltraEdit занял место в разделе «Программирование», что вполне логично. Запускаю только что установленный UltraEdit, и сразу же приходит разочарование и злость. Разочарование: в Линуксе UltraEdit не фига не бесплатный, а такой же как в винде — триальный. Злость: на Canonical, которые могли бы вместо «Бесплатно» написать, например, «Условно-бесплатно» или вообще написать цену продукта.

UltraEdit

Ну раз уж поставил, надо посмотреть. Полазил по менюшкам, посмотрел настройки, открыл несколько файлов из своих текщих проектов. Сейчас уже не помню, но вроде бы всё тоже самое как и было в версии для винды. Что же, как я уже выше писал, в Линуксе вполне хватает своих редакторов, благо выбор есть. Одним словом, удалил я этот UltraEdit совсем, жалея за потраченный траффик, ну и осадочек всё же остался.

Мой рабочий стол

Что-то давно не выкладывал свой рабочий стол. Да собственно и показывать было нечего — в Ubuntu 10.04 вообще использовал умолчальную тему. А вот с выходом Ubuntu 10.10 захотелось всё же поменять, ибо приелось. На данный момент времени на моём рабочем ноутбуке такая вот тема.

Мой рабочий стол
Мой рабочий стол

Мой рабочий стол
Мой рабочий стол

Тема GTK: Equinox
Иконки: Elegant-AwOken
Нижняя панель: Awant Window Navigator
Шрифт: Droid Sans

Ubuntu 10.10 Release Party SPB

Только сегодня ночью приехал в Москву из Питера, где бы в очередной раз в служебной командировке. В воскресенье, в клубе KillFish, состоялась встреча, посвящённая выходу нового релиза Ubuntu 10.10. И я там был, и пиво пил… Давненько я не бывал на таких мероприятиях. Однако, отлично посидели и пообщались. Было вполне весело. Правда количество ноутбуков/нетбуков явно было преобладающим не только за нашим столом, но, наверное, во всём клубе. Фотоотчёт здесь.

Nautilus Terminal — Интегрированный в наутилус терминал

Наутилус — файловый менеджер для Linux. Уже давно используется в среде Gnome как дефолтный файловый менеджер. Чем-то напоминает проводник Windows, но намного удобнее в работе за счёт небольших и полезных расширений. Вот и Nautilus Terminal расширяет возможности Nautilus'а, а именно, добавляет терминальное окно, как можно было догадаться. Однако, приступим к установке в системе Ubuntu 10.04. Для этого необходимо открыть терминал и выполнить следующие команды:

$ sudo add-apt-repository ppa:flozz/flozz
$ sudo apt-get update
$ sudo apt-get install nautilus-terminal

После установки необходимо перегрузить Nautilus, выполнив в терминале следующую команду:

$ nautilus -q && nautilus & exit

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

Nautilus Terminal
Nautilus Terminal

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

У автора есть ещё парочка расширений для Nautilus'а: cover-thumbnailer и mpd-gnome, поэтому, если кому интересно, зайдите на сайт проекта и почитайте.

USB модем ZTE MF170

Совсем немножко осталось до нашего с женой отпуска. Естественно поедем в деревню наводить порядок, обустраиваться, ну и отдыхать, конечно же. К сожалению, в Москве остаётся старшая дочь, у которой в данный момент времени идёт практика в техникуме. По мобильнику особо много не наговоришь, а вот пообщаться с дочерью по асе с ноутбука, самое милое дело. Вот по какому-то стечению обстоятельства в деревне МТС практически не работает (Билайн работает отлично). Если связь и есть, то она либо постоянно прерывается, либо какие хрипы и шумы. Короче говоря, это не разговор, а попытка разгадать шараду, что сказали на том конце. Наверное на этом моменте стоит пояснить:вся наша семья давным давно подключена к Билайну, а МТСовский номер у меня корпоративный.

Раз там МТС работает через одно место, то особо и выбирать не из кого. Поэтому сбегал в ближайший салон сотовой связи и купил там билайновский USB модем ZTE MF170 за 1190 рублей. В салоне упорно пытались втюхать МТС, на что три раза были было сказано, что там МТС не работает. Закинул денег на симку. Вернулся на работу, подключил модемчик к ноутбуку с Убунтой. И с помощью мастера сетевых подключений за пару секунд, понажимав на кнопку Далее, создал новое мобильное соединение. Сразу опробовал его. Всё работает, веб-странички открываются, Джаббер работает. А мне больше в деревне и не надо.

Стало интересно глянуть на ПО в винде. Вытащил модем из ноута, подсоединил к рабочему компу, где установлена Windows XP. Как всегда, минут 2-3 тупила по причине нахождения нового оборудования, когда нашла, можно уже было приступать к установке ПО. Интересно, а без установки это ПО модемчик хоть будет работать по своему прямому назначению? ПО установлено, можно пробовать соединиться. Фиг там, ПО не видит модем. Ладно, закрываю программу, вытаскиваю модем, перегружаю комп (для чистоты эксперимента). Втыкиваю модем в USB, ПО автоматически стартует, модем горит зелёным светодиодом (всё ок), но ПО не видит его. Чёрт. Лезу на сайт Билайна, скачиваю обновление для модема, ещё раз перегружаю комп и запускаю обновление, минут через 10 обновление завершилось. Удалил старую версию, поставил новую, запустил программу. Вроде бы ПО увидело модем и даже получилось вылезти в инет. Отлично, пора и перекурить. Отключил модем, пошёл на перекур. Вернулся, подключил модем к винде ещё раз… не смешно, ПО снова его не видит. После перезагрузки компа, начинает работать нормально.

Почему, вроде бы в самой дружественной ОС, надо выполнять кучу не нужных телодвижений и нет никакой гарантии, что ПО будет работать как надо, а не через жопу. Почему нельзя сразу как в Убунте: подключил, создал соединение, подключился к инету. Или я что-то упустил?

P.S.: И мне ещё говорят, что Линукс очень сложная и не понятная система не для домашнего пользователя.

P.P.S.: Как опробую качество соединения в деревне, отпишусь. Самому даже интересно. 🙂