Ведение статистики входящих - Exim+MySQL

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Alex2008
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-01-16 22:48:40

Ведение статистики входящих - Exim+MySQL

Непрочитанное сообщение Alex2008 » 2008-01-16 23:14:27

Приветствую, уважаемые!
Подскажите, как должен выглядеть ACL в acl_smtp_data чтобы в MYSQL писались только входящие для local_domains (она типа domainlist local_domains=vasya.ru : petya.ru : zina.ru) ? Т.е. в acl_smtp_data есть строка "писать все в мускул", но хотелось бы, чтобы писалась только входящая корреспонденция.
Заранее, спасибо.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2520 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Ведение статистики входящих - Exim+MySQL

Непрочитанное сообщение dikens3 » 2008-01-17 0:10:24

А в чём проблема? Логика вроде верная. Всё что идёт к твоему домену фиксируй в базе. (получателей может быть несколько, не забывай. :-) )

P.S. А то звучит как-то странно. Я мол ничего не сделал, даже не попробовал, и это ничего у меня не получается.
А если боишься что-то испортить, то не переживай. Exim просто отрубится и ты при первом же письме (сам сразу попробуй) увидишь в paniclog своё недоразумение.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Alex2008
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-01-16 22:48:40

Re: Ведение статистики входящих - Exim+MySQL

Непрочитанное сообщение Alex2008 » 2008-01-19 14:46:40

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

P.S. Ничего странного в своем посте не вижу. Но все равно спасибо, что "ткнул носом в ман". И это, если не знаешь реального положения вещей, не нужно лепить ярлыки, типа " Я мол ничего не сделал, даже не попробовал, и это ничего у меня не получается", я перепробовал множество вариантов, прежде чем идти сюда за советом. Примеры приводить не стал, иба не хотел разводить бестолковый флейм. Да, еще, у меня нет возможности "пробовать", сервак боевой.

Аватара пользователя
serge
майор
Сообщения: 2131
Зарегистрирован: 2006-07-30 15:34:14
Откуда: Саратов
Контактная информация:

Re: Ведение статистики входящих - Exim+MySQL

Непрочитанное сообщение serge » 2008-01-19 15:36:22

Зря ты так на комрада :roll: Не думаю что он тебе зла хотел.
Тыкнуть в ман, как говоришь, в конечном результате полезней для тебя же, чем тыкнуть в ответ. Да и не всегда есть готовые ответы, что-то делать и пробовать только для того чтобы ответить на форуме... не думаю что у многих на это есть время. На нетипичные вопросы зачастую только указываеться направление в котором стоит двигаться.
Про "ярлыки"... если что-то пробуешь, то обычно в первом посте с этого и начинают. Типа я попробовал так, так и вот так и ничего не вышло, поэтому я тут. Т.к. ничего об этом не было сказано, логично сделать вывод что ничего не пробовалось.
:P

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35019
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Ведение статистики входящих - Exim+MySQL

Непрочитанное сообщение Alex Keda » 2008-01-19 17:06:00

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

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Ведение статистики входящих - Exim+MySQL

Непрочитанное сообщение dikens3 » 2008-01-19 21:32:48

Подскажите, как должен выглядеть ACL в acl_smtp_data чтобы в MYSQL писались только входящие для local_domains (она типа domainlist local_domains=vasya.ru : petya.ru : zina.ru) ? Т.е. в acl_smtp_data есть строка "писать все в мускул", но хотелось бы, чтобы писалась только входящая корреспонденция.
я перепробовал множество вариантов, прежде чем идти сюда за советом.
Вот из 1-го не следует второе.

А вообще если нужна помощь нужно более чётко описывать, что пробовал, что получилось и что нет. И что нужно в конце концов.

Могу сказать, что у меня есть готовое решение, но оглашать его не буду, т.к. несовсем корректно сделано (стыдно т.е. :-) )
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Alex2008
проходил мимо
Сообщения: 3
Зарегистрирован: 2008-01-16 22:48:40

Re: Ведение статистики входящих - Exim+MySQL

Непрочитанное сообщение Alex2008 » 2008-01-20 13:50:43

Прошу прощения за грубость, если кого обидел, сделано сейчас так:

Макрос

Код: Выделить всё

STAT_ADD=INSERT INTO stat (d,sender,recipient,size,shost) values \
        (now(),'${quote_mysql:$sender_address}',\
        '${quote_mysql:$recipients}',\
        $message_size,'${quote_mysql:$sender_host_address}')
CONFDIR = /usr/local/etc/exim        
в acl_check_data:

Код: Выделить всё

  warn  condition       = ${lookup{${lc:$sender_address_domain}}lsearch{CONFDIR/send_domains}{no}{yes}}
   set  acl_m1          = ${lookup mysql{STAT_ADD}}
Если есть более, эллегантное решение, буду только рад.

Оффтоп:
А вообще предыстория всего этого такова. Поставило руководство считать трафик по юзверям, сделана была связка squid+ntlm, так же работает ipcad
1. После ротации лога squid, запускается перловый скрипт, который складирует в базу лог сквида и проставляет соотвествие ip-login (ну вот такие у меня юзеры, ip-шнеки меняют как перчатки)
2. далее обрабатывается лог ipcad, причем проксевый траф не учитывается, он вообще самим ipcad -oм рубится :), причем траф с него пишется уже по логину юзера так же детализируется по некоторым портам (ICQ, MailAgent и пр. всего с десяток)
3. Скрипт, который формирует детальную статистику посещений сайтов, т.к. в базе это хранить не выгодно (потом тормоза при просмотре случаются), оно все зипуется в файлы, т.е. на 250 с лишним человеко-лиц, получается примерно 6 мегов
4. Скрипт, рассовывает трафф по отделам и поддтирает все временные таблицы, нужен в основном, чтобы при просмотре было поменьше тормазов, так же его функция еще и переместить траф в архивные таблицы, если начался новый месяц.

Ну, и, конечно, перед всем этим безобразием, стартует скрипт, который делает бакап базы, снимок ipcad, зипует и складывает в папочку, где хранятся бакапы, а затем выдергивает из AD список всех пользователей (по типу имя-логин), принадлежащих группе inet (т.е. которым ваще разрешен инет)

Ну а далее php, веб морда. Дак и вот, мыльный траф просто считался на сервак, дак мое руководство решило, что сие не есть гуд, и поставило задачу реализовать детализацию: кому-сколько-объем.
Щас написан скриптик перловый, которые из базы эту (мыльную) стату выгребает, рассовывает по юзверям, заодно считатет спам.

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

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Ведение статистики входящих - Exim+MySQL

Непрочитанное сообщение dikens3 » 2008-01-20 20:37:45

Alex2008 писал(а):Приветствую, уважаемые!
Подскажите, как должен выглядеть ACL в acl_smtp_data чтобы в MYSQL писались только входящие для local_domains (она типа domainlist local_domains=vasya.ru : petya.ru : zina.ru) ? Т.е. в acl_smtp_data есть строка "писать все в мускул", но хотелось бы, чтобы писалась только входящая корреспонденция.
Заранее, спасибо.
acl_smtp_rcpt:

Код: Выделить всё

  warn   domains       = +local_domains
              set acl_mXX = 999
acl_smtp_data:

Код: Выделить всё

  warn   condition     = ${if eq{$acl_m1}{999}}
          set acl_m19   = ${lookup mysql{MYSQL_LOGDATA_INCOMING}}
Как-то так сложилось. что нельзя использовать в acl_smtp_date конструкцию domains = xxx
Приходится изголяться.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.