Добавление SIP клиентов в Asterisk

SIP клиенты в Asterisk указываются в файле sip.conf, поэтому откроем его например в текстовом редакторе nano (Ctrl+X для выхода из редактора, y или n для сохранения или отмены изменений):

Читать далее «Добавление SIP клиентов в Asterisk»

Решение ошибки 0x80070570. Windows не удается установить необходимые файлы

Встретил как-то при установке Windows ошибку следующего содержания:

Читать далее «Решение ошибки 0x80070570. Windows не удается установить необходимые файлы»

Access-Control-Allow-Origin (CORS)

CORS (совместное использование ресурсов между разными источниками) — технология браузеров, позволяющая предоставить веб-странице доступ к ресурсам другого домена.

Чтобы включить CORS в Apache2, нужно сначала активировать модуль headers, в Ubuntu Server это можно сделать командой:

Читать далее «Access-Control-Allow-Origin (CORS)»

Решение ошибки Unknown Object Identifier (Index out of range: XXX (ifIndex))

Однажды делал шаблон Zabbix для рисования графиков трафика с портов GPON плат на Huawei SmartAX MA5683T.

Из Linux посмотрел индексы интерфейсов командой:

snmpwalk -v2c -c public 192.168.0.101 ifDesc

Получил ответ что-то в виде (где 4194336768 индекс нулевого порта GPON платы):

IF-MIB::ifDescr.4194336768 = STRING: Huawei-MA5600-V800R008-GPON_UNI

Соответственно по этому индексу должен считываться и трафик, поэтому выполнил команду:

snmpwalk -v2c -c public 192.168.0.101 ifInOctets.4194336768

Но в итоге получил ответ:

.1.3.6.1.2.1.2.2.1.13.4194336768: Unknown Object Identifier (Index out of range: 4194336768 (ifIndex))

Решить проблему помогло добавления ключа -Ir в команду:

snmpwalk -v2c -Ir -c public 192.168.0.101 ifInOctets.4194336768

В ответ получил то что нужно:

IF-MIB::ifInOctets.4194336768 = Counter32: 2686914701

Ошибку можно решить добавив в файл конфигурации /etc/snmp/snmp.conf:

noRangeCheck yes

Либо можно написать скрипт:

snmpwalk -v2c -Ir -c public 192.168.0.101 ifInOctets.4194336768 | sed -e 's/.*Counter32: //g'

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

Тип: Внешняя проверка
Ключ: ИмяСкрипта.sh
Тип информации: Числовой (с плавающей точкой)
Хранение значения: Дельта (скорость в секунду)

Смотрите также мою статью:
Список SNMP OID и MIB для интерфейсов

Установка и настройка HAProxy в Linux

HAProxy — прокси-сервер для балансировки нагрузки TCP и HTTP приложений, методом распределения на несколько серверов.

Команда установки HAProxy в Ubuntu/Debian:

sudo apt-get install haproxy

Для CentOS:

yum install haproxy

Посмотреть установленную версию можно командой:

haproxy -v

Проверим будет ли он автоматически запускаться при включении системы, должно быть ENABLED=1 (в редакторе nano CTRL+X для выхода, y/n для сохранения или отмены изменений):

sudo nano /etc/default/haproxy

В CentOS просто выполним команду:

chkconfig haproxy on

Сделаем копию конфигурационного файла на всякий случай:

sudo cp /etc/haproxy/haproxy.cfg{,.original}

Откроем в редакторе основной конфигурационный файл:

sudo nano /etc/haproxy/haproxy.cfg

Приведу пример конфигурации:

global
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /var/lib/haproxy
    user haproxy
    group haproxy
    daemon

defaults
    log     global
    mode    http
    option  httplog
    option  dontlognull
    contimeout     5000
    clitimeout     50000
    srvtimeout     50000
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 /etc/haproxy/errors/504.http
    retries 3
        
listen webfarm 0.0.0.0:80
    mode http
    stats enable
    stats uri /haproxy?stats
    stats auth user:password
    maxconn 5000
    balance roundrobin
    option httpclose
    option forwardfor
    server webserver01 192.168.88.50:80 check
    server webserver02 192.168.88.51:80 check

Параметр maxconn 5000 определяет максимальное количество одновременных соединений, 0 используется для снятия лимита, если не указывать то будет стандартно 2000.

Например чтобы использовать Apache2 на этой же локальной машине, изменим в /etc/apache2/ports.conf и /etc/apache2/sites-enabled/ конфигурационных фалйах номер его порта с 80 например на 81, а в /etc/haproxy/haproxy.cfg укажем:

server webserver01 0.0.0.0:81 check

Каждый раз после изменений конфигурации необходимо выполнять перезапуск:

sudo service apache2 restart
sudo service haproxy restart

На этом установка и основная настройка HAProxy завершена.

Как сделать загрузочную флешку с Ubuntu

Чтобы сделать загрузочную флешку с Ubuntu выполним несколько действий:

Читать далее «Как сделать загрузочную флешку с Ubuntu»

Установка Digium Asterisk GUI

Digium Asterisk GUI — web-интерфейс управления Asterisk.

Сегодня буду лепить его к Asterisk 11 на Ubuntu Server 14.04 LTS.
Переключимся сразу на root пользователя:

sudo -i

Скачаем его:

apt-get install subversion
mkdir -p ~/asterisk-gui
cd ~/asterisk-gui
svn checkout http://svn.digium.com/svn/asterisk-gui/branches/2.0/

Скомпилируем и установим:

cd 2.0
./configure
make
make install

На всякий случай сделаем копию файлов конфигурации Asterisk:

cp -r /etc/asterisk /etc/asterisk.original

Откроем конфигурационный файл manager.conf например в редакторе nano (Ctrl+X для выхода из редактора, y/n для сохранения или отмены изменений):

nano /etc/asterisk/manager.conf

Основные параметры которые должны быть настроены в конфигурационном файле manager.conf:

[general]
enabled = yes
webenabled = yes
bindaddr = 0.0.0.0
[ИМЯ_ПОЛЬЗОВАТЕЛЯ]
secret = ПАРОЛЬ
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config

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

Теперь отредактируем http.conf:

nano /etc/asterisk/http.conf

В нем укажем следующие параметры веб сервера:

enabled=yes
enablestatic=yes
bindaddr=0.0.0.0
prefix=asterisk

Выполним проверку настроек:

make checkconfig

Удалим пустую папку и укажем ссылку на реальную с файлами веб-сервера:

rmdir /usr/share/asterisk/static-http/
ln -s /var/lib/asterisk/static-http/ /usr/share/asterisk/

Перезапустим Asterisk:

/etc/init.d/asterisk restart

Теперь Digium Asterisk GUI должен открываться по ссылке http://192.168.56.102:8088/asterisk/static/config/index.html, где 192.168.56.102 это IP или домен севрера с Asterisk.

Для входа укажем логин и пароль прописанные ранее в файле manager.conf

Все.