LINUX.ORG.RU

Сообщения Aborigen1020

 

Дублируются письма, Postfix

Всем привет! Имеется созданный файл recipient_bcc и подключен в Postfix, письма дублируются, все успешно.

Однако к одному пользователю, пусть будет lololo@DOMAIN2 может придти две копии одного письма. Пытаюсь отловить кто виноват, но не могу.

Получаю почту с внешних imap-серверов c помощью fetchmail, затем ее принимает связка postfix-dovecot-amavis-SA-Roundcube, обслуживают два домена: DOMAIN1 и DOMAIN2.

содержимое файла recipient_bcc:

someuser@DOMAIN1 someuser@DOMAIN2
lololo@DOMAIN1 lololo@DOMAIN2
....
и еще несколько записей, которые не ведут на lololo@somedomain2.ru

Что может заставить postfix дважды отправить одно письмо? Как диагностировать такое поведение?

Кусок лога для такого письма:

Jul  2 11:45:17 mail postfix/postscreen[20257]: CONNECT from [127.0.0.1]:38294 to [127.0.0.1]:25
Jul  2 11:45:17 mail postfix/postscreen[20257]: WHITELISTED [127.0.0.1]:38294
Jul  2 11:45:17 mail postfix/smtpd[20258]: connect from localhost[127.0.0.1]
Jul  2 11:45:17 mail postfix/postscreen[20257]: CONNECT from [127.0.0.1]:38298 to [127.0.0.1]:25
Jul  2 11:45:17 mail postfix/postscreen[20257]: WHITELISTED [127.0.0.1]:38298
Jul  2 11:45:17 mail postfix/smtpd[20260]: connect from localhost[127.0.0.1]
Jul  2 11:45:17 mail postfix/smtpd[20260]: disconnect from localhost[127.0.0.1] helo=1 mail=1 quit=1 commands=3
Jul  2 11:45:17 mail postfix/smtpd[20258]: disconnect from localhost[127.0.0.1] ehlo=1 rset=1 quit=1 commands=3
Jul  2 11:45:18 mail postfix/postscreen[20257]: CONNECT from [127.0.0.1]:38310 to [127.0.0.1]:25
Jul  2 11:45:18 mail postfix/postscreen[20257]: WHITELISTED [127.0.0.1]:38310
Jul  2 11:45:18 mail postfix/smtpd[20260]: connect from localhost[127.0.0.1]
Jul  2 11:45:18 mail postfix/smtpd[20260]: EE5003088856: client=localhost[127.0.0.1]
Jul  2 11:45:19 mail postfix/cleanup[20269]: EE5003088856: message-id=<1343347328.510716.1562053430221.JavaMail.tomcat55@ugr-back-notifier2>
Jul  2 11:45:19 mail postfix/qmgr[13877]: EE5003088856: from=<merchants@yamoney.ru>, size=12685, nrcpt=2 (queue active)
Jul  2 11:45:19 mail postfix/smtpd[20260]: disconnect from localhost[127.0.0.1] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
Jul  2 11:45:20 mail postfix/10025/smtpd[20285]: connect from localhost[127.0.0.1]
Jul  2 11:45:20 mail postfix/10025/smtpd[20286]: connect from localhost[127.0.0.1]
Jul  2 11:45:20 mail postfix/10025/smtpd[20285]: 57E793088857: client=localhost[127.0.0.1]
Jul  2 11:45:20 mail postfix/cleanup[20269]: 57E793088857: message-id=<1343347328.510716.1562053430221.JavaMail.tomcat55@ugr-back-notifier2>
Jul  2 11:45:20 mail postfix/10025/smtpd[20286]: 616983088858: client=localhost[127.0.0.1]
Jul  2 11:45:20 mail postfix/cleanup[20288]: 616983088858: message-id=<1343347328.510716.1562053430221.JavaMail.tomcat55@ugr-back-notifier2>
Jul  2 11:45:20 mail postfix/10025/smtpd[20285]: disconnect from localhost[127.0.0.1] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
Jul  2 11:45:20 mail postfix/qmgr[13877]: 616983088858: from=<merchants@yamoney.ru>, size=14305, nrcpt=1 (queue active)
Jul  2 11:45:20 mail postfix/qmgr[13877]: 57E793088857: from=<merchants@yamoney.ru>, size=14297, nrcpt=1 (queue active)
Jul  2 11:45:20 mail amavis[16664]: (16664-10) Passed CLEAN {RelayedInternal}, MYNETS LOCAL [127.0.0.1]:38310 [77.75.154.204] <merchants@yamoney.ru> -> <lololo@DOMAIN1>, Queue-ID: EE5003088856, Message-ID: <1343347328.510716.1562053430221.JavaMail.tomcat55@ugr-back-notifier2>, mail_id: UM4M48D-pW-f, Hits: 4.124, size: 12684, queued_as: 57E793088857, dkim_sd=mail:yamoney.ru, dkim_new=dkim:DOMAIN1, 1241 ms, Tests: тут тесты
Jul  2 11:45:20 mail postfix/10025/smtpd[20286]: disconnect from localhost[127.0.0.1] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
Jul  2 11:45:20 mail postfix/amavis/smtp[20278]: EE5003088856: to=<lololo@DOMAIN1>, relay=127.0.0.1[127.0.0.1]:10024, delay=1.6, delays=0.27/0.03/0/1.3, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 57E793088857)
Jul  2 11:45:20 mail amavis[17232]: (17232-11) Passed CLEAN {RelayedInternal}, MYNETS LOCAL [127.0.0.1]:38310 [77.75.154.204] <merchants@yamoney.ru> -> <lololo@DOMAIN2>, Queue-ID: EE5003088856, Message-ID: <1343347328.510716.1562053430221.JavaMail.tomcat55@ugr-back-notifier2>, mail_id: HQM4G06xGdhJ, Hits: 4.124, size: 12684, queued_as: 616983088858, dkim_sd=mail:yamoney.ru, dkim_new=dkim:DOMAIN1, 1304 ms, Tests: [и тут тесты]
Jul  2 11:45:20 mail postfix/amavis/smtp[20277]: EE5003088856: to=<lololo@DOMAIN2>, relay=127.0.0.1[127.0.0.1]:10024, delay=1.6, delays=0.27/0.01/0/1.4, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 616983088858)
Jul  2 11:45:20 mail postfix/qmgr[13877]: EE5003088856: removed
Jul  2 11:45:21 mail postfix/pipe[20290]: 57E793088857: to=<lololo@DOMAIN1>, relay=dovecot, delay=0.82, delays=0.13/0.08/0/0.61, dsn=2.0.0, status=sent (delivered via dovecot service)
Jul  2 11:45:21 mail postfix/qmgr[13877]: 57E793088857: removed
Jul  2 11:45:21 mail postfix/pipe[20289]: 616983088858: to=<lololo@DOMAIN2>, relay=dovecot, delay=0.83, delays=0.11/0.07/0/0.65, dsn=2.0.0, status=sent (delivered via dovecot service)
Jul  2 11:45:21 mail postfix/qmgr[13877]: 616983088858: removed

 

Aborigen1020
()

Roundcube c уведомлением?

Всем привет!

Нашел плагин для роундкуба, для отображения нормальных уведомлений о новой почте: https://plugins.roundcube.net/packages/kitist/html5_notifier

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

В FF уведомления включил, однако на странице roundcube не возникает запроса для включения уведомлений, как и самого уведомления.

В чем может быть причина?

 , ,

Aborigen1020
()

GUI для Postgresql?

Всем привет!

Подскажите, может, имеется ли в природе некий GUI, для подключения к существующей базе в Postgresql? Но не для администрирования, а для запросов в таблицу, возможностью в этом гуе создавать кнопки со своими запросами, и т.д.

Наверное, многого хочу?

 ,

Aborigen1020
()

Выбор дистрибутива вместо Debian + XFCE

Всем привет!

Вот у меня есть некий объем компов в организации, на всех стоит либо Ubuntu 15-16+xfce/gnome, либо Debian+XFCE/gnome. Хочу всех привести к единообразию, в т.ч. и в графическом окружении, и в режимах обновления, к однообразию проблем и методике их решения.

Из требований deb-семейство, стабильная работа и стабильность системы при обновлении, нетребовательность к ресурсам (компы офисные 2-4-6 гб рам), а из софта - 1с, браузер, LO, hplip, vnc, psi, да и наверное все.

Для себя выбор остановил на Debian+XFCE. Однако, какие могут быть доводы в сторону его конкурентов типа Ubuntu+LXDE/mate/xfce?

Какие дистры можно попробовать обкатать?

 , , , ,

Aborigen1020
()

Мониторинг доступности интернета на bash

Всем привет!

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

Нашел скрипт, который логирует недоступность заданного хоста и пишет об этом в лог. У меня есть gsm-шлюз, и я подключил отправку себе смс при падении интернета.

Выглядит все это вот так:

#!/bin/bash
PHONES="999999999"                                            
HTTP=http://192.168.1.221:9090/sendsms                          #адрес на шлюзе для запроса
USER=user                                                       #пользователь для авторизации на шлюзе
PASS=password
hostname=$(/bin/hostname -f)
send_bad_msg ()
{
for PHONE in $PHONES
do
curl -s -X POST -d "username=$USER&password=$PASS&phonenumber=$PHONE&message=$hostname Internet link is DOWN" $HTTP? > /dev/null
done
}
send_good_msg ()
{
for PHONE in $PHONES
do
curl -s -X POST -d "username=$USER&password=$PASS&phonenumber=$PHONE&message=$hostname Connection to Internet restored" $HTTP? > /dev/null
done
}
# Скрипт в бесконечном цикле пингует удалённый хост в инете с интервалом 60 сек
# при первой удачной или неудачной попытке пинга пишется соответствующее сообщение в лог
# следующая запись в лог делается только при изменении состояния связи
# инициализация переменной результата, по умолчанию считается, что связь уже есть
result=connected
# смена текущего каталога перед записью лога
cd /var/log
echo `date +%Y.%m.%d__%H:%M:%S`' Run script ' >> ping.log
# бесконечный цикл
while [ true ]; do
    # пинг хоста с последующей проверкой на ошибки
    errorscount="$(ping -c 2 -W 4 192.168.1.24 2<&1| grep -icE 'unknown|expired|unreachable|time out|100% packet loss')"
    # если предыдущий пинг был удачен, а текущий нет, т.е. вывод ping содержит ошибки, то
    if [ "$result" = connected -a "$errorscount" != 0 ]; then
    # запоминаем результат текущего пинга    # запоминаем результат текущего пинга
    result=disconnected
    # и пишем в лог время разрыва соединения
    echo `date +%Y.%m.%d__%H:%M:%S`' * connection break' >> ping.log 
	sleep 30
	if [ "$errorscount" != 0 ]; then 
		send_bad_msg
	fi
    fi
    # если предыдущий пинг был неудачен, а текущий успешен, то
    if [ "$result" = disconnected -a "$errorscount" = 0 ]; then
    # запоминаем результат текущего пинга
    result=connected
    # и пишем в лог время установки соединения
    echo `date +%Y.%m.%d__%H:%M:%S`' connection restore' >> ping.log && send_good_msg
    fi
	sleep 10
done

Иногда (чаще всего в 05:06 утра) Интернет отключается на 30 секунд, приходит смс, все как положено. Однако 30 секунд в 5 утра - это не критичное событие, и я хотел отложить отправку смс, если пинга нет менее 30 секунд.

Как понимаю, есть два пути решения - или увеличить кол-во пингов, необходимых для проверки соединения, либо ввести какой-то счетчик, который будет считать количество состояний для $errorscount, и отталкиваясь от счетчика, отправлять смс.

Однако сейчас я поставил просто таймаут.

    echo `date +%Y.%m.%d__%H:%M:%S`' * connection break' >> ping.log 
	sleep 30
	if [ "$errorscount" != 0 ]; then 
		send_bad_msg
	fi
    fi

Прошу подсказать, насколько это корректное решение, относительно решения текущего вопроса?

Странно, сделал code=Bash /code, а подсветки не появилось

 ,

Aborigen1020
()

Как пересылать почту в локальных доменах?

Всем привет.

Имею постфикс, и еще какой-то список почтового софта, обслуживает это все два внутренних домена.

Почта внешняя забирается с двух внешних почтовых серверов.

Внутренняя почта ходит нормально.

Настраиваю пересылку с одного почтового ящика на другой в recipient_bcc:

user@domain1 user@domain2
user1@domain1 user1@domain2

И почта, пришедшая извне (например с info@sdfsobaka.ru) на user@domain1, пересылается на user@domain2.

Но когда пользователь user999 из @domain1, отправляет внутреннюю почту на user@domain1, пересылки на user@domain2 не происходит.

Почему? В чем разница для postfix, откуда отправляют письмо, что он не применяет для него настроек пересылки?

 

Aborigen1020
()

Одинаковый user для peer и trunk?

Всем привет!

Ищу ошибку в конфигурациях двух астерисков. Первый астериск старый 1.8, chan_sip, второй - новенький 15, уже c pjsip.

Выражается ошибка периодическом

chan_sip.c:22617 handle_request_invite: Failed to authenticate device <sip:3041@192.168.2.72>
на первом сервере, а решается core reload на втором сервере. Регистрация в этот момент неактивна на втором сервере, с pjsip.

Обнаружил, что один из астерисков, который на chan_sip, имеет в конфигурации одного пользователя и того же пользователя для trunk и peer.

Насколько критична данная ошибка, и ошибка ли это вовсе?

 , , , ,

Aborigen1020
()

Разница между relayhost и transport_maps

Всем привет! Подскажите, в чем принципиальная разница в этих двух способах пересылки писем? Речь о relayhost и transport_maps

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

Спасибо.

 , ,

Aborigen1020
()

Перезапуск postgresql

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

Mar 26 06:49:07 mail postgres[1396]: [1-1] 2019-03-26 06:49:07.477 +04 [1396] СООБЩЕНИЕ:  завершение вывода в stderr
Mar 26 06:49:07 mail postgres[1396]: [1-2] 2019-03-26 06:49:07.477 +04 [1396] ПОДСКАЗКА:  В дальнейшем протокол будет выводиться в "syslog".
Mar 26 06:49:07 mail postgres[1616]: [2-1] 2019-03-26 06:49:07.538 +04 [1616] СООБЩЕНИЕ:  работа системы БД была прервана; последний момент работы: 2019-03-26 06:43:50 +04
Mar 26 06:49:07 mail postgres[1617]: [2-1] 2019-03-26 06:49:07.539 +04 [1617] [н/д]@[н/д] СООБЩЕНИЕ:  неполный стартовый пакет
Mar 26 06:49:12 mail postgres[1396]: [2-1] 2019-03-26 06:49:12.849 +04 [1396] СООБЩЕНИЕ:  получен запрос на "вежливое" выключение
Mar 26 06:49:22 mail postgres[1616]: [3-1] 2019-03-26 06:49:22.068 +04 [1616] СООБЩЕНИЕ:  система БД была остановлена нештатно; производится автоматическое восстановление
Mar 26 06:49:22 mail postgres[1616]: [4-1] 2019-03-26 06:49:22.254 +04 [1616] СООБЩЕНИЕ:  неверная длина записи по смещению 1/9BFE0AC0: ожидалось 24, получено 0
Mar 26 06:49:22 mail postgres[1616]: [5-1] 2019-03-26 06:49:22.254 +04 [1616] СООБЩЕНИЕ:  данные REDO не требуются
Mar 26 06:49:22 mail postgres[1616]: [6-1] 2019-03-26 06:49:22.858 +04 [1616] СООБЩЕНИЕ:  Защита от зацикливания мультитранзакций сейчас включена
Mar 26 06:49:22 mail postgres[2071]: [3-1] 2019-03-26 06:49:22.866 +04 [2071] СООБЩЕНИЕ:  выключение
Mar 26 06:49:23 mail postgres[1396]: [3-1] 2019-03-26 06:49:23.591 +04 [1396] СООБЩЕНИЕ:  система БД выключена

Как вижу, процесс запуска был почему то остановлен. Судя по всему, процесс был остановлен «вежливо» с помощью systemd. Открываю postgresql.service и вижу:

[Service]
Type=oneshot
ExecStart=/bin/true
ExecReload=/bin/true

Не вижу установленного параметра Timeout, который предлагается использовать на сайте postgrespro:

Особого внимания заслуживает значение тайм-аута. 
На момент написания этой документации по умолчанию в systemd принят тайм-аут 90 секунд, так что процесс, не сообщивший о своей готовности за это время, будет уничтожен. 
Но серверу PostgreSQL при запуске может потребоваться выполнить восстановление после сбоя, так что переход в состояние готовности может занять гораздо больше времени.
Предлагаемое значение 0 отключает логику тайм-аута.

Однако этот параметр не требуется, если тип сервиса установлен в oneshot :

Disabled by default, when service with Type=oneshot is used. 

По какой же причине systemd перезапустила сервис?

 ,

Aborigen1020
()

Книги по Icinga2

Существует ли сабж на русском языке? Для zabbix видел, для icinga2 нет. В оригинале читать долго, надо быстро уловить суть.

Призываю dada, может что порекомендуете, если встречали?

Спасибо.

 , , ,

Aborigen1020
()

mduuid - disk not found

Всем привет! Решил проверить, что с рейдом-1 на одной тестовой машинке, рейд на двух дисках, рейд софтовый mdadm. Загружаюсь с одного диска - все ок. Загружаюсь со второго диска:

error: mduuid {value} not found 
и далее загружается grub rescue.

Пробовал установить груб повторно на дисках, для этого делал

dpkg-reconfigure grub-pc
, и вручную, через grub-install + grub-update. Ошибок нет, как пишет вывод команды, все выглядит штатно.

Посмотрел uuid самого массива, через mdadm --detail /dev/md0 , такой же uuid прописан в grub.cfg. Груб второй версии.

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

Что еще можно глянуть? Спасибо.

 , ,

Aborigen1020
()

Какие нужны разрешения zabbix-agent для мониторинга asterisk?

Всем привет! Вопрос в развернутом виде:

Хочу вот получить от Asterisk значение активных звонков в zabbix, для этого в агенте на астере указываю

UserParameter=asterisk.activecalls,sudo rasterisk -x "core show calls" | grep "active" | cut -c 1-2

Далее в sudoers указываю:

zabbix  ALL=(ALL)       NOPASSWD: /usr/sbin/asterisk

И при попытке получения содержимого ключа получаю:

sudo: no tty present and no askpass program specified

попробовал копипаст отсюда:

https://www.linux.org.ru/forum/development/13018354#comment-13022229 (комментарий) Не помогло.

Как понимаю, не хватает чего-то в sudoers. Но что именно требуется?

Можно просто указать

zabbix  ALL=(ALL)       NOPASSWD:ALL 
или запускать zabbix от рута, но хочется разобраться, если кто может подсказать направление, буду благодарен.

 , ,

Aborigen1020
()

Очередной openvpn, и каскад чего-то

Всем привет. Ситуация такая, есть локалка, в ней есть почтовик. Переключаюсь на другой шлюз в лок.сети, который (через 3г модем) подключается к openvpn, который физически очень далеко. По сути 2 шлюза. Расшариваю сети, и... Почта ходит только входящая, исходящая никак не пробьется наружу. 25 порт на внутреннем шлюзе в сети открыл, на внешнем (с openvpn) вроде тоже, но телнет с почтовика на внешние адреса не идет. Полагаю, что проблема в отсутствии нужной строки в iptables на внешнем шлюзе с OVPN.

Подскажите, пожалуйста, чего тут не хватает?

# Generated by iptables-save v1.6.0 on Thu Nov  8 07:29:28 2018
*nat
:PREROUTING ACCEPT [12553:1043578]
:INPUT ACCEPT [2647:229029]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [808:47904]
-A PREROUTING -p tcp -m tcp --dport 25 -j DNAT --to-destination 10.8.0.6:25
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Nov  8 07:29:28 2018
# Generated by iptables-save v1.6.0 on Thu Nov  8 07:29:28 2018
*filter
:INPUT ACCEPT [28857:4740211]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [33039:24682146]
:f2b-ssh - [0:0]
:f2b-sshd - [0:0]
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 22 -j f2b-ssh
-A INPUT -p tcp -m multiport --dports 22 -j f2b-sshd
-A INPUT -i tun+ -j ACCEPT
-A INPUT -i tap+ -j ACCEPT
-A FORWARD -i eth+ -o tun+ -p tcp -m tcp --dport 25 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.8.0.0/24 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i tun+ -j ACCEPT
-A FORWARD -i tap+ -j ACCEPT
-A f2b-ssh -s 81.139.61.222/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-ssh -j RETURN
-A f2b-sshd -s 81.139.61.222/32 -j REJECT --reject-with icmp-port-unreachable
-A f2b-sshd -j RETURN
COMMIT

telnet с почтовика на самого себя: есть

telnet c почтовика на 10.8.0.6 (шлюз внутренний с OVPN):

telnet c почтовика на свой внешний ip: нет

telnet извне на mx-запись почтовика успешно проходит (падает в тот самый почтовик, который в локалке)

Update: обнаружено, что если убрать

-A PREROUTING -p tcp -m tcp --dport 25 -j DNAT --to-destination 10.8.0.6:25
то исходящие коннекты с почтового сервера появляются, но пропадают входящие соединения (что логично)

 , , ,

Aborigen1020
()

Обработка переменной

Всем привет!

есть переменная вида:

ResPF=$(/usr/sbin/pflogsumm {.... список параметров ....} /var/log/mail.log 2>/dev/null

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

Как это обойти? Есть ли какой-то параметр, который мог бы позволить сохранить ту переменную не как строку, а как вывод результата со всеми переносами и пробелами?

Такой вывод получается обрабатывать грепом:

Postfix log summaries for Oct  2

Grand Totals
------------
messages

      2   received
      1   delivered
      0   forwarded
      0   deferred
      2   bounced
      0   rejected (0%)
      0   reject warnings
      0   held
      0   discarded (0%)

   3386   bytes received
    863   bytes delivered
      1   senders
      1   sending hosts/domains
      1   recipients
      1   recipient hosts/domains

А такой уже нет:

 Postfix log summaries for Oct 2 Grand Totals ------------ messages 2 received 1 delivered 0 forwarded 0 deferred 2 bounced 0 rejected '(0%)' 0 reject warnings 0 held 0 discarded '(0%)' 3386 bytes received 863 bytes delivered 1 senders 1 sending hosts/domains 1 recipients 1 recipient hosts/domains 

 

Aborigen1020
()

Статистика postfix на bash для zabbix

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

Первый вариант логики скрипта был таков: собираем стату по cron с помощью Pflogsumm раз в 5 и 10 минут, результат записываем в два разных файла. Далее скрипт на баше прочесывает результаты двух файлов (с результатами от pflogsumm), сверяет разницу между значениями, делает вычисления, получившиеся результаты пишет в файлики, которые читает заббикс-агент. Все работает, пишет, но проблема - каждые 10 минут я получаю 0 по всем параметрам, это связано с тем, что результат за 5 и 10 минут совпал по выводу.

Решил переписать, и сразу немного облагородить текст скрипта. Хотел уйти от постоянной сверки старых и новых значений, но не могу. В 00 происходит смена суток, в это время pflogsumm пересоберет статистику, уже за новый день. Проблема получается, если в 23:55 у меня было значение 50 rejected, а в 00:00 значение rejected = 1, и тогда я получу 49 reject'ов в 00:00, что неправильно.

Первая версия скрипта:

## BYTES RECEIVED
TEMP_RECEIVED=$(/bin/grep "bytes received" /tmp/postfix/temp5 | awk '{print $1}')
DATY_RECEIVED=$(/bin/grep "bytes received" /tmp/postfix/temp10 | awk '{print $1}')
DELTA1_RECEIVED=$(($TEMP_RECEIVED - $DATY_RECEIVED))
DELTA2_RECEIVED=$(($DATY_RECEIVED - $TEMP_RECEIVED))
if [ "$TEMP_RECEIVED" -eq "$DATY_RECEIVED" ]
then
        echo "0" > /tmp/postfix/postfix.bytes.received
else
        if (($TEMP_RECEIVED > $DATY_RECEIVED))
        then
                echo $DELTA1_RECEIVED > /tmp/postfix/postfix.bytes.received
        else
                echo $DELTA2_RECEIVED > /tmp/postfix/postfix.bytes.received
        fi
fi

И так для каждого параметра, который мониторится.

Новая версия предполагает:

##Old data of Received
BYTES_R=$(< /tmp/postfix/postfix.bytes.received)

##Get new values
ResPF=$(/usr/sbin/pflogsumm -h 0 -u 0 -d today --bounce_detail=0 --deferral_detail=0 --reject_detail=0 --smtpd_warning_detail=0 --no_no_msg_size /var/log/mail.log)
## Transmitt new values in variables
BYTES_RN=$(/bin/grep "bytes received" $ResPF | awk '{print $1}')

##Сравниваем старые и новые значения
if [ "$BYTES_RN -ne $BYTES_R" ]
then
        echo $((BYTES_RN - BYTES_R)) | tr -d \- > /tmp/postfix/postfix.bytes.received
else
        echo "0" > /tmp/postfix/postfix.bytes.received
fi

Пример неправильного вывода из скрипта - когда старое значение = 50, новое значение в 00:00 = 1, в графике заббикса я получу 49, а должен 1. Как элегантно обсчитать это вот все безобразие, которое у меня навелосипедилось?

 , , ,

Aborigen1020
()

Cron, выполнение заданий каждые 5 и 10 минут

Всем привет! Имею два скрипта в cron, запись в кронтаб выглядит так:

*/5 * * * * /etc/zabbix/scripts/5pflgsmm.sh
*/10 * * * * /etc/zabbix/scripts/10pfllgsmm.sh

Однако, успешно отрабатывает только пятиминутный скрипт.

Вижу, что попытка запуска есть (syslog):


CRON[16090]: (root) CMD (/etc/zabbix/scripts/5pflgsmm.sh)
Sep  6 12:10:01 

CRON[16091]: (root) CMD (/etc/zabbix/scripts/10pfllgsmm.sh)

Скрипты идентичные по написанию, просто одна строка различием в 1 символ. вручную отрабаывает без проблем.

что можно еще проверить?

 , ,

Aborigen1020
()

обновление значений в файле, bash

Всем привет! Пытаюсь сколхозить нечто вроде сборщика статистики postfix, и отображения статистики в графике, для этого вооружился pflogsumm и zabbix. Из вывода pflogsumm извлекаю нужные значения, передаю их в заббикс, вроде все ок. Однако pflogsumm делает статистику за день, и сразу записывает текущие (максимальные значения). Таким образом получается, что если для какого-то значения не было изменений, например, 3 rejected в 5 утра, то и в 05:05, и в 06:10 в графике будет указано всё те же 3 rejected.

Предполагаю, что нужно какое-то сравнение строк в нужных местах. Однако, как провернуть это, не могу представить. Кто-то может подсказать верное направление?

примерный вывод pflogsumm, собираю по крону каждые 5мин

Grand Totals
------------
messages

    302   received
      9   delivered
      0   forwarded
      3   deferred  (88  deferrals)
    574   bounced
      0   rejected (0%)
      0   reject warnings
      0   held
      0   discarded (0%)

 209133   bytes received
   6024   bytes delivered
      6   senders
      5   sending hosts/domains
      1   recipients
      1   recipient hosts/domains


Per-Day Traffic Summary
-----------------------
    date          received  delivered   deferred    bounced     rejected
    --------------------------------------------------------------------
    Aug 26 2018         1          1          0          1
    Aug 27 2018       110          2         12        211
    Aug 28 2018       181          2         22        356
    Aug 29 2018         4          1         20          2
    Aug 30 2018         4          2         21          2
    Aug 31 2018         2          1         13          2

Per-Hour Traffic Daily Average
------------------------------
    time          received  delivered   deferred    bounced     rejected
    --------------------------------------------------------------------
    0000-0100           2          0          1          4          0
    0100-0200           2          0          1          4          0
    0200-0300           2          0          1          4          0
    0300-0400           2          0          1          4          0
    0400-0500           2          0          1          4          0
    0500-0600           2          0          1          4          0
    0600-0700           4          1          1          6          0
    0700-0800           2          0          1          4          0
    0800-0900           2          0          1          4          0
    0900-1000           2          0          1          4          0
    1000-1100           3          0          1          4          0
    1100-1200           2          0          1          4          0
    1200-1300           2          0          1          4          0
    1300-1400           2          0          1          4          0
    1400-1500           2          0          1          3          0
    1500-1600           2          0          1          3          0
    1600-1700           2          0          1          4          0
    1700-1800           2          0          1          4          0
    1800-1900           2          0          1          4          0
    1900-2000           2          0          1          4          0
    2000-2100           2          0          1          4          0
    2100-2200           2          0          1          4          0
    2200-2300           2          0          1          4          0
    2300-2400           2          0          1          4          0

smtp delivery failures: none

Fatal Errors: none

Panics: none

Master daemon messages: none

Чем дергаю данные в zabbix сейчас

UserParameter=postfix.bytes.received,grep "bytes received" /tmp/postfix_stat_temp | awk '{print $1}'
UserParameter=postfix.bytes.delivered,grep "bytes delivered" /tmp/postfix_stat_temp | awk '{print $1}'
UserParameter=postfix.received.count,grep -m 1 'received' /tmp/postfix_stat_temp | awk '{print $1}'
UserParameter=postfix.delivered.count,grep -m 1 'delivered' /tmp/postfix_stat_temp | awk '{print $1}'

 , , , ,

Aborigen1020
()

Fail2ban срабатывает невовремя

Всем привет! Банальность какая-то, но не могу понять с чем связано именно такое поведение:

jail.local:

...
bantime = 1209600
findtime = 86400
maxretry = 1

лог asterisk:

[2018-05-02 13:15:54] NOTICE[2682] chan_sip.c: Registration from '"908" <sip:908@192.168.1.35:5060>' failed for '185.22.152.68:5467' - Wrong password
[2018-05-02 13:15:54] NOTICE[2682] chan_sip.c: Registration from '"908" <sip:908@192.168.1.35:5060>' failed for '185.22.152.68:5467' - Wrong password
[2018-05-02 13:15:54] NOTICE[2682] chan_sip.c: Registration from '"908" <sip:908@192.168.1.35:5060>' failed for '185.22.152.68:5467' - Wrong password

лог fail2ban:

2018-05-02 13:08:02,440 fail2ban.actions[2996]: WARNING [asterisk] Unban 185.22.152.68
2018-05-02 13:15:55,001 fail2ban.actions[2996]: WARNING [asterisk] Ban 185.22.152.68

Неужели fail2ban сканирует лог сервиса раз в секунду?

 , ,

Aborigen1020
()

HAST на nas4free

Всем привет! Кому-то удалось нормально завести HAST под nas4free через WebGUI? Ноды не определяют свои роли после описания ресурсов и запуска службы, висят в init.

Захожу по ssh, даю команду

hastctl role primary data1

получаю отлуп:

kernel: pid 3947 (hastd), uid 0: exited on signal 6
hastd[3948]: [data1] (primary) Descriptor 5 is open (socket), but should be closed.
hastd[3948]: [data1] (primary) Aborted at function descriptors_assert, file /usr/src/sbin/hastd/hastd.c, line 303.
hastd[2988]: [data1] (primary) Worker process killed (pid=3948, signal=6).

Но если всю операцию делать не через гуй, то роли успешно раздаются и синкаются, и все вроде ОК. Но ведь это не дело до первой перезагрузки, так как эти настройки не внесены в xml конфиг nas4free.

 ,

Aborigen1020
()

Менять или не менять?

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

Если кратко, то: стоит ли менять непыльную работу без большой нагрузки (без всяких дедлайнов и с полной свободой), но без определенной ветки развития (нет в организации узконаправленных сервисов, сервисов с высокой нагрузкой) на более пыльную и однонаправленную (обслуживание сети серваков LAMP по одному региону)?

Если не кратко, то: хочется получать от работы рост и развитие, ну и чтобы на поесть хватало. последнему условию удовлетворяет и текущая и прогнозируемая работенка (вроде как?). Роста (карьерного) в текущем месте нет и не может быть, в новом месте работает команда админов, возможно, там есть куда вырасти если что.

В данный момент я могу изучать и ковырять вообще почти любые штуки - от сетевых извращений (правда в разумных пределах SOHO) до zfs, ресурсы (время, железо) на это есть. И это считаю неплохо, но получается, что прыгаю по поверхности, изучая новые для меня вещи по гайдам из сети.

А предложенная вакансия наверное позволит погрузиться более плотно в администрирование linux - как раз то, что очень интересно. Но при этом, я думаю, у меня не будет ресурсов (времени, железа) на получение новых знаний, новых технологий. Это потребуется делать в свободное от работы время, но у меня есть еще одна подработка, где я провожу некоторое время, и там я тоже не смогу построить тестовую среду и строить/ломать в ней какие-то вещи.

Как быть? Что выбрать? Близость к дому и затраты на дорогу не считаю, оба места очень удобны. Предлагаемая вакансия - госконтора, но не сильно крутая (не связанная с оборонкой и всякими прочими НИИ), если это важно.

 , ,

Aborigen1020
()

RSS подписка на новые темы