online.pl скрипт количества пользователей онлайн

Приведу пример скрипта выполняющего sql запрос в mysql базу с выводом результата. Можно прицепить его к графикам Zabbix, Cacti и т.д. чтобы мониторить например количество игроков онлайн на каком нибудь игровом сервере.

#!/usr/bin/perl
use DBI;
my $host = "localhost";
my $port = "3306";
my $user = "root";
my $pass = "";
my $db = "test";
$dbh = DBI->connect("DBI:mysql:$db:$host:$port",$user,$pass);
$sth = $dbh->prepare("SELECT count(id) FROM `online`");
$sth->execute;
while ($ref = $sth->fetchrow_arrayref) {
print "$$ref[0]\n";
}
$rc = $sth->finish;
$rc = $dbh->disconnect;

Установка и настройка AWstats на Ubuntu

AWStats — генератор HTML отчетов анализа данных log файлов веб серверов, почты, FTP и т.д.

Приведу пример установки в Ubuntu:

sudo apt-get install awstats

Копируем конфигурационный файл и добавляем в него имя домена:

sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.example.com.conf

Через любой текстовый редактор прописываем в скопированном конфиге путь к логам домена, имя домена, алиасы домена.

LogFile="/var/log/apache2/access.log" 
SiteDomain="example.com"
HostAliases="localhost 127.0.0.1 example.com"

Обновляем статистику:

sudo /usr/lib/cgi-bin/awstats.pl -config=example.com -update

В настройках apache2 конфига домена добавляем строки:

Alias /awstatsclasses "/usr/share/awstats/lib/"
Alias /awstatsicons/ "/usr/share/awstats/icon/"
Alias /awstatscss "/usr/share/doc/awstats/examples/css"
ScriptAlias /awstats/ /usr/lib/cgi-bin/
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

После чего /awstats/awstats.pl будет открываться на любом домене которые обслуживает apache2.

Перезапускаем apache2 чтобы изменения вступили в силу:

sudo /etc/init.d/apache2 reload

Статистику можно посмотреть набрав в браузере адреса:

http://example.com/awstats/awstats.pl
http://example.com/awstats/awstats.pl?config=example.com

Чтобы статистика автоматически собиралась и генерировалась добавляем в планировщик cron сторуку:

0 */3 * * * /usr/lib/cgi-bin/awstats.pl -config=example.com -update > /dev/null

Все.

Настройка SNMP Traps в Ubuntu

Установка в Ubuntu:

sudo apt-get install snmpd snmptt snmptrapd

В конфиге /etc/default/snmpd.conf изменяем значение параметра TRAPDRUN с no на yes.

В конфигурационном файле /etc/snmp/snmptrapd.conf укажем комьюнити и что трапы необходимо передавать на snmptt:

authCommunity log,execute,net КОМЬЮНИТИ
traphandle default snmptthandler

В конфигурационном файле /etc/snmp/snmptt.ini укажем параметры:

mode = daemon
net_snmp_perl_enable = 1
mibs_environment = ALL
unknown_trap_log_enable = 1

Перезапустим snmpd и snmptt чтобы применить изменения:

sudo /etc/init.d/snmpd restart
sudo /etc/init.d/snmptt restart

Можно временно остановить snmpd и запустить его вручную чтобы посмотреть в реальном времени какие трапы приходят на сервер:

sudo service snmpd stop
sudo snmptrapd -f -L o

Если в системе используется iptables, то разрешим указанной ниже командой прием udp пакетов на порт 162 и сохраним добавленное правило чтобы оно не сбросилось после перезапуска системы:

sudo iptables -A INPUT -p udp -m udp -s 192.168.0.0/24 --dport 162 -j ACCEPT
sudo service iptables save

Если все правильно настроили, то трапы должны записываться в директории /var/log/snmptt/.

Смотрите также: Настройка SNMP Traps на коммутаторах D-Link

Установка и настройка DNS-сервера BIND9

BIND (Berkeley Internet Name Domain) — открытая и наиболее распространённая реализация DNS-сервера, обеспечивающая выполнение преобразования DNS-имени в IP-адрес и наоборот.

Установка в Linux Ubuntu:

sudo apt-get install bind9

Остановка/Запуск/Перезапуск Bind9:

sudo /etc/init.d/bind9 stop/start/restart

Чтобы использовать локальный DNS нужно прописать в /etc/resolv.conf:

nameserver 127.0.0.1

Редактируем конфигурационные файлы в директории /etc/bind/ под свои нужды.

Откроем файл конфигурации named.conf.options например в текстовом редакторе nano:

sudo nano /etc/bind/named.conf.options

Добавим вначале ACL с сетями которым будут разрешены запросы к DNS серверу:

acl localclients {
localhost;
localnets;
10.0.0.0/8;
172.16.0.0/12;
192.168.0.0/16;
};

В options укажем этот ACL, разрешив запросы:

allow-recursion { localclients; };
allow-query { localclients; };
allow-query-cache { localclients; };

Можно указать IP-адреса на которых будет работать bind9:

listen-on {
127.0.0.1;
192.168.1.1;
};

Или на всех:

listen-on { any; };

Либо можно также указать адреса которым разрешена рекурсия, чтобы DNS не обслуживал запросы всех клиентов, а только указанных (все остальные не прописанные адреса смогут получить только информацию прописанную в этом DNS):

allow-recursion { 127.0.0.1; 10.0.0.0/8; 192.168.0.0/16; 172.16.0.0/16; };

Правильность настроек можно проверить следующей командой (если она ничего не сообщила — значит все в порядке):

named-checkconf

Применяем изменения:

sudo rndc reload

или так:

sudo  /etc/init.d/bind9 restart

Проверка:

rndc status
netstat -lnp | grep :53
sudo ps -ax | grep bind

Из Windows можно проверить командой (где 192.168.1.1 — адрес bind9):

nslookup example.com 192.168.1.1

Кэш DNS сервера можно очистить командой:

sudo rndc flush

Сохранить кэш в файл (/var/cache/bind/):

sudo rndc dumpdb

Смотрите также:
Настройка логов Bind9
Настройка Fail2Ban под Bind9

Веб-прокси Privoxy

Privoxy — свободный веб-прокси с расширенными возможностями.

Официальный сайт: www.privoxy.org

Установка в Linux Ubuntu:

sudo apt-get install privoxy

После установки нужно прописать в настройки любього бразера http и SSL прокси с адресом:

localhost:8118

Работоспособность и настройки можно посмотреть оп адресу config.privoxy.org

Сами конфиги находятся в директории /etc/privoxy/

Можно соединить privoxy с TOR. Для этого нужно добавить в /etc/privoxy/config строку:

forward-socks4a / localhost:9050 .

или

forward-socks5 / 127.0.0.1:9050 .

и перезапустить privoxy:

sudo /etc/init.d/privoxy restart

Инструмент мониторинга Munin

Munin — один из инструментов мониторинга разных систем, использующий RRDtool.
Состоит из сервра munin куда собираются все данные и демона munin-node с которых собираются данные.
Официальный сайт: munin-monitoring.org

Установка сервера:

sudo apt-get install munin

Установка munin-node на сервера которые хотим мониторить:

sudo apt-get install munin-node

Конфиги находятся по адресу:
/etc/munin

В конфиге munin-node.conf нужно прописать ip адрес сервера которому разрешено получать информацию. В munin.conf адреса клиентов с которых нужно получать информацию.

Уничтожение данных с помощью Shred

Shred — позволяет перезаписать указанный файл случайными данными чтобы в случае необходимости обеспечить более тяжелый процесс восстановления или невозможность восстановления данных.
На некоторых файловых системах удаление данных не гарантируется и использование shred может быть не эффективным.

Список возможных аргументов:
Справка о программе:

--help
man shred

Читать далее «Уничтожение данных с помощью Shred»

Выключение Linux сервера кнопкой Power

Были случаи когда нужно было срочно выключить некоторые Linux Ubuntu сервера кнопкой Power, но при нажатии на нее ничего не происходило. А заходить по SSH и прописывать команды poweroff или shutdown вариант не оптимальный. Так вот решением этого неудобства есть установка ACPID (службы управления электропитанием):

sudo apt-get install acpid

После установки которого уже создается стандартный конфиг и sh скрипт который выполняется при нажатии кнопки Power и коректно завершает работу системы.

Отключение гостевого доступа в Linux Ubuntu

Открываем в текстовом редакторе конфигурационный файл дисплейного менеджера LightDM, который по умолчанию используется для дистрибутивов Ubuntu и Xubuntu:

sudo nano /etc/lightdm/lightdm.conf

Находим переменную «allow-guest» и изменяем ее значение с true на false. Если ее нету, то добавляем в конце файла allow-guest=false.

Перезапускаем LightDM чтобы изменения вступили в силу:

sudo restart lightdm

Все, под учетной записью гостя в систему нельзя войти.