http://rutracker.org/forum/viewtopic.php?t=4344241
пятница, 18 декабря 2015 г.
понедельник, 14 декабря 2015 г.
zabbix + iostat
Где взять:
Итак, мониторинг состоит из файла конфигурации для агента, двух скриптов для сбора/получения данных и шаблон для веб-интерфейса. Все это доступно в репозитории на Github, поэтому любым доступным способом (git clone, wget, curl, etc...) скачиваем их на машины которые хотим замониторить и переходим к следующему пункту.
Как настроить:
Итак, мониторинг состоит из файла конфигурации для агента, двух скриптов для сбора/получения данных и шаблон для веб-интерфейса. Все это доступно в репозитории на Github, поэтому любым доступным способом (git clone, wget, curl, etc...) скачиваем их на машины которые хотим замониторить и переходим к следующему пункту.
Как настроить:
- iostat.conf — содержимое этого файла следует поместить в файл конфигурации zabbix агента, либо положить в каталог конфигурации который указан в Include опции основной конфигурации агента. Вобщем зависит от политики партии. Я использую второй вариант, для кастомных конфигов у меня отдельная директория.
- scripts/iostat-collect.sh и scripts/iostat-parse.sh — эта два рабочих скрипта следует скопировать в /usr/libexec/zabbix-extensions/scripts/. Тут также можно использовать удобное вам размещение, однако в таком случае не забудьте поправить пути в параметрах определенных в iostat.conf. Не забудьте проверить что они исполняемы (mode=755).
заливать файлы в бинарном режиме
Как настроить в web интейрфейс:
Теперь остался шаблон iostat-disk-utilization-template.xml. Через веб интерфейс импортируем его в раздел шаблонов и назначем на наш хост. Тут все просто. Теперь остается ждать примерно один час, такое время установлено в LLD правиле (тоже настраивается). Или можно поглядывать в Latest Data наблюдаемого хоста, в раздел Iostat. Как только там появились значения, можно перейти в раздел графиков и понаблюдать за первыми данными.
Теперь остался шаблон iostat-disk-utilization-template.xml. Через веб интерфейс импортируем его в раздел шаблонов и назначем на наш хост. Тут все просто. Теперь остается ждать примерно один час, такое время установлено в LLD правиле (тоже настраивается). Или можно поглядывать в Latest Data наблюдаемого хоста, в раздел Iostat. Как только там появились значения, можно перейти в раздел графиков и понаблюдать за первыми данными.
Отблагодарить можно через форму справа "Donate" ... )
To reward you via the form on the right "Donate" ... )
:)
Iotop или jbd2/sda1-8
iotop - консольная программа, написанная на Python и выводящая данные по использованию жесткого диска. Это отличная программа для того, чтобы узнать, какой процесс использует ваш жесткий диск в настоящее время. Эта команда аналогична команде top. Вы можете использовать стрелки перемещения для изменения сортировки процессов.
Как раз программа из серии ответов на вопросы типа:
- как определить какой процесс обращается к жесткому диску в linux
Установка iotop
Использование
Если запустить программу iotop с ключом -o, то будут выведены наиболее активные процессы.
Если смотреть на кучу нулей нет нужды, можно вывести только те данные, которые имеют какие-либо значения:
iotop –only
Собираем статистику за определённое время. Например, ставим эту программу минут на 10 и смотрим, что же за эти 10 минут произошло:
iotop -o -a
Этот вариант, например, позволил мне найти решение проблемы, когда запись на флешку идёт очень долго. Основным пожирателем ресурсов оказался jbd2/sda1-8. Для решения этого отдаём команду
mount -o remount,rw,commit=1200 /dev/sdb1
Расшифровка параметров
- TID - ID процесса, его же можно посмотреть в ps auxf
- PRIO - приоритет процесса
- USER - имя пользователя, от которого запущен процесс
- DISK READ - скорость чтения с диска
- DISK WRITE - скорость записи на диск
- SWAPIN - процент в свап
- IO - процент напрямую
- COMMAND - команда, которая “безобразничает” и которую так долго искали
Отблагодарить можно через форму справа "Donate" ... )
To reward you via the form on the right "Donate" ... )
:)
суббота, 12 декабря 2015 г.
Установка Zabbix
wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.2-1+trusty_all.deb
sudo dpkg -i zabbix-release_2.2-1+trusty_all.deb
sudo apt-get update && sudo apt-get -y dist-upgrade
sudo apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-agent
запускаем
Start the server :
sudo /etc/init.d/zabbix-server start
Start the agent:
sudo /etc/init.d/zabbix-agent start
проверяем
ps -aux | grep zabbix
Также добавим zabbix server и агент в автозапуск
systemctl enable zabbix-server-pgsql
systemctl enable zabbix-agent
Отблагодарить можно через форму справа "Donate" ... )
To reward you via the form on the right "Donate" ... )
:)
Создание, Форматирование, Монтирование разделов на диске для Ubuntu
Будем использовать утилиту fdisk. Посмотреть список дисков подключенных к компьютеру можно командой:
fdisk -l
Вывод примерно следующий:
Диск /dev/sdc: 21.5 ГБ, 21474836480 байт
255 heads, 63 sectors/track, 2610 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000bedde
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdc1 * 1 2497 20051968 83 Linux
/dev/sdc2 2497 2611 916481 5 Расширенный
/dev/sdc5 2497 2611 916480 82 Linux своп / Solaris
Диск /dev/sdd: 2147 МБ, 2147483648 байт
255 heads, 63 sectors/track, 261 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
На диске /dev/sdd отсутствует верная таблица разделов
Здесь видно что имеем мы 2 диска sdc и sdd. На sdc уже созданы 3 раздела sdc1,sdc2,sdc3.
sdd еще не размечен.
Для создания разделов на sdd, выполним команду
fdisk /dev/sdd
Будет предложено ввести `m` для справки, вводим и смотрим какие есть возможности по работе с диском
Действие команды
a переключение флага загрузки
b редактирование метки диска bsd
c переключение флага dos-совместимости
d удаление раздела
l список известных типов файловых систем
m вывод этого меню
n добавление нового раздела
o создание новой пустой таблицы разделов DOS
p вывод таблицы разделов
q выход без сохранения изменений
s создание новой чистой метки диска Sun
t изменение id системы раздела
u изменение единиц измерения экрана/содержимого
v проверка таблицы разделов
w запись таблицы разделов на диск и выход
x дополнительная функциональность (только для экспертов)
Нам необходимо ввести `n` то есть добавим новый раздел
Команда (m для справки): n
Действие команды
e расширенный
p основной раздел (1-4)
выбираем основной нажав `p`, либо расширенный если вам необходим он.
Номер раздела (1-4):
Ставим номер раздела, без разницы какой, но для порядка я бы посоветовал ставить 1 (если он не занят конечно). Эта цифра означает как будет называться ваш диск sdd1 или sdd2 ну и т.д.
Далее размечаем только что созданный раздел. Если раздел будет на весь диск, то оставляем все по умолчанию, ничего не вводя а просто нажимая Enter, либо вводим то как вам нужно разметить диск
Первый цилиндр (1-261, по умолчанию 1):
Используется значение по умолчанию 1
Last цилиндр, +цилиндры or +size{K,M,G} (1-261, по умолчанию 261):
Используется значение по умолчанию 261
После всех проделанных действий вводим `w` что означает сохранить настройки и выйти.
Команда (m для справки): w
Таблица разделов была изменена!
Вызывается ioctl() для перечитывания таблицы разделов.
Синхронизируются диски.
Ниже приведен способ форматирования диска в среде Ubuntu через командную строку.
Воспользуемся командой mkfs
Формат ее простой mkfs.файловая система устройство
Например нам необходимо отформатировать наш /dev/sdd1 в ext4, для этого выполним следующую команду:
mkfs.ext4 /dev/sdd1
Чтобы посмотреть какие еще можно использовать файловые системы наберите mkfs и два раза нажмите на знак табуляции. Выдаст примерно следующее:
# mkfs (+2 знака TAB)
mkfs mkfs.ext2 mkfs.ext4dev mkfs.vfat
mkfs.bfs mkfs.ext3 mkfs.minix mkfs.xfs
mkfs.cramfs mkfs.ext4 mkfs.msdos
Некоторые файловые системы как например XFS команда mkfs по умолчанию не поддерживает для этого пришлось доставить xfsprogs
apt-get install xfsprogs
Теперь нам необходимо примонтировать наш новый жесткий диск к системе.
Выполним это с помощью команды mount
mount -t ext4 /dev/sdd1 /usr/data
-t ext4 – указываем файловую систему подключаемого диска
/dev/sdd1 – Собственно, сам раздел который мы подключаем
/usr/data – Точка монтирования место куда подключается наш раздел
Кстати размонтировать диск можно командой umount указав диск
umount /dev/sdd1
Чтобы наш диск монтировался в системе автоматически после перезагрузки необходимо прописать его в файле /etc/fstab
Переходим на новую строчку и добавляем строку такого вида:
раздел_винчестера точка_монтирования файловая_система опции_монтирования два_вспомогательных_числа
раздел_винчестера точка_монтирования файловая_система опции_монтирования два_вспомогательных_числа
Например чтобы описать наш раздел /dev/sdd1 с файловой системой XFS добавляем следующую строчку:
/dev/sdd1 /usr/data xfs defaults 1 2
где, /dev/sdd1 – наш раздел, диск, устройство называйте его как хотите
/usr/data – точка монтирования, где будут файлы с нашего диска
xfs – файловая система, на примонтированном диске
defaults – все опции по умолчанию. Читайте ниже их описание
1 2 – Вспомогательные числа, также читайте описание ниже
Тут привожу таблицу опций:
Опция | Описание |
defaults | Использовать настройки по умолчанию. То есть такие: rw,suid,dev,exec,auto,nouser,async. |
rw / ro | Разрешено чтение и запись / Разрешено только чтение |
suid / nosuid | Разрешение / Блокировка работы suid, и sgid бит |
dev / nodev | Интерпретировать / не интерпретировать блок специальных устройств на файловой системе. |
exec / noexec | Разрешить выполнять двоичные файлы находящиеся на этом диске / Запретить |
auto / noauto | Устройство будет устанавливаться автоматически при загрузке / Не будет |
nouser / user | Запрещение монтирование от всех кроме root (nouser) / Разрешение монтировать от лица любого пользователя |
async / sync | Запись и чтение на диске будут производиться асинхронно / Синхронно |
Вспомогательные числа:
1 число
Возможные значения 0 или 1 – означает, включить/выключить резервное копирование файловой системы при помощи команды dump. Устаревшая опция.
2 число
Возможные значения 0, 1, 2, – означает порядок, в котором файловая система должна быть проверена при загрузке:
- 0 – не проверять.
- 1 – должна проверяться первой и использоваться как корневая.
- Для всех остальных систем ставится 2.
Отблагодарить можно через форму справа "Donate" ... )
To reward you via the form on the right "Donate" ... )
:)
Как определить тип файловой системы в Linux?
Использовать команду df -T
Отблагодарить можно через форму справа "Donate" ... )
To reward you via the form on the right "Donate" ... )
:)
Ускоряем раздачу статики
Как понять, что хард тормозит?
В Linux проблемы со скоростью дисковой системой напрямую связаны с параметром iowait (процент простоя CPU в ожидании операций ввода/вывода). Для того, чтоб мониторить этот параметр есть несколько комманд: mpstat, iostat, sar. Я обычно запускаю iostat 5 (замеры будут производиться каждые 5 сек.)
Я спокоен за сервер, у которого средний показатель iowait до 0.5%. Скорее всего на Вашем сервере «раздачи» этот параметр будет выше. Есть смысл не откладывать оптимизацию, если iowait > 10% Ваша система тратит очень много времени на перемещение головок по винчестеру вместо чтения информации, это может приводить к «торможению» и других процессов на сервере.
Как быть с большим iowait?
Очевидно, что если уменьшить количество дисковых операций ввода/вывода, винчестеру стант легче и iowait упадет.
Вот несколько рекомендаций:
В Linux проблемы со скоростью дисковой системой напрямую связаны с параметром iowait (процент простоя CPU в ожидании операций ввода/вывода). Для того, чтоб мониторить этот параметр есть несколько комманд: mpstat, iostat, sar. Я обычно запускаю iostat 5 (замеры будут производиться каждые 5 сек.)
Я спокоен за сервер, у которого средний показатель iowait до 0.5%. Скорее всего на Вашем сервере «раздачи» этот параметр будет выше. Есть смысл не откладывать оптимизацию, если iowait > 10% Ваша система тратит очень много времени на перемещение головок по винчестеру вместо чтения информации, это может приводить к «торможению» и других процессов на сервере.
Как быть с большим iowait?
Очевидно, что если уменьшить количество дисковых операций ввода/вывода, винчестеру стант легче и iowait упадет.
Вот несколько рекомендаций:
- Отключите access_log
- Отключите обновление даты последнего доступа к файлу и директории, также позвольте системе кешировать операции записи на диск. Для этого монтируем файловую систему со следующими опциями: async,nodiratime,noatime,barrier=0. ('barrier=0' неоправданный риск, если на этом же разделе находится база данных)
- Можно увеличить таймаут между сбросом «грязных» буферов vm.dirty_writeback_centisecs в /etc/sysctl.conf. У меня установлено vm.dirty_writeback_centisecs = 15000
- Вы случайно не забыли про директиву expires max?
- Не лишним будет включить кеширование дескрипторов файлов.
- Приминение клиентской оптимизации: css-спрайты, все css — в один файл, все js — в один файл
Отблагодарить можно через форму справа "Donate" ... )
To reward you via the form on the right "Donate" ... )
:)
вторник, 1 декабря 2015 г.
Установка imagemagick
sudo apt-get install php5-imagick
Отблагодарить можно через форму справа "Donate" ... )
To reward you via the form on the right "Donate" ... )
:)
Подписаться на:
Сообщения
(
Atom
)