Роман Теличко

Заметки веб-разработчика/админа

Средний LA (Load Average) за сутки используя статистику atop

// Март 2, 2017 | 62 просмотров | комментариев (0)

Начнём с того что такое atop.
atop — продвинутый интерактивный полноэкранный монитор производительности, расширенный аналог top. Позволяет контролировать загрузку ЦПУ, ОЗУ, HDD, сети и многое другое. На мой взгляд, является самым удобным инструментом для мониторинга состояния системы, поскольку собирает всю необходимую информацию вместе. Важной особенностью является возможность сохранения данных в файл собственного двоичного формата, что мы и будем использовать для решения этой задачи.
Я не буду останавливаться на возможностях atop в рамках этой статьи.

После инсталляции atop складывает свою статистику в файлы (по дням) в папку /var/log/atop/.

С помощью опции -r <путь_к_файлу> указывается какой именно дамп будет считан.
Для ещё более точного определения диапазона за этот день можно использовать опции -b время старта (в формате hh:mm) и -e время окончания (в формате hh:mm)
Если нас интересует статистика только по некоторым параметрам, мы можем указывать это с помощью опции -P. Значения могут быть следующие:

  • PRC — Process level totals
  • CPU — CPU utilization
  • CPL — CPU load information
  • MEM — Memory occupation
  • SWP — Swap occupation and overcommit info
  • PAG — Paging frequency
  • LVM/MDD/DSK — Logical volume/multiple device/disk utilization
  • NET — Network utilization (TCP/IP)

Тогда средний LA (Load Average, параметр CPL) за сутки (в примере это 20170302) можно вывести используя следующее:

atop -PCPL -r /var/log/atop/atop_20170302 | grep 'CPL' | awk -F ' ' '{print $8}' | awk '{ total += $1 } END { print total/NR }'

Что выведет:

2.155

Точно так же вы можете отобразить и другие параметры.
Это всё. Удачи.

Установка pgAdmin4 в Ubuntu 16.04

// Декабрь 2, 2016 | 5736 просмотров | 3 комментария

pgAdmin4Обновился графический интерфейс для управления СУБД PostgreSQL — pgAdmin 4. Будем надеяться что новая версия не будет так сильно «сыпаться» 🙂
Пока ещё нет ни deb-пакета, ни ссылок на репозиторий, но попробовать уже хочется 🙂

Так что сегодня я расскажу как поставить pgAdmin4 в режиме клиента (pgAdmin4 Desktop)
Читать далее…

Потоковая репликация в PostgreSQL 9.6

// Ноябрь 27, 2016 | 2850 просмотров | комментариев (0)

Потоковая репликация (streaming replication) является передачей записей из WAL (Write-Ahead Log) от мастера к репликам. Писать при этом можно только в мастер, но читать можно как с мастера, так и с реплик. В итоге мы получаем не просто горизонтальное масштабирование, а ещё и отказоустойчивую архитектуру (failover).
Приступим к настройке реплики.

  1. Начальные условия
  2. Устанавливаем PostgreSQL 9.6 в Debian 8.6 (jessie) на оба сервера
  3. Настраиваем мастер (master)
  4. Настраиваем слейв (slave)
  5. Всё работает? Всё работает!
  6. А давайте что-то поломаем?!
  7. Догоняем прежний мастер до актуального состояния и возвращаем ему прежний статус

Начальные условия

Возьмём 2 сервера (в моём случаи — виртуальные машины) с чистым Debian 8.6 (jessie) amd64.

  1. master: 192.168.0.100
  2. slave: 192.168.0.200

Читать далее…

Какие команды терминала вы используете чаще всего?

// Октябрь 13, 2016 | 49 просмотров | комментариев (0)

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

Выполните следующую команду в окне терминала, чтобы увидеть список 10 наиболее часто используемых терминальных команд:

history | awk '{print $2}' | sort | uniq -c | sort -rn | head -10

Интерестно, не правда ли?

За полгода использования моей Ubuntu 16.04 LTS мой топ-10 список составил следующие команды:

    686 ssh
    251 sudo
    217 ll
    170 cd
     92 up
     85 hg
     70 cat
     56 scp
     51 pwgen
     44 aps

Софт по-умолчанию для Ubuntu Gnome 16.04

// Сентябрь 17, 2016 | 344 просмотров | комментариев (0)

В начале

sudo vi /etc/apt/sources.list
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

Софт по-умолчанию

sudo apt-get install chromium-browser aptitude unrar p7zip safe-rm sshfs pwgen imagemagick msttcorefonts mc openssh-server tmux htop atop meld cabextract gthumb fdupes mplayer vlc easytag audacious rsync libreoffice gparted git mercurial subversion shutter etherwake guake whois nmap rpl openjdk-9-jre gnome-shell-extension-weather

Дополнительный софт

Читать далее…

Делаем ввод паролей в терминале видимым

// Август 11, 2016 | 235 просмотров | комментариев (0)

Каждый раз, когда вы используете sudo — терминал попросит вас ввести пароль пользователя.
Это отличная мера безопасности, тут никто не спорит. Но терминал не предлагает никакой визуальной обратной связи при вводе пароля. Это часто сбивает с толку.
Добавить такую связь довольно просто в результате чего мы будем при вводе видеть «звездочки».

  1. Открываем терминал (часто сочетанием клавиш Ctrl+Alt+T) и вводим
    sudo vi /etc/sudoers
  2. Находим строчку
    Defaults env_reset

    и заменяем её на

    Defaults env_reset,pwfeedback

    visible_passwd_sudoers

  3. Сохраняем наш файл через :wq! (для программы vi)
  4. И вот, теперь вы видим такой результат при вводе:
    visible_passwd_result

Удачи!

PostgreSQL 9.5 в Ubuntu 15.10+

// Февраль 15, 2016 | 647 просмотров | комментариев (0)

Добавляем в /etc/apt/sources.list адрес к репозиторию с последним PostgreSQL:

sudo -s
echo "deb https://apt.postgresql.org/pub/repos/apt/ `lsb_release -s -c`-pgdg main" >> /etc/apt/sources.list

Получаем «волшебный» ключик:

sudo wget --quiet -O - https://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc|sudo apt-key add -

И теперь всё просто:

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

И можно поставить, если у вас ещё не было:

sudo apt-get install postgresql-9.5

Создаём и оптимизируем свой tile-сервер для OpenStreetMap на основе Ubuntu 14.04

// Сентябрь 15, 2015 | 5876 просмотров | 2 комментария

Сегодня я расскажу как довольно просто поднять и настроить свой собственный сервер карт (тайловый сервер) на основе Ubuntu Server 14.04 LTS и OpenStreetMap.

Итак начнём. Из Википедии:

OpenStreetMap (дословно «открытая карта улиц»), сокращённо OSM — некоммерческий веб-картографический проект по созданию силами сообщества участников-пользователей Интернета подробной свободной и бесплатной географической карты мира.

Есть довольно подробная официальная статья об установке и настройке tile-сервера, но есть ещё более простой и быстрый способ.
Читать далее…

Linux. Установка и настройка анализатора логов Logwatch

// Апрель 30, 2015 | 2285 просмотров | комментариев (1)

logwatch — это анализатор системных логов (журналов), начиная от /var/log/messages и заканчивая логами CISCO-оборудования. Результаты анализа утилита группирует и помещает в отчёт, который может как выводиться в stdout, так и отправляться электронной почтой или сохраняется в файл. Формат отчёта предлагается в трех вариантах: plaintext, HTML или файл, при этом вы можете регулировать уровень детализации отчёта исходя из собственных потребностей.
Сегодня я расскажу вам как его установить и настроить.

Ставится он в Debian/Ubuntu довольно просто:

sudo apt-get install logwatch

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

cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/

И открываем на редактирование:

vi /etc/logwatch/conf/logwatch.conf

Настраиваем:

  • Задаём месторасположение временной директории

    TmpDir = /tmp
  • Вид отправки отчета по-умолчанию задаём как

    Output = mail

    чтобы получать отчёты не в stdout (поток стандартного вывода), а на почту.

  • Формат отчёта выбираем HTML, а не plaintext

    Format = html
  • Указываем ваш email, куда будут отправлены ежедневные отчёты

    MailTo = roman@romantelycko.com
  • Задаёт имя и адрес отправителя (потом удобно создать фильтр)

    MailFrom = logwatch@myserver.com
  • Задаём за какой период времени отбирать анализируемые сообщения: all, today или yesterday

    Range = yesterday
  • Определяем уровень детализации отчёта. Может принимать как числовые значения от 0 (минимум детализации) до 10 (максимум). Также можно использовать синонимы: Low, Med и High, которые соответственно равны числовым 0, 5 и 10;

    Detail = Med
  • Задаём имя службы (имя файла из каталога /usr/share/logwatch/scripts/services/), логи которой необходимо анализировать. Если указать значение All, то будут обрабатываться все службы. Более того, можно некоторые из них исключить из отчёта указав перед именем службы минус ("-"). Например включаю в отчёт все службы кроме http и exim:

    Service = All
    Service = "-eximstats"
    Service = "-http"

Внешне вывод в HTML виде выглядит страшненько. Прямо «Привет из 90х».
Лично я сам формат стилизовал следующим образом, хотя можно найти и другие темы в Сети.

Открываем файл HTML-шаблона

vi /usr/share/logwatch/default.conf/html/header.html

И заменяем наш <style>...</style> на следующий:

<style type="text/css">
    body,h1,h2,h3 { 
        margin:0; padding:0; color:#404040;
        font:16px/16px courier,"courier new",Verdana,Arial,sans-serif; 
    }
    a { color:#227596; font-size:14px; }
    ul li a { font-size:18px; line-height:22px; }
    .service { padding:20px 0 0 20px; } 
    .return_link { padding:10px 0 30px 20px; }
    table,tr,td,th { 
        border:0!important; border-collapse:collapse; 
        font:14px/18px courier,"courier new",Verdana,Arial,sans-serif; 
        color:#404040; text-align:left; background: #ffffff; 
    }
    td,th { padding:2px 4px; margin:0; }  
    h1, h1 a, h2, h2 a, h3, h3 a, th { font-size:16px; }
</style>

Проверим работу logwatch. Отчет должен сформироваться и прийти на почту.

/etc/cron.daily/00logwatch

Это всё. Удачи.

Конвертация FLAC в MP3

// Сентябрь 17, 2014 | 1013 просмотров | комментариев (0)

Сегодня я расскажу вам о простом способе конвертации вашей музыки из .flac в .mp3 через консоль Linux/Ubuntu

sudo apt-get install flac lame

Затем переходим в папку с музыкой в формате .flac и запускаем перекодировку в .mp3 в качестве 320 kbps (файлы .flac НЕ будут удалены)

for f in *.flac; do flac -cd "$f" | lame -b 320 - "${f%.*}".mp3; done

Это всё.

Страница 1 из 1012345678910