Приведу пример изменения TX и RX буферов сетевых интерфейсов в Linux.
Сначала установим ethtool если он не установлен:
Архивы автора:Vyacheslav
Мониторинг Linux ISG в Zabbix
Сегодня захотелось сделать мониторинг Linux ISG сессий в Zabbix.
Введя команду на одном из серверов:
/opt/ISG/bin/ISG.pl show_count
Увидел следующее:
Approved sessions count: 2021
Unapproved sessions count: 2
Zabbix агент на сервере уже был установлен, поэтому открыл его конфигурационный файл (в редакторе nano клавиши Ctrl+X для выхода, а y/n для сохранения или отмены изменений):
nano /etc/zabbix/zabbix_agentd.conf
Придумал и добавил следующий код:
UserParameter=isg.approved, /opt/ISG/bin/ISG.pl show_count | grep "Approved sessions count:" | awk '{print $4}' UserParameter=isg.unapproved, /opt/ISG/bin/ISG.pl show_count | grep "Unapproved sessions count:" | awk '{print $4}'
Разрешим работу Zabbix агента под root пользователем указав:
AllowRoot=1
Перезапустим Zabbix агент чтобы применить изменения:
sudo /etc/init.d/zabbix-agent restart
На Zabbix сервере создадим шаблон ISG, добавим в него элементы данных, указав тип — Zabbix агент, а ключи: isg.approved, isg.unapproved.
Создадим графики для созданных элементов данных.
Применим шаблон к нужным узлам сети.
Готово.
Мониторинг Postfix в Zabbix
Сперва выполним настройку Zabbix агента.
Создадим файл (в редакторе nano клавиши Ctrl+X для выхода, а y/n для сохранения или отмены изменений):
nano /etc/zabbix/zabbix_agentd.d/userparameter_postfix.conf
Добавим в него:
UserParameter=postfix.maildrop, find /var/spool/postfix/maildrop -type f | wc -l UserParameter=postfix.deferred, find /var/spool/postfix/deferred -type f | wc -l UserParameter=postfix.incoming, find /var/spool/postfix/incoming -type f | wc -l UserParameter=postfix.active, find /var/spool/postfix/active -type f | wc -l UserParameter=postfix.queue, mailq | grep -v "Mail queue is empty" | grep -c '^[0-9A-Z]'
Либо можно просто добавить строки выше в файл конфигурации Zabbix агента.
Также откроем файл конфигурации Zabbix агента:
nano /etc/zabbix/zabbix_agentd.conf
Разрешим работу Zabbix агента под root пользователем указав:
AllowRoot=1
Перезапустим Zabbix агент чтобы применить изменения:
sudo /etc/init.d/zabbix-agent restart
Теперь перейдем к Zabbix серверу.
Создадим шаблон Postfix, добавим в него элементы данных, указав тип — Zabbix агент, а ключи: postfix.maildrop, postfix.deferred, postfix.incoming, postfix.active, postfix.queue.
Создадим графики для созданных элементов данных.
Также можно создать элемент данных считающий количество процессов Postfix, указав тип — Zabbix агент, а ключ:
proc.num[,postfix]
Также создадим триггер сообщающий когда процессов 0.
Скачать готовый шаблон можно тут — Zabbix шаблон для Postfix
Zabbix шаблон для Postfix
Размер: ~ 2Kb
Инфо: Экспортирован из Zabbix 3.2, также подойдет для других версий.
Инструкция: Мониторинг Postfix в Zabbix
Ссылка на скачивание: Скачать Template App Postfix
IPTables правила для MySQL
Если в iptables блокируются все входящие соединения (INPUT DROP) и чтобы открыть внешний доступ к MySQL необходимо добавить правила:
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
Чтобы открыть доступ только конкретной сети, например 10.0.0.0/24:
iptables -A INPUT -s 10.0.0.0/24 -p tcp -m tcp --dport 3306 -j ACCEPT
Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:
iptables -D INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
Посмотреть список правил можно командой:
sudo iptables -nvL
Замечу, для того чтобы открыть внешний доступ, также нужно в конфигурационном файле my.cnf закомментировать строку «bind-address = 127.0.0.1».
Если по умолчанию INPUT ACCEPT, то сначала укажем с каких IP разрешен доступ, а только последним правилом заблокируем всем остальным:
/sbin/iptables -A INPUT -s 127.0.0.1 -p tcp --destination-port 3306 -j ACCEPT /sbin/iptables -A INPUT -s 192.168.1.5 -p tcp --destination-port 3306 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP
Например используя nmap можно проверить локально и внешне фильтруется ли доступ:
nmap -p 3306 localhost nmap -p 3306 192.168.1.5
Смотри также:
Настройка IPTables
Другие мои статьи о MySQL
Решение ошибки «md: kicking non-fresh sda1 from array»
Был когда-то случай, выпал из рейда один диск и при загрузке сервера в логах отображалось сообщение:
md: kicking non-fresh sda1 from array
Так как диск был не в рейде, то данные на нем устарели.
Прежде всего проверим диск на ошибки, например как я писал в статье указанной ниже, и попытаемся определить почему он был исключен из рейда.
В моем случае диск был полностью рабочий, поэтому посмотрев информацию о рейде:
cat /proc/mdstat mdadm --detail /dev/md0
Вернул его обратно в рейд:
mdadm /dev/md0 -a /dev/sda1
Спустя некоторое время данные синхронизировались на диск и ошибка больше не появлялась.
Смотрите также:
Диагностика HDD используя smartmontools
mdadm — утилита управления программными RAID массивами
Решение проблемы с выпавшими дисками mdadm
Обновление BIOS Asus M5A78L-M LX3
Для теста выполню обновление BIOS в материнской плате Asus M5A78L-M LX3.
Читать далее «Обновление BIOS Asus M5A78L-M LX3»IPTables правила для NTP и SNTP
Чтобы открыть доступ NTP клиенту и серверу в IPTables необходимо добавить правила:
Читать далее «IPTables правила для NTP и SNTP»Прошивка TP-LINK TL-WR840N V2 от Kyivstar
На тесте буду прошивать TP-LINK TL-WR840N V2 от Kyivstar
С установленной следующей версией прошивки:
Версия встроенного ПО:
3.16.9 Build 160829 Rel.55894n
Версия оборудования:
WR840N v2 00000000
Сначала необходимо попробовать прошить через TFTP.
Как запустить на компьютере TFTP сервер я описывал в этих статьях:
Запуск TFTP сервера на Windows
Установка и настройка TFTP сервера в Ubuntu
Скачиваем архив с прошивками отсюда:
https://files.ixnfo.com/Firmware/TP-Link/wr840nv2_tp_recovery.bin.zip
Файл wr840nv2_tp_recovery.bin помещаем в директорию TFTP сервера.
Назначим компьютеру именно этот IP-адерс — 192.168.0.66 и маску 255.255.255.0, соединим его с маршрутизатором через любой LAN-порт.
Выключим питание маршрутизатора, нажмем кнопку reset на задней стенке маршрутизатора и продолжая держать включим питания, засветится замочек, reset отпускаем.
Этим мы перевели его в режим восстановления, в котором он начнет пытаться загрузить файл wr840nv2_tp_recovery.bin с TFTP-сервера 192.168.0.66.
После успешной загрузки прошивки маршрутизатор сам перезагрузится и запустится с данной прошивкой.
Если обновление прошло успешно, то откроем в браузере веб интерфейс маршрутизатора набрав 192.168.0.1 (логин и пароль admin) и обновим прошивку файлом wr840nv2_ru_3_16_9_up_boot(150929).bin.
Смотрите также — Обновление прошивки маршрутизатора TP-Link TL-WR840N
Если маршрутизатор остался на прошивке от Kyivstar c IP адресом 192.168.1.1 (логин и пароль kyivstar), то остается второй вариант — выпаять микросхему памяти, подключить её к программатору, сохранить копию данных (dump) на всякий случай и записать другой dump:
https://files.ixnfo.com/Firmware/TP-Link/Dumps/wr840nv2_fulldump.zip
(заранее изменив в нем через HEX редактор на оригинальные — MAC (по адресу 1FC00) и PIN (по адресу 1FE00 )).
После этого обратно припаяем микросхему.
В моём случае маршрутизатор (с версией прошивки указанной в начале статьи) обновлялся по TFTP, но прошивка оставалась прежней от Kyivstar, поэтому пришлось воспользоваться программатором.
Однако ходят слухи что по TFTP можно прошить некоторые версии.
Смотрите также мои статьи:
Прошивка TP-LINK TL-WR741ND(KS) V2 от Kyivstar
Прошивка TP-LINK TL-WR741ND(KS) V4 от Kyivstar
Восстановление маршрутизатора TP-Link TL-WR740N
Установка и использование jnettop
jnettop — утилита для просмотра статистики трафика в реальном времени, с сортировкой по хостам/портам.
Команда установки в Ubuntu/Debian:
sudo apt-get install jnettop
Команда установки в CentOS:
sudo yum install jnettop
Пример простого запуска:
sudo jnettop
Пример запуска с указанием сетевого интерфейса:
sudo jnettop -i eth0
Опишу возможные опции запуска:
-h (справка)
-v (просмотр версии)
-c (отключить фильтрацию контента)
-d (записывать отладочную информацию в файл)
-f (чтение конфигурации из файла, если не указано, то файл ищется по пути ~/.jnettop)
-i (захватить пакеты с указанного интерфейса)
—local-aggr [none|host|port|host+port] (установить локальное агрегирование на указанное значение)
—remote-aggr [none|host|port|host+port] (установить удаленное агрегирование на указанное значение)
-n (не преобразовывать IP в DNS имена)
-p (включение неразборчивого режима, чтобы принимать все пакеты которые приходят на сетевой интерфейс)
-s (выбирает одно из правил, определенных в файле конфигурации .jnettop (по его имени))
-x (позволяет специфицировать правило пользовательской фильтрации. это позволяет использовать синтаксис стиля tcpdump. не забудьте включить фильтр в кавычки при запуске из оболочки)