Linux: log.io — мониторинг логов через веб
11 ноября 2014
NGINX: uWSGI для запуска Python на CentOS0 (0)
10 ноября 2014
Для «связки» NGINX и Python-скриптов будем использовать протокол WSGI, котором хорошо написано тут>>>. Передачей данных в данном случае будет заниматься сервер uWSGI, домашняя страница проекта тут>>>. Т.е., в нашей схеме на «входе» будет принимать соединения NGINX, передавать их uWSGI, который в свою очередь будет вызывать Python-скрипты. Установка выполняется на: # cat /etc/redhat-release CentOS release 6.5 (Final)
![]()
NGINX: включение status-page0 (0)
9 ноября 2014
В дополнение к server_status для PHP-FPM и server-status для Apache HTTP — включение аналогичной страницы для NGINX. Проверяем, собран ли NGINX с поддержкой модуля http_stub_status_module: # nginx -V | grep http_stub_status_module nginx version: nginx/1.6.2 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) TLS SNI support enabled configure arguments: —prefix=/etc/nginx —sbin-path=/usr/sbin/nginx […] —with-http_stub_status_module […] —param=ssp-buffer-size=4… Читать далее »
![]()
Windows: утилита SuperPutty — несколько консолей в одном окне0 (0)
8 ноября 2014
На работе мы пользуемся исключительно Windows, а консолей открытых приходится держать много, и очень не хватало возможностей KDE Console, или GNOME Terminal, в которых можно было в одном окне держать несколько консолей. Вместо этого — половина панели задач забита окошками Putty. Что бы избавиться от этого — можно использовать утилиту Superputty. Качаем архив отсюда>>>.
![]()
Linux: типы памяти0 (0)
6 ноября 2014
Виртуальная память (Virtual Memory) В современных операционных системах каждый процесс выполняется в собственном выделенном ему участке памяти. Вместо отображения (mapping) адресов памяти непосредственно на физические адреса, операционная система работает как некий абстрактный слой, создавая виртуальное адресное пространство для каждого процесса. Процесс отображение адресов между физической памятью и виртуальной памятью выполняется процессором с использованием «таблицы трансляции»… Читать далее »
![]()
GIT: установка и настройка0 (0)
3 ноября 2014
Установка на RHEL/CentOS: # yum install git-core Для Debian/Ubuntu: # apt-get install git-core GIT использует два файла настроек: /etc/gitconfig — общий, и ~/.gitconfig — для каждого пользователя. Для настроек GIT используется команда config. При её вызове можно использовать параметр —system (для использования /etc/gitconfig), или —global (для файла ~/.gitconfig).
![]()
C: Makefile:7: *** missing separator. Stop.0 (0)
29 октября 2014
CentOS: Transaction Check Error0 (0)
28 октября 2014
При установке пакета в систему, после успешного разрешения зависимостей, установка остановилась, сообщив: Total 2.2 MB/s | 6.6 MB 00:02 Running rpm_check_debug Running Transaction Test Transaction Check Error: file /usr/share/man/man3/XML::SAX::Base.3pm.gz conflicts between attempted installs of perl-XML-SAX-0.96-7.el6.noarch and perl-XML-SAX-Base-1.04-1.el6.rf.noarch file /usr/share/man/man3/XML::SAX::Exception.3pm.gz conflicts between attempted installs of perl-XML-SAX-0.96-7.el6.noarch and perl-XML-SAX-Base-1.04-1.el6.rf.noarch
![]()
Python: скрипт подсчёт % CPU процесса из данных в /proc0 (0)
26 октября 2014
Не всегда есть возможность использовать psutil, поэтому — напишем свой велосипед. Для сбора информации нам потребуются два файла: /proc/<PID>/stat — для получения информации о процессе; /proc/stat — для информации о процессоре. Описание всех полей файла stat можно найти в документации ядра, в файле /usr/share/doc/kernel-doc-2.6.32/Documentation/filesystems/proc.txt, таблица 1-4. Нас интересуют тут такие поля: # cat /proc/stat cpu… Читать далее »
![]()
NGINX: добавление логов под мониторинг LogWatch0 (0)
25 октября 2014
Предполагается, что LogWatch установлен и настроен согласно статье.CentOS: установка и настройка LogWatch. Создаём отдельный файл настроек для логов NGINX: # cp /usr/share/logwatch/scripts/services/http /etc/logwatch/scripts/services/nginx # cp /usr/share/logwatch/default.conf/services/http.conf /etc/logwatch/conf/services/nginx.conf
![]()