Архив рубрики: Публикации

Установка ZABBIX на Centos 7

Zabbix-очень мощная система мониторинга, для отслеживания различного состояния хостов (серверов, маршрутизаторов, свичей и т.д).

В состав zabbix входит:

  • сервер мониторинга, который собирает все данные, обрабатывает их анализирует и запускает скрипты оповещения.
  • База данных (Mysql, PostgreSQL, SQLite или Oracle)
  • Агент-демон который запускается на отслеживаемом узле и отправляет данные на сервер

Агент устанавливать на хост не обязательно, получать данные можно так же с помощью различных сервисов для мониторинга сетей, таких как snmp, ping, ftp, http и т.д.

Установка ZABBIX

Для установки на CentOS 6 установите пакет конфигурации репозитария. Этот пакет содержит yum файлы конфигурации.

# rpm -ivh http://repo.zabbix.com/zabbix//2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm

Установите пакеты Zabbix.

# yum install zabbix-server-mysql zabbix-web-mysql

 Установка только Zabbix агента на отслеживаемый хост.

# yum install zabbix-agent

 Устанавите mariadb

# yum install -y mariadb-server mariadb

Дбавляем в mariadb автозапуск

# systemctl enable mariadb.service

И запускаем

# systemctl start mariadb

Создайте базу данных zabbix и пользователя в MySQL

# mysql -uroot

MariaDB [(none)]> create database zabbix character set utf8;

MariaDB [(none)]>grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

MariaDB [(none)]> exit

Импортируйте начальную схему и данные.

# cd /usr/share/doc/zabbix-server-mysql-2.4.5/create/

# mysql -uroot zabbix < schema.sql

# mysql -uroot zabbix < images.sql

# mysql -uroot zabbix < data.sql

В текстовом редакторе откройте /etc/zabbix/zabbix_server.conf.

И добавте в файл

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

Запустите процесс Zabbix сервера.

# systemctl start zabbix-server

И добавте его в автозапуск

# systemctl enable zabbix-server.service

В файле /etc/httpd/conf.d/zabbix.conf найдите строчку # php_value date.timezone Europe/Riga, установите правильную временную зону и раскоментируйте. Перезапустите веб сервер

# systemctl restart httpd

После этого через любой браузер зайдите на адрес  http://<ip-server-zabbiz>/zabbix из браузера. Где продолжится установка через WEB интерфейс. Если не получается открыть страницу, проверте запущен ли у вас сервер apache

# systemctl status httpd

Отключите selinux. для этого  в файле /etc/selinux/config укажите

SELINUX=disabled,

и перезагрузите сервер. В файле /etc/sysconfig/iptables выше запрещающих правил пропишите строку:

-A INPUT -m state —state NEW -m tcp -p tcp —dport 80 -j ACCEPT

И перезапустите iptables

# systemctl restart iptables

 Вы должны увидить такую картинку

Нажимаем NEXT

Смотрим что у нас всё ОК и жмем NEXT.

здесь указываем параметры подключения к нашей MqSQL базе, которые мы настраивали вначале. Нажмите кнопку «Test connection» и убедитесь что есть подключение к базе. На остальных страницах можете просто нажатьNEXT. Вконце вы должны увидеть страницу авторизации.

По умолчанию логин/пароль Admin/zabbix. После входа вы должны увидеть такую страницу

 



2018-10-01T12:40:45
Zabbix

Мониторинг MikroTik с помощью Zabbix

Для мониторинга маршрутизаторов MikroTik через SNMP, нужно настроить SNMP на маршрутизаторе mikrotik и установить шаблон на zabbix сервер,

Настройка mikrotik

через winbox переходим «IP»-«SNMP»

Здесь устанавливаем флаг «Enabled», тем самым включая SNMP на маршрутизаторе. Далее нажимаем кнопку «Сommunities» и выбираем уже созданный по умолчанию community «public», и исправляем его на свой. Так же для безопасности можно указать IP адреса с которых можно подключаться по SNMP.

Нажимаем «ОК» на всех вкладках. На этом настройка маршрутизатора закончена.

Настрока zabbix

1. Скачиваем шаблон для mikrotik  https://zabbix.org/mw/images/2/2e/Mikrotik_CloudCore.xml,

2.Устанавливаем шаблон на свой zabbix сервер.Для этого переходим на вкладку «Настройка»-«Шаблоны».Справа вверху нажимаем кнопку «импорт» и указываем шаблон полученный в шаге 1.

3. Переходим в «Настройка»-«Узлы сети» и создаем новый узел, в качестве шаблона указав новый шаблон «Hardware: CloudCor»

Обучающий курс по настройке MikroTik

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.



2018-10-01T12:35:37
Zabbix

Мониторинг XenServer с помощью Zabbix

Заходим в консоль xenservera

1.Добавляем zabbix пользователя.

# adduser zabbix

2.Разрешаем зависимости.

# yum --enablerepo=base install openssl-devel gcc make --disablerepo=citrix -y

3.Загружаем и устанавливаем последнюю версию Zabbix.

# wget "http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.4/zabbix-2.2.4.tar.gz"


# tar xvfz zabbix-2.2.4.tar.gz


# cd zabbix-2.2.4

# ./configure --enable-agent

# make install

Добавляем в автозагрузку.

# cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/

# chmod +x /etc/init.d/zabbix_agentd

# chkconfig zabbix_agentd on

Настраиваем конфигурационный файл.

# nano /usr/local/etc/zabbix_agentd.conf

В нем в параметрах «Server» и «ServerActive» указываем свой zabbix сервер.

Правим файл iptables

 # nano /etc/sysconfig/iptables

и прописываем строку

-A RH-Firewall-1-INPUT -p tcp -m conntrack —ctstate NEW,ESTABLISHED -m tcp —dport 10050 -j ACCEPT

выше строки

-A RH-Firewall-1-INPUT -j REJECT —reject-with icmp-host-prohibited

делаем рестарт iptables

# /etc/init.d/iptables restart

Запускаем агент.

# /etc/init.d/zabbix_agentd start

Настройка доступа к отчетам.

# nano /etc/sudoers

И добавляем в конец файла:

zabbix ALL = NOPASSWD:/opt/xensource/bin/xe

Очищаем темп.

rm -rf /tmp/zabbix/



2018-10-01T12:31:43
Zabbix

Проброс внешней сети через GRE туннель.

Имеем схему следующую схему, на ММТС-9 есть коммутатор Cisco 4948 IOS cat4500-entservicesk9-mz.150-2.SG. Который подключается к интернету через протокол BGP, на коммутаторе прописана сеть 1.1.0.0/23. IP адрес коммутатора 1.1.0.1

Есть удаленная точка которая подключена к местному провайдеру через маршрутизатор Cisco 2811. Стоит задача выдавать клиентам публичные ip адреса из сети 1.1.0.0/23

Есть 2 варианта решения этой задачи, это смаршрутизировать подсеть через VPN туннель или через L2TPv3 (L2 Tunnel over IP). Рассмотрим первый вариант. Будем использовать GRE туннель

писана сеть 1.1.0.0/23. IP адрес коммутатора 1.1.0.1

 

Есть удаленная точка которая подключена к местному провайдеру через маршрутизатор Cisco 2811. Стоит задача выдавать клиентам публичные ip адреса из сети 1.1.0.0/23.

 

Есть 2 варианта решения этой задачи, это смаршрутизировать подсеть через VPN туннель или через L2TPv3 (L2 Tunnel over IP). Рассмотрим первый вариант. Будем использовать GRE туннель. Схема показана на рисунке

Настройка Cisco 4948

# conf t

(config)# interface Tunnel0

(config-if)# ip address 10.10.10.1 255.255.255.0

(config-if)# ip tcp adjust-mss 1436

(config-if)# tunnel source 1.1.0.1

(config-if)# tunnel destination 2.2.2.2


Cisco 2811:

# conf t

(config)# interface Tunnel0

(config-if)# ip address 10.10.10.2  255.255.255.0

(config-if)# ip tcp adjust-mss 1436

(config-if)# tunnel source 2.2.2.2

(config-if)# tunnel destination 1.1.0.1


Мы создали на свиче и маршрутизаторе  интерфейсы  Tunnel0, в нём указали с помощью ip address внутреннюю адресацию туннеля – тот есть это адреса инкапсулированного IP, а с помощью команд tunnel source и tunnel destination мы указали параметры транспортного протокола IP (внешнего). У нас появилась новая сеть, которая виртуально соединяет напрямую два устройства.

Если все правильно настроено, то свич и маршрутизатор должны друг друга «видеть».

Далее настраиваем интерфейсы на Cisco 2811

Интерфейс для выхода в интернет:

# conf t

(config)# interface FastEthernet0/0

(config-if)# ip address 2.2.2.2 255.255.255.252

(config-if)# ip virtual-reassembly

(config-if)# no cdp enable


Настраиваем маршрутизацию:

Cisco 2811

Шлюз по умолчанию

(config)# ip route 0.0.0.0 0.0.0.0 2.2.2.1

Создаем access-list в котором будут разрешены наши ip адреса.

(config)# ip access-list standard PublikIP

(config-std-nacl)# permit 1.1.1.16 0.0.0.15


route-map  который «навешиваем на наш интерфейс»

(config)# route-map DEFAULT permit 10 

(config-route-map)# match ip address PublikIP

(config-route-map)# set ip next-hop   10.10.10.1


Интерфейс  с ip адресами из нашей сети, он же будет default gateway для пользователей

(config)# interface FastEthernet0/1

(config-if)# ip address 1.1.1.17  255.255.255.240

(config-if)# ip policy route-map DEFAULT

(config-if)# ip virtual-reassembly

(config-if)# no cdp enable

На Cisco 4948 маршрутизация настраивается очень просто

(config)# ip route 1.1.1.16 255.255.255.240 10.10.10.2

Все теперь клиенты могут настраивать у себя ip адреса  1.1.1.18-1.1.1.30 маска 255.255.255.240 и шлюз 1.1.1.17.



2018-10-01T12:22:25
Cisco

Сообщение IP_VFR-4-FRAG_TABLE_OVERFLOW Ошибка «IP_VFR-4-FRAG_TABLE_OVERFLOW и ip virtual-reassembly»

в логах маршрутизатора появилось такое сообщение:

%IP_VFR-4-FRAG_TABLE_OVERFLOW: GigabitEthernet0/1: the fragment table has reached its maximum threshold 64 %IP_VFR-4-TOO_MANY_FRAGMENTS: GigabitEthernet0/1: Too many fragments per datagram (more than 32) — sent by *.*.*.*, destined to *.*.*.*

%IP_VFR-4-FRAG_TABLE_OVERFLOW : [chars]: the fragment table has reached its maximum threshold [dec]

Explanation: The number of datagrams being reassembled at any one time has reached it maximum limit.

Recommended Action: Increase the maximum number of datagrams that can be reassembled by entering the ip virtual-reassembly max-reassemblies number command, with number being the maximum number of datagrams that can be reassembled at any one time.

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

Рекомендуемые действия: увеличить максимальное число датаграмм которые могут быть собраны, путем ввода команды ip virtual-reassembly с числом максимального количества датаграмм, которые могут быть собранны в промежуток времени.

Небольшое пояснение:

IP пакеты фрагменируются и буферизруются маршрутизатором, до тех пор пока не соберутся в датаграмму и в конце концов не передадутся. Маршрутизатор распределяет пространство для количества датаграмм (и фрагментов на датаграмму) которые ждут сборки. Вы можете увеличить размер таблицы фрагменов, но так же стоит выяснить что вызывает фрагментацию. Это могут быть значения MTU, действия злоумышленника с целью забить всю память фрагментами пакетов или не корректной настройкой оборудования.

выдержка из документации с cisco.com по синаксису команды ip virtual-reassembly: Что бы включить сборку виртуальных фрагментов (VFR) на интерфейсе, используйте команду ip virtual-reassembly в режиме конфигурации интерфейса. Что бы отключить VFR нужно использовать no с это командой.

синтаксис:

ip virtual-reassembly [max-reassemblies number] [max-fragments number] [timeout seconds] [drop-fragments]

no ip virtual-reassembly [max-reassemblies number] [max-fragments number] [timeout seconds] [drop-fragments]

max-reassemblies number: (Опционально) Максимальное колчество IP датаграмм, которые могут быть собранны в заданное время. Значение по умолчанию: 16.

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

max-fragments number: (Опционально) Максимальное количество фрагментов на одну IP датаграмму (фрагмент). Значение по умолчанию: 32.

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

timeout seconds: (Опционально) значение таймаута в секундах для сборки IP датаграммы. Значение по умолчанию: 3.

Если IP датаграмма не получит все фрагменты в установленное время, то IP датаграмма (и все ее фрагменты) будет отброшена.

drop-fragments: (Опционально) Включает функцию VFR отбрасывать все пакеты, которые приходят на сконфигурированный интерфейс. По умолчанию эта функция отключена. Использование: Когда злоумышленник продолжительное время посылает большое количество дефектных пакетов, может быть осуществлена атака переполнения буфера. Firewall теряет время и память когда пытается пересобрать фейковые пакеты.

Опции max-reassemblies и max-fragments позволяют вам сконфигурировать максимальные пороговые значения, и предотвратить атаку переполнения буфера и контролировать потребление потребление памяти.

В дополнение к конфигурированию максимальных попроговых значений, каждая IP датаграмма ассоциируется с управляемым таймером. Если IP датаграмма не получит все фрагменты через указанный период (который можно установить опцией timeout), время истечет и IP датаграмма (со всеми фрагментами) будет отброшена.

Автоматическое включение и выключение VFR: VFR реализвана для работы с любой функцией которая использует сборку фрагментов (таких как Cisco IOS firewall и NAT). В данный момент NAT включает и выключает VFR автоматически. т.е. когда NAT включен на интерфейсе, то на этом интерфейсе автоматически включена VFR.

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



2018-10-01T12:20:23
Cisco

Резервирование сервера Elastix с помощью heartbeat и rsync

Одним из простых способов построения отказоустоичивой системы телефонии на основе elastix является использование heartbeat для резервироания серверов и rsync для синхронизации конфигурации. Для начала устанавливаем и настраиваем heartbeat и rsync.

После настройки heartbeat и rsync создаем на основном сервере файл mysqldump.sh

mysqldump -u root -ppassword asterisk > /home/backup/asterisk.sql

mysqldump -u root -ppassword asteriskcdrdb > /home/backup/asteriskcdrdb.sql

mysqldump -u root -ppassword meetme > /home/backup/meetme.sql

cp /etc/sysconfig/iptables /home/backup/

Изменяем права на запуск:

chmod 750 /home/mysqldump.sh

Добавляем его в cron, для этого в файл /var/spool/cron/root добавляем строчку

00 00 * * * * /home/mysqldump.sh

Перезапускаем крон.

/etc/init.d/crond restart

На резервном сервере создадим скрипт который будет синхронизировать конфигурацию с основным сервером.

nano /home/sync_config.sh

Его содержание

rsync  -rc --exclude=Thumbs.db -t -e ssh --rsync-path=/usr/bin/rsync --temp-dir=/tmp root@server1:/home/backup/ /home/backup

rsync  -rc --exclude=Thumbs.db -t -e ssh --rsync-path=/usr/bin/rsync --temp-dir=/tmp root@server1:/etc/asterisk/ /etc/asterisk

rsync  -rc --exclude=Thumbs.db -t -e ssh --rsync-path=/usr/bin/rsync --temp-dir=/tmp root@server1:/var/lib/asterisk/ /var/lib/asterisk

rsync  -rc --exclude=Thumbs.db -t -e ssh --rsync-path=/usr/bin/rsync --temp-dir=/tmp root@server1:/var/spool/asterisk/monitor/ /var/spool/asterisk/monitor

mysql -u root -ppassword asterisk < /home/backup/asterisk.sql

mysql -u root -ppassword meetme < /home/backup/meetme.sql

mysql -u root -ppassword meetme < /home/backup/asteriskcdrdb.sql

cp /home/backup/iptables /etc/sysconfig/iptables service iptables restart /bin/asterisk.reload

Изменяем права

chmod 750 /home/sync_config.sh

И тоже добавляем его в cron

30 00 * * * * /home/sync_config.sh

Для корректной работы астериска, нужно прописать в  /etc/asterisk/sip.conf

bindaddr=192.168.0.12

Где 192.168.0.12 — общий ip адрес на который переключается сервер с помощью heartbeat.

Для этого в WEB интерфейсе elastix заходим во вкладку PBX->Unembedded freePBX. И на вкладке Tools в меню Asterisk Sip Seting в самом низу есть строка «Bind Address». Здесь прописываем наш адрес.

Так же настраиваем авторизацию по ключу. Чтобы работала синхронизация конфигурации через cron.



2018-10-01T12:04:16
Asterisk