LINUX.ORG.RU

Сообщения yellowboy

 

Проблемы с звуком в Ubuntu 22 при подключении внешней звуковой карты

Всем привет. Прошу помощи с дебагом ситуации с звуком.

Приобрел внешний аудиоинтерфейс Behringer UMC204HD. Выбрал этот девайс, так как мне попадалсь информация о нормальной работе с Linux, в частности c Ubuntu.

Проблем две:

  1. каждые 7-10 секунд краткосрочное прерывание звука (очень краткосрочное);

  2. если открыть панель pulseaudio, звук просто пропадает.

На встроенном аудио никаких проблем.

Некоторая информация по ситуации:

➜  ~ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04 LTS
Release:	22.04
Codename:	jammy
➜  ~ 
➜  ~ uname -a      
Linux desktop 5.15.0-40-generic #43-Ubuntu SMP Wed Jun 15 12:54:21 UTC 2022 x86_64 x86_64 x86_64 GNU/Linu
➜  ~ cat /proc/asound/cards        
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xdf140000 irq 130
 2 [H2300          ]: USB-Audio - HP Webcam HD 2300
                      Hewlett Packard HP Webcam HD 2300 at usb-0000:00:14.0-1.6, high speed
➜  ~ cat /proc/asound/U192k/stream0
BEHRINGER UMC204HD 192k at usb-0000:00:14.0-2, high speed : USB Audio

Playback:
  Status: Running
    Interface = 1
    Altset = 1
    Packet Size = 144
    Momentary freq = 44100 Hz (0x5.8333)
  Interface 1
    Altset 1
    Format: S32_LE
    Channels: 4
    Endpoint: 0x08 (8 OUT) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us
    Bits: 24
    Channel map: FL FR FC LFE
    Sync Endpoint: 0x84 (4 IN)
    Sync EP Interface: 1
    Sync EP Altset: 1
    Implicit Feedback Mode: No

Capture:
  Status: Running
    Interface = 2
    Altset = 1
    Packet Size = 72
    Momentary freq = 44100 Hz (0x5.8333)
  Interface 2
    Altset 1
    Format: S32_LE
    Channels: 2
    Endpoint: 0x88 (8 IN) (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us
    Bits: 24
    Channel map: FL FR

Конфиги alsa и pulseaudio дефолтные.

 , , , ,

yellowboy
()

Парсинг error logs nginx с использованием fluentbit

Имеем стандартный формат error логов nginx. Требуется помощь с настройкой их парсинга. С access логами разобрался, успешно складываются в Graylog и парсятся. Пример лога:

2020/07/22 22:01:12 [error] 8077#0: *19786178 open() "/www/loc_ssl/cust/Li_NEW/crm/misc/image/content/x60/exterior__img4.jpg" failed (2: No such file or directory), client: 88.88.88.88, server: 123123.ru, request: "GET /cust/Li_NEW/crm/misc/image/content/x60/exterior__img4.jpg HTTP/1.1", host: "123123.ru"

Конфиг парсера:

[PARSER]
    Name   nginx_error
    Format regex
    Regex ^(?<time>.*) \[(?<log_level>\w+)\] (?<pid>\d+).(?<tid>\d+): (?<message>.*), client: (?<remote>.*), server: (?<server>.*), request: (?<request>.*), host: (?<host>.*)$
    Time_Key time
    Time_Format %Y/%m/%d %H:%M:%S

В стандартой поставке парсеров fluentbit для error_logs ничего нету, поэтому допилил что-то найденной в интернетах. На удивление информации именно по error логам nginx практически нет.

 ,

yellowboy
()

Периодически отваливается беспроводное соединение

Имею ноутбук Xiaomi Mi Notebook Air 13.3’ core i5 8250U. На борту Xubuntu 18.04.4 LTS (5.3.0-59-generic).

С случайной периодичностью пропадает связь с беспроводной сетью. При этом иногда через несколько секунд связь восстанавливается, иногда нужно руками переподключиться. При этом судя по иконке wi-fi связь не пропадает.

cat /var/syslog

Jun 26 17:23:41 nobody kernel: [10067.015987] wlp2s0: Connection to AP 5c:d9:98:fe:34:b0 lost
Jun 26 17:20:54 nobody rtkit-daemon[2766]: message repeated 3 times: [ Supervising 9 threads of 6 processes of 1 users.]
Jun 26 17:23:41 nobody wpa_supplicant[1231]: wlp2s0: CTRL-EVENT-DISCONNECTED bssid=5c:d9:98:fe:34:b0 reason=4 locally_generated=1
Jun 26 17:23:41 nobody NetworkManager[1229]: <warn>  [1593181421.2529] sup-iface[0x55a4b9b98a40,wlp2s0]: connection disconnected (reason -4)
Jun 26 17:23:41 nobody NetworkManager[1229]: <info>  [1593181421.2578] device (wlp2s0): supplicant interface state: completed -> disconnected
Jun 26 17:23:41 nobody NetworkManager[1229]: <info>  [1593181421.3587] device (wlp2s0): supplicant interface state: disconnected -> scanning
Jun 26 17:23:49 nobody wpa_supplicant[1231]: wlp2s0: SME: Trying to authenticate with 5c:d9:98:fe:34:b0 (SSID='my-wi-fi-net' freq=2422 MHz)
Jun 26 17:23:49 nobody kernel: [10075.638442] wlp2s0: authenticate with 5c:d9:98:fe:34:b0
Jun 26 17:23:49 nobody kernel: [10075.645062] wlp2s0: send auth to 5c:d9:98:fe:34:b0 (try 1/3)
Jun 26 17:23:49 nobody NetworkManager[1229]: <info>  [1593181429.8226] device (wlp2s0): supplicant interface state: scanning -> authenticating
Jun 26 17:23:49 nobody wpa_supplicant[1231]: wlp2s0: Trying to associate with 5c:d9:98:fe:34:b0 (SSID='my-wi-fi-net' freq=2422 MHz)
Jun 26 17:23:49 nobody kernel: [10075.649398] wlp2s0: authenticated
Jun 26 17:23:49 nobody kernel: [10075.650278] wlp2s0: associate with 5c:d9:98:fe:34:b0 (try 1/3)
Jun 26 17:23:49 nobody wpa_supplicant[1231]: wlp2s0: Associated with 5c:d9:98:fe:34:b0
Jun 26 17:23:49 nobody kernel: [10075.654336] wlp2s0: RX AssocResp from 5c:d9:98:fe:34:b0 (capab=0x411 status=0 aid=1)
Jun 26 17:23:49 nobody kernel: [10075.657054] wlp2s0: associated
Jun 26 17:23:49 nobody wpa_supplicant[1231]: wlp2s0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
Jun 26 17:23:49 nobody NetworkManager[1229]: <info>  [1593181429.8390] device (wlp2s0): supplicant interface state: authenticating -> associating
Jun 26 17:23:49 nobody NetworkManager[1229]: <info>  [1593181429.8409] device (wlp2s0): supplicant interface state: associating -> associated
Jun 26 17:23:50 nobody NetworkManager[1229]: <info>  [1593181430.0527] device (wlp2s0): supplicant interface state: associated -> 4-way handshake
Jun 26 17:23:50 nobody wpa_supplicant[1231]: wlp2s0: WPA: Key negotiation completed with 5c:d9:98:fe:34:b0 [PTK=CCMP GTK=TKIP]
Jun 26 17:23:50 nobody wpa_supplicant[1231]: wlp2s0: CTRL-EVENT-CONNECTED - Connection to 5c:d9:98:fe:34:b0 completed [id=0 id_str=]
Jun 26 17:23:50 nobody wpa_supplicant[1231]: wlp2s0: CTRL-EVENT-SIGNAL-CHANGE above=0 signal=-58 noise=9999 txrate=1000
Jun 26 17:23:50 nobody NetworkManager[1229]: <info>  [1593181430.0628] device (wlp2s0): supplicant interface state: 4-way handshake -> completed

dmesg -T

[Пт июн 26 17:23:41 2020] wlp2s0: Connection to AP 5c:d9:98:fe:34:b0 lost
[Пт июн 26 17:23:49 2020] wlp2s0: authenticate with 5c:d9:98:fe:34:b0
[Пт июн 26 17:23:49 2020] wlp2s0: send auth to 5c:d9:98:fe:34:b0 (try 1/3)
[Пт июн 26 17:23:49 2020] wlp2s0: authenticated
[Пт июн 26 17:23:49 2020] wlp2s0: associate with 5c:d9:98:fe:34:b0 (try 1/3)
[Пт июн 26 17:23:49 2020] wlp2s0: RX AssocResp from 5c:d9:98:fe:34:b0 (capab=0x411 status=0 aid=1)
[Пт июн 26 17:23:49 2020] wlp2s0: associated

Другие беспроводные устройства не испытывают проблем с коннектом. Точку доступа на всякий случай заменить пробовал.

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

 ,

yellowboy
()

Некорректная работа хэлсчека в ProxySQL

Вопрос конкретно по балансировщику ProxySQL.

Добавил ноды MySQL в пул ProxySQL, ноды доступны и ProxySQL их видит:

ProxySQLAdmin> SELECT hostgroup_id, hostname, status FROM runtime_mysql_servers;
+--------------+---------------------------------------+--------+
| hostgroup_id | hostname                              | status |
+--------------+---------------------------------------+--------+
| 1            | serv1                                 | ONLINE |
| 0            | serv2                                 | ONLINE |
+--------------+---------------------------------------+--------+
ProxySQLAdmin> SELECT hostgroup_id, hostname, status FROM mysql_servers;
+--------------+---------------------------------------+--------+
| hostgroup_id | hostname                              | status |
+--------------+---------------------------------------+--------+
| 1            | serv1                                 | ONLINE |
| 0            | serv2                                 | ONLINE |
+--------------+---------------------------------------+--------+

Проблема в том, что если на одной ноде закрыть порт 3306 (дабы сэмулировать проблему), то статус ONLINE не изменится (сначала думал, что дело в таймаутах, но нет).

Если сделать systemctl restart proxysql то

ProxySQLAdmin> SELECT hostgroup_id, hostname, status FROM mysql_servers;
+--------------+---------------------------------------+--------+
| hostgroup_id | hostname                              | status |
+--------------+---------------------------------------+--------+
| 0            | serv1                                 | ONLINE |
| 1            | serv2                                 | ONLINE |
+--------------+---------------------------------------+--------+
ProxySQLAdmin> SELECT hostgroup_id, hostname, status FROM runtime_mysql_servers;
+--------------+---------------------------------------+---------+
| hostgroup_id | hostname                              | status  |
+--------------+---------------------------------------+---------+
| 0            | serv1                                 | ONLINE  |
| 1            | serv2                                 | SHUNNED |
+--------------+---------------------------------------+---------+

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

ProxySQLAdmin> SELECT hostgroup_id, hostname, status FROM mysql_servers;
+--------------+---------------------------------------+--------+
| hostgroup_id | hostname                              | status |
+--------------+---------------------------------------+--------+
| 0            | serv1                                 | ONLINE |
| 0            | serv2                                 | ONLINE |
| 1            | serv2                                 | ONLINE |
+--------------+---------------------------------------+--------+
3 rows in set (0.00 sec)

ProxySQLAdmin> SELECT hostgroup_id, hostname, status FROM runtime_mysql_servers;
+--------------+---------------------------------------+--------+
| hostgroup_id | hostname                              | status |
+--------------+---------------------------------------+--------+
| 0            | serv1                                 | ONLINE |
| 1            | serv2                                 | ONLINE |
| 0            | serv2                                 | ONLINE |
+--------------+---------------------------------------+--------+
3 rows in set (0.02 sec)

Что не так? Откуда берется ещё одна строка в таблице с нодами после возвращения в строй недоступной ноды и почему без передергивания proxysql статус реально проблемной ноды не меняетсЯ?

 , ,

yellowboy
()

Бэкап БД MySQL по сети с Percona Xtrabackup

Всем привет.

Нашёл как с Percona Xtrabackup делать push-бэкап (то есть софтина устанавливается на сервер с БД, и резервное копирование осуществляется на некую удалённую машину). Может ли Percona Xtrabackup делать pull-бэкап, то есть на некой машине устанавливаем этот софт и забираем бэкап БД по сети с удаленной машины? Вроде бы есть параметр -H для указания хоста с БД, но не нахожу никаких примеров того, как это работает. Сталкивался ли кто-то с описанным мной сценарием?

 , ,

yellowboy
()

Проблема с переключением на новый лог в Barman

Привет, коллеги.

Имею следующую ситуацию. По непонятным пока причинам при попытке резервного копирования БД PostgreSQL инструментом Barman, возникает проблема (если сделать чек конфигурации):

WAL archive: FAILED (please make sure WAL shipping is setup)

Данная ситуация, как известно, решается (точнее, должна решаться) выполнением:

barman switch-xlog --force --archive <server_name>

но по каким-то причинам на некоторых серверах лог переключается и всё в норме, а на некоторых переключения не происходит, Barman говорит что-то типа:

The WAL file 000000010000001400000067 has been closed on server 'server-name'
Waiting for the WAL file 000000010000001400000067 from server 'server-name' (max: 30 seconds)
ERROR: The WAL file 000000010000001400000067 has not been received in 30 seconds

Увеличение таймаута не помогает. Логи ничего не говорят (за исключением ситуаций, когда, например, проблема с аутентификацией в pg_hba). Если выполнить проверку конфигурации barman check для сервера, то все пункты будут ОК, кроме указанного выше. На нескольких серверах конфиг для barman одинаковый, но где-то есть проблема, где-то нет.

Из-за чего может происходить данная ситуация, чего может не хватать? Хотелось бы понимать, выполнение каких условий необходимо для однозначного успешного выполнения

barman switch-xlog --force --archive <server_name>

 , ,

yellowboy
()

Проблема при установке пакета mysql-server на Debian 8

При установке пакета mysql-server на Debian 8 получаю следующее:

apt-get install mysql-server
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:

Пакеты, имеющие неудовлетворённые зависимости:
 mysql-server : Зависит: mysql-server-5.5 но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

Список репозиториев:

deb http://deb.debian.org/debian jessie main contrib non-free
deb-src http://deb.debian.org/debian jessie main contrib non-free

deb http://deb.debian.org/debian jessie-updates main contrib non-free
deb-src http://deb.debian.org/debian jessie-updates main contrib non-free

deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
 apt-cache policy mysql-server
mysql-server:
  Установлен: (отсутствует)
  Кандидат:   5.5.58-0+deb8u1
  Таблица версий:
     5.5.58-0+deb8u1 500
        500 http://security.debian.org jessie/updates/main amd64 Packages
        500 http://security.debian.org jessie/updates/main i386 Packages
     5.5.55-0+deb8u1 500
        500 http://deb.debian.org/debian jessie/main amd64 Packages
        500 http://deb.debian.org/debian jessie/main i386 Packages

Что пробовал сделать и не помогло:

dpkg --configure -a
apt-get install -f
apt-get --fix-broken install
rm /var/lib/apt/lists/* -vf
apt-get clean
apt-get autoclean 
apt-get autoremove
apt-get purge mysql-server

Так же пробовал использовать другие репозитории.

cat /etc/*-release
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Информации о mysql-server в /var/lib/dpkg/status нет.

Что можно ещё предпринять?

 , ,

yellowboy
()

WARNING: Purely numeric hostname, and not a peer--rejecting!

Всем привет.

Обнаружилась проблема следующего характера: при звонке на номер очереди не получается дозвониться, получаем предупреждения:

WARNING: Purely numeric hostname, and not a peer--rejecting!

Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)

Данная ситуация происходит ТОЛЬКО при звонке на номер очереди. Конфиг самой очереди:

[1990]
announce-frequency=0
announce-holdtime=no
announce-position=no
autofill=yes
eventmemberstatus=no
eventwhencalled=no
joinempty=yes
leavewhenempty=no
maxlen=0
periodic-announce-frequency=0
queue-callswaiting=silence/1
queue-thereare=silence/1
queue-youarenext=silence/1
reportholdtime=no
retry=5
ringinuse=yes
servicelevel=60
strategy=linear
timeout=15
weight=0
wrapuptime=0
member=Local/1998@from-queue/n,0,1998,SIP/1998
member=Local/1997@from-queue/n,0,1997,SIP/1997
member=Local/1996@from-queue/n,0,1996,SIP/1996
member=Local/1994@from-queue/n,0,1994,SIP/1994
member=Local/1991@from-queue/n,0,1991,SIP/1991
member=Local/1992@from-queue/n,0,1992,SIP/1992

asterisk -rx «queue show 1990»

1990 has 0 calls (max unlimited) in 'linear' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 60s
   Members:
      1998 (Local/1998@from-queue/n from SIP/1998) (ringinuse enabled) (Not in use) has taken no calls yet
      1997 (Local/1997@from-queue/n from SIP/1997) (ringinuse enabled) (Not in use) has taken no calls yet
      1996 (Local/1996@from-queue/n from SIP/1996) (ringinuse enabled) (Not in use) has taken no calls yet
      1994 (Local/1994@from-queue/n from SIP/1994) (ringinuse enabled) (Not in use) has taken no calls yet
      1991 (Local/1991@from-queue/n from SIP/1991) (ringinuse enabled) (Not in use) has taken no calls yet
      1992 (Local/1992@from-queue/n from SIP/1992) (ringinuse enabled) (Not in use) has taken no calls yet
   No Callers

В чем может быть дело?

В диалплане ничего (никаких правил), связанного с 1990 нет.

 , ,

yellowboy
()

Обновление glibc на centos 5.11

При установке пакета получаю:

[root@srv tmp]# rpm -i lightagent-4.0.46-8153.x86_64.rpm
ошибка: Неудовлетворенные зависимости:
        libc.so.6(GLIBC_2.11) нужен для lightagent-4.0.46-8153.x86_64
        libc.so.6(GLIBC_2.11)(64bit) нужен для lightagent-4.0.46-8153.x86_64
        libc.so.6(GLIBC_2.6) нужен для lightagent-4.0.46-8153.x86_64
        libc.so.6(GLIBC_2.6)(64bit) нужен для lightagent-4.0.46-8153.x86_64
        libc.so.6(GLIBC_2.7) нужен для lightagent-4.0.46-8153.x86_64
        libc.so.6(GLIBC_2.7)(64bit) нужен для lightagent-4.0.46-8153.x86_64
        libc.so.6(GLIBC_2.8)(64bit) нужен для lightagent-4.0.46-8153.x86_64
        libc.so.6(GLIBC_2.9)(64bit) нужен для lightagent-4.0.46-8153.x86_64
        libklcsnagt.so нужен для lightagent-4.0.46-8153.x86_64
        rpmlib(PayloadIsLzma) <= 4.4.6-1 нужен для lightagent-4.0.46-8153.x86_64

[root@srv tmp]# rpm -qa | grep libc
glibc-headers-2.5-123.el5_11.3
glibc-2.5-123.el5_11.3
libcap-1.10-26
glibc-2.5-123.el5_11.3
libcap-1.10-26
glibc-common-2.5-123.el5_11.3
glibc-devel-2.5-123.el5_11.3
[root@srv tmp]# yum install glibc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * epel: ftp-stud.hs-esslingen.de
Setting up Install Process
Package glibc-2.5-123.el5_11.3.x86_64 already installed and latest version
Package glibc-2.5-123.el5_11.3.i686 already installed and latest version
Nothing to do

Скачал glibc-2.12-1.209.el6.i686.rpm

Устанавливаю:

[root@srv tmp]# rpm -i glibc-2.12-1.209.el6.i686.rpm
предупреждение: glibc-2.12-1.209.el6.i686.rpm: Заголовок V3 RSA/SHA1 signature: NOKEY, key ID c105b9de
ошибка: Неудовлетворенные зависимости:
        glibc-common = 2.12-1.209.el6 нужен для glibc-2.12-1.209.el6.i686
        rpmlib(FileDigests) <= 4.6.0-1 нужен для glibc-2.12-1.209.el6.i686
        rpmlib(PayloadIsXz) <= 5.2-1 нужен для glibc-2.12-1.209.el6.i686
        binutils < 2.19.51.0.10 конфликтует с glibc-2.12-1.209.el6.i686
        prelink < 0.4.2 конфликтует с glibc-2.12-1.209.el6.i686
        glibc > 2.5 конфликтует с glibc-common-2.5-123.el5_11.3.x86_64

Подскажите, как обновить glibc? Обновление ОС или переход на другую машину не предлагать.

 , , , ,

yellowboy
()

Вызов shell-скрипта из php-скрипта

Всем привет.

Хочу вызывать из php скрипт на shell с передачей переменных. В какой-то степени я это реализовал. Есть страница с формой:

<form id="form" action="form.php" method="POST">
                    <input name="name" type="text" placeholder="Ваше имя" required>
                    <input name="email" type="text" placeholder="Ваш email" required>
                    <input name="sub" type="text" placeholder="Тема" required>
                    <textarea name="message" placeholder="Сообщение" required></textarea>
                    <input name="button" type="submit" value="ОТПРАВИТЬ">
                </form>

Форма обрабатывается php скриптом:

<?php
   $name = $_POST['name'];
   $email = $_POST['email'];
   $sub = $_POST['sub'];
   $message = $_POST['message'];

  system ("NAME='$name', EMAIL='$email', SUB='$sub', MESSAGE='$message' bash /root/scripts/emailsender.sh");
?>

и этот скрипт вызывает другой скрипт, уже на shell:

#!/bin/bash
sendemail -f blabla@yandex.ru -t info@blabla.ru -u TEST -m $NAME $EMAIL $SUB $MESSAGE -s smtp.yandex.ru -xu blabla-xp Password -o tls=yes -v > /tmp/formLog

При этом многочисленными тыками я понял, что в php скрипте не выполняется именно вызов shell скрипта, переменным значения из формы присваиваются (проверено). Что допилить, чтобы оно заработало? Думаю, что кто-то упрекнет меня за такую реализацию отправки писем с сайта, ну и что, дело не в этом.

P.S. Если запустить из консоли сервера скрипт form.php, то всё отработает как надо (разве что, в таком виде будут неопределенными переменные, но не суть). Проблема именно при выполнении скрипта апачем. На сркиптах для теста права 777.

Перемещено beastie из general

 , ,

yellowboy
()

Тонкая настройка Spark

Всем привет.

В силу сложившихся обстоятельств есть необходимость в XMPP клиенте Spark по умолчанию включить две опции (открываем Spark, далее Дополнительно):

- Accept all certificates (self-signed/expired/not trusted);

- Disable certificate hostname verification (not recommended).

Галочки эти нужно не просто ручками проставить, а проставить через конфиг. файл (принципиальный момент). У Spark куча опций, которые задаются через конфигурационные файлы (в spark.jar/lib...), но указанных выше я не нашёл, либо не там ищу.

Если у кого-то есть понимание о чем я, может что-то подскажете.

Spark последней версии (2.8.3) работает в связке с Openfire 4.1

P.S. Если кому-то всё же интересно для чего это, то назову пару ключевых слов (VMware, VDI, floating pool).

 ,

yellowboy
()

Периодически не работает один транк

Всем привет.

Имеем несколько транков с Манго. Настроены все идентично.

С одним из них началась проблема:

периодически при входящем на этот номер слышим «Абонент временно не доступен», при этом в выводе астериска сообщение:

NOTICE[1970][C-00000053]: chan_sip.c:25084 handle_request_invite: Failed to authenticate device "7905*******"<sip:7905*******@mangosip.ru>;tag=153e7e25

При этом мой сервер не отвечает на инвайт, говорит 403 Forbidden и вызов не доходит до нужного входящего контекста диалплана.

Регистрация с провайдером постоянная есть.

Если повторить попытку вызова НИЧЕГО НЕ ТРОГАЯ, звонок может пройти и всё отработает как положено.

Подскажите куда копать?

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

Ещё добавили, что у них была некая миграция серверов (изменились IP адреса), что меня мало интересует, их подсеть на фаерволе открыта.

 , ,

yellowboy
()

SIP + Jabber клиент для Android

Всем привет.

Подскажите, какие есть известные вам SIP + Jabber (в одном флаконе) клиенты для Android. Рассматриваю преимущественно бесплатные, но платные не отрицаю.

 , ,

yellowboy
()

Балансировка нагрузки с Nginx для нескольких виртуальных хостов

Коллеги,

настраиваю выделенный под балансировку хост с nginx. С одним виртуальным хостом не было бы проблем, но у меня несколько, поэтому запутался в конфигурации. Схема такова:

На хост-балансер приходят запросы типа zapros1.ru, zapros2.ru, zapros3.ru. За балансером два бэкэнда с apache (между бэками репликация mysql и rsync, что не особо важно). На 1-ом бэкэнде крутятся zapros1.local, zapros2.local, zapros3.local, на 2-ом бэкэнде zapros1-repl.local, zapros2-repl.local, zapros3-repl.local.Реализовать хочу так:

сам nginx на балансере ничего не отдаёт, он только проксирует на бэки, то есть если запрос пришёл на zapros2.ru, то он проксируется на zapros2.local, если zapros2.local недоступен, то отдаётся zapros2-repl.local

По локальным адресам бэкэнды доступны.

Конфиг nginx (для одного виртуального хоста):

upstream zapros1-backend {
  server zapros1.local max_fails=3 fail_timeout=30s;
  server zapros1-repl.local backup;
}


server {
	 listen 192.168.0.150:80;
	 server_name zapros1.ru;
	 location / {
		proxy_pass http://zapros1-backend;
	  }
	}
	

Подскажите, как правильно сконфигурировать nginx в такой ситуации.

P.S. С таким конфигом проксирование работает, но отдаётся не тот виртуальный хост, который нужно (с бэкэнда).

 , , ,

yellowboy
()

Проблема репликации MySQL

Коллеги, вопрос по репликации MySQL. Настраиваю репликацию типа master-slave между двумя серверами. Конфиг мастера:

log-bin = /var/lib/mysql/mysql-bin.log
log-bin=mysql-bin
server-id = 1
slave-compressed = 1
binlog-do-db = base1, base2, base3, base4

Конфиг слейва:

relay-log = /var/log/mysql/mysql-relay-bin.log
log_bin = /var/lib/mysql/mysql-bin.log
server-id = 2
replicate-do-db = base1, base2, base3, base4

mysql> SHOW SLAVE STATUS\G; на слейве

*************************** 1. row *************************** 
Slave_IO_State: Waiting for master to send event 
Master_Host: 192.168.0.8 
Master_User: repluser 
Master_Port: 3306 
Connect_Retry: 60 
Master_Log_File: mysql-bin.000005 
Read_Master_Log_Pos: 98 
Relay_Log_File: mysql-relay-bin.000002 
Relay_Log_Pos: 244 
Relay_Master_Log_File: mysql-bin.000005 
Slave_IO_Running: Yes 
Slave_SQL_Running: Yes 
Replicate_Do_DB: base1, base2, base3, base4 
Replicate_Ignore_DB: 
Replicate_Do_Table: 
Replicate_Ignore_Table: 
Replicate_Wild_Do_Table: 
Replicate_Wild_Ignore_Table: 
Last_Errno: 0 
Last_Error: 
Skip_Counter: 0 
Exec_Master_Log_Pos: 98 
Relay_Log_Space: 400 
Until_Condition: None 
Until_Log_File: 
Until_Log_Pos: 0 
Master_SSL_Allowed: No 
Master_SSL_CA_File: 
Master_SSL_CA_Path: 
Master_SSL_Cert: 
Master_SSL_Cipher: 
Master_SSL_Key: 
Seconds_Behind_Master: 0 
Master_SSL_Verify_Server_Cert: No 
Last_IO_Errno: 0 
Last_IO_Error: 
Last_SQL_Errno: 0 
Last_SQL_Error: 
Replicate_Ignore_Server_Ids: 
Master_Server_Id: 1 
1 row in set (0.00 sec) 

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

mysql> SHOW MASTER STATUS; на мастере

+------------------+----------+---------------------------------------------------+------------------+ 
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | 
+------------------+----------+---------------------------------------------------+------------------+ 
| mysql-bin.000005 | 98 | base1, base2, base3, base4 | | 
+------------------+----------+---------------------------------------------------+------------------+ 
1 row in set (0.00 sec) 

Вот тут интересно: если на мастере внести изменения в БД, то значения File и Position НЕ МЕНЯЮТСЯ. Если перезапустить mysql, то File изменится, но Position остаётся неизменным. Что посмотреть?

 ,

yellowboy
()

Кластеризация Openfire для объединения пользователей двух доменов AD

Коллеги, кто «кластеризовал» два (и более) XMPP серверов Openfire (ставлю врсию 4.1.3), присоединяйтесь. Как мне казалось, задача простая и тривиальная, но не тут-то было.

Ситуация типичная: 2 домена Active Directory , по серверу XMPP на домен. По LDAP каждый сервер Openfire читает каталоги каждого (своего) домена. Далее хочется сделать так, чтобы юзеры одного домена могли видеть и общаться с юзерами соседнего домена. Интернет говорит, что для этого нужен Clustering Plugin (ставлю версию 1.2.3): http://www.igniterealtime.org/projects/openfire/plugi.. Плюсиком «установил» этот плагин из списка плагинов в админке, эта процедура ничего не дала, кластеризация остаётся недоступной. Если почитать по ссылке, приведенной выше, то написано, что нужно получить/установить вот эту штуку от Oracle http://www.oracle.com/technetwork/ru/middleware/coher..

Скачал и установил, всё по пруфовой инструкции: - Unzip the coherence file and locate coherence.jar and coherence-work.jar in folder coherence/lib. - Copy coherence.jar and coherence-work.jar to [openfire_home]/plugins/clustering/lib. - Restart Openfire server.

Далее захожу в Server —> Server Manager —> Clustering и вижу тоже, что и ранее: установите плагин для кластеризации.

В error логе Openfire много записей:

2017.04.27 17:04:02 org.jivesoftware.openfire.container.PluginManager - An exception occurred while loading plugin 'clustering':
java.lang.ClassNotFoundException: com.jivesoftware.openfire.ClusteringPlugin
Мне ни о чем не говорит.

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

 , ,

yellowboy
()

Сжатие запросов к apache

Коллеги, вопрос по сжатию запросов к Apache2: в конфиге виртуального хоста .htaccess включен:

AllowOverride All 
Order allow,deny 
allow from all

часть .htaccess:

<ifModule mod_deflate.c>
 AddOutputFilterByType DEFLATE text/plain
 AddOutputFilterByType DEFLATE text/html
 AddOutputFilterByType DEFLATE text/xml
 AddOutputFilterByType DEFLATE text/css
 AddOutputFilterByType DEFLATE application/xml
 AddOutputFilterByType DEFLATE application/xhtml+xml
 AddOutputFilterByType DEFLATE application/rss+xml
 AddOutputFilterByType DEFLATE application/javascript
 AddOutputFilterByType DEFLATE application/x-javascript
</ifModule>

deflate активирован.

При этом сжатие не работает, определяю по отсутствию соответствующего HTTP заголовка. Так же странная ситуация: два сервиса http://checkgzipcompression.com/ и http://www.whatsmyip.org/ говорят, что is Compressed, но сервис http://highloadtools.com/ говорит противоположное. Ответ на этих сервисах не меняется, даже если убрать мой конфиг.

Что делаю не так?

 , ,

yellowboy
()

Отправка сообщения через sendxmpp

Всем привет! Поставил sendxmpp. Дал права 400 на файл ~/.sendxmpp

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

admin@domen.ru:5222 pass

Пробуем и получаем:

[root@Asterisk ~]# echo preved | sendxmpp -v -t -u -o user@domen.ru
sendxmpp: config: 'password' => 'pass'
Use of uninitialized value $val in concatenation (.) or string at /usr/bin/sendxmpp line 200.
sendxmpp: config: 'component' => ''
sendxmpp: config: 'jserver' => 'domen.ru'
sendxmpp: config: 'port' => '5222'
sendxmpp: config: 'username' => 'admin'
sendxmpp: ssl_verify: 1
sendxmpp: tls_ca_path:
Could not connect to 'domen.ru' on port 5222: HASH(0x2d91968

В файле /usr/share/perl5/Net/XMPP/Protocol.pm пробовал закомментить:

    if($self->{STREAM}->GetStreamFeature($self->GetStreamID(),"xmpp-sasl"))
    {
        return $self->AuthSASL(%args);
    }

Не помогало. Так же пробовал jabber-домен менять на IP сервера - не помогло.

Всё это дело стоит на Centos 6.8, perl v5.10.1

Подскажите, что делать.

 , , ,

yellowboy
()

Запуск webrick через скрипт

Всем привет! Не раз поднимал Redmine на Debian, не было никаких проблем. Redmine у меня всегда крутится на Webrick. На данный момент переезжаю с своего VPS на Rapsberry Pi 3B, переношу и Redmine. Установил. Webrick запускается нормально, если выполнить

ruby bin/rails server webrick -e production -b 192.168.87.2 -p 80
Я же всегда, по заранее заготовленному скрипту запускаю Redmine (а точнее, Webrick) через скрипт и запиливаю его в автозапуск. Вот только на Rapsbian, который я поставил на свой Rapsberry, если попытаться запустить Webrick через этот самый скрипт (который я не менял и меня ни разу не подводил), сейчас выдаёт следующее:
root@raspberrypi:/usr/local/share/redmine# /etc/init.d/webrick start

[....] Starting webrick (via systemctl): webrick.serviceFailed to start webrick.service: Unit webrick.service failed to load: No such file or directory.
 failed!

/etc/init.d/webrick существует, права на запуск есть.

Подскажите, чё ему надо?

На всякий случай тело скрипта:

#!/bin/bash
### BEGIN INIT INFO
# Provides:          redmine
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: redmine webrick
# Description:       redmine webrick server autostart-script
### END INIT INFO

. /lib/lsb/init-functions

# Modify it to your configuration
DIR=/usr/local/share/redmine/

# Start Redmine in daemon mode.
start(){
        log_daemon_msg "Starting Redmine WebRick"
        cd $DIR
        log_progress_msg
        # ruby bin/server -d -e production &> /dev/null
        ruby bin/rails server webrick -d -e production -b 0.0.0.0 -p 80
        log_progress_msg
        log_end_msg 0
}

# Stop Redmine daemon
stop(){
        log_daemon_msg "Stopping Redmine WebRick"
        RUBYPID=`ps aux | grep "ruby bin/rails server webrick -d -e production" | grep -v grep | awk '{print $2}'`
        log_progress_msg
        if [ "x$RUBYPID" != "x" ]; then
                kill -2 $RUBYPID
        fi
        log_end_msg 0
}

# Check if Redmine is running
status(){
        RUBYPID=`ps aux | grep "ruby bin/rails server webrick -d -e production" | grep -v grep | awk '{print $2}'`
        if [ "x$RUBYPID" = "x" ]; then
                echo "* Redmine is not running"
        else
                echo "* Redmine is running"
        fi
}


case "$1" in
        start)
                start
                ;;

        stop)
                stop
                ;;

        status)
                status
                ;;

        restart|force-reload)
               stop
               start
               ;;
        *)
               echo "Usage: $0 {start|stop|restart|force-reload|status}"
               exit 1

esac

 ,

yellowboy
()

rake-11.3.0 requires ruby version >= 1.9.3

Всем привет! Просьба разобраться с RoR, гугление не спасло (хотя, варианты решения, естественно, находил). На Rapsberry Pi 3B + Rapsbian устанавливаю Redmine. Во время установки gems получаю:

root@raspberrypi:/usr/local/share/redmine# bundle install --without development test postgresql sqlite
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on
this machine.
Please configure your config/database.yml first
Fetching gem metadata from [url]https://rubygems.org/[/url]..........
Fetching version metadata from [url]https://rubygems.org/[/url]..
Fetching dependency metadata from [url]https://rubygems.org/[/url].
Resolving dependencies...................................................................................................................
rake-11.3.0 requires ruby version >= 1.9.3, which is incompatible with the current version, ruby 1.8.7p358
Помогите разрешить вопрос. Заранее спасибо.

 ,

yellowboy
()

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