понедельник, 14 декабря 2015 г.

zabbix + iostat

Где взять:
Итак, мониторинг состоит из файла конфигурации для агента, двух скриптов для сбора/получения данных и шаблон для веб-интерфейса. Все это доступно в репозитории на 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. Как только там появились значения, можно перейти в раздел графиков и понаблюдать за первыми данными.

Отблагодарить можно через форму справа "Donate" ... )

To reward you via the form on the right "Donate" ... )

:)

Iotop или jbd2/sda1-8

iotop - консольная программа, написанная на Python и выводящая данные по использованию жесткого диска. Это отличная программа для того, чтобы узнать, какой процесс использует ваш жесткий диск в настоящее время. Эта команда аналогична команде top. Вы можете использовать стрелки перемещения для изменения сортировки процессов.
Как раз программа из серии ответов на вопросы типа:
  • как определить какой процесс обращается к жесткому диску в linux

Установка iotop

В системе DebianUbuntuLinux Mint.
sudo apt-get install iotop В системе Red HatFedora,CentOS yum install 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 упадет.
Вот несколько рекомендаций:

  • Отключите 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" ... )

:)

друзья )

Сохраняйте и делитесь желаниями, и не забывайте о важных датах! парсинг центр