Импортер ipgeobase базы русских городов в файлы, понятные для nginx geoip module, с поддержкой кодов регионов РФ.
Скачивает geo_files.zip с сайта ipgeobase.ru
Конвертирует базу в два файла:
city.txt, вида: - base64();
region.txt, вида: - ; (01-99)
Скачивает списки TOR с torproject и blutmagie.de
Создает tor.txt, вида: - 1;
https://github.com/m-messiah/ipgeobase-importer
Пополнил список
полезных gulp плагинов
gulp-strip-debug - Strip console, alert, and debugger statements from javascript code
gulp-ruby-sass - sass препроцессор
gulp-jade - html препроцессор
gulp-bower - менеджер пакетов
gulp-rigger — позволяет импортировать один файл в другой простой конструкцией
gulp-plumber — ловим ошибки, чтобы не прервался watch
gulp.spritesmith — создание спрайтов изображений
browser-sync - прокручиваете, кликаете, обновляете и заполняете формы в различных тестируемых браузерах одновременно, браузеры автоматически обновляются с каждым изменением вашего HTML, CSS, изображений и других файлов проекта
gulp-git-deploy - деплоит гит проект в удаленный репозиторий
gulp-rev - добавляет хэш к статическому файлу, например unicorn.css ? unicorn-d41d8cd98f.css
gulp-rev-rep - используется в связке с gulp-rev и заменяет стандартные имена на имена с хэшем
gulp-mocha - галп обертка для тест фреймверка js
gulp-coverage - инструмент определяет покрытие кода тестами работает в связке с gulp-mocha
gulp-phpunit - обертка для управления phpunit
gulp-phpspec - обертка для управления phpspec
gulp-codeception - обертка для управления codeception
yum install munin munin-node -y
Раскомментируем строки и укажем нужные пути в munin.conf
nano /etc/munin/munin.conf
dbdir /var/lib/munin
htmldir /var/www/html/munin
logdir /var/log/munin
rundir /var/run/munin
tmpldir /etc/munin/templates
# a simple host tree
[vashdomen.ru]
address 127.0.0.1
use_node_name yes
nano /etc/nginx/conf.d/default.conf
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
nano /etc/nginx/conf.d/vashdomen.ru.conf
location ^~ /munin {
alias /var/www/html/munin;
auth_basic "Admin Zone";
auth_basic_user_file /etc/munin/munin-htpasswd;
}
Ганерируем пароль для просмотра статистики
htpasswd -c /etc/munin/munin-htpasswd admin
посмотреть плагины которые есть
ls /usr/share/munin/plugins
посмотреть плагины которые включены
ls /etc/munin/plugins
Включаем плагины munin для nginx:
ln -s /usr/share/munin/plugins/nginx_status /etc/munin/plugins/nginx_status
ln -s /usr/share/munin/plugins/nginx_request /etc/munin/plugins/nginx_request
Дополняем файл munin-node следующим текстом:
nano /etc/munin/plugin-conf.d/munin-node
[nginx*]
env.url http://localhost/nginx_status
настройки самой ноды
nano /etc/munin/munin-node.conf
Проверяем конфигурационный файл и перечитываем правила
nginx -t
nginx -s reload
Запускаем munin-node
systemctl enable munin-node
systemctl start munin-node
Проверка работы плагинов
munin-node-configure --suggest
Посмотреть идет ли сбор данных с nginx
munin-node-configure --suggest | grep nginx
Заходим по адрессу и смотрим статистику
http://vashdomen.ru/munin/
Перезагрузка munin-node:
systemctl restart munin-node
Команда покажет какие плагины можно добавить в систему мониторинга
munin-node-configure --shell
автоматически создаст симлинки на ВСЕ рабочие плагины
munin-node-configure --shell | sh -x
Шаблон для munin на твиттер бутстрап 3
https://github.com/jonnymccullagh/munstrap
Допустим csv файлик такой:
Название, Город, Страна
Васька, Киев, Украина
Петька, Харьков, Украина
Запрашиваем файлик с этими данными
$.ajax({
url: 'csv_data.csv',
dataType: 'text',
}).done(successFunction);
Функция построения из csv в таблицу
function successFunction(data) {
var allRows = data.split(/\r?\n|\r/);
var table = '';
for (var singleRow = 0; singleRow < allRows.length; singleRow++) {
if (singleRow === 0) {
table += '';
table += '';
} else {
table += '
';
}
var rowCells = allRows[singleRow].split(',');
for (var rowCell = 0; rowCell < rowCells.length; rowCell++) {
if (singleRow === 0) {
table += '';
table += rowCells[rowCell];
table += ' | ';
} else {
table += '';
table += rowCells[rowCell];
table += ' | ';
}
}
if (singleRow === 0) {
table += '
';
table += '';
table += '';
} else {
table += '';
}
}
table += '';
table += '
';
$('body').append(table);
}