11 нояб. 2015 г.

Импорт данных из Lansweeper в Итилиум

Итилиум умеет импортировать данные в формате Everest. Да где ж их взять? Запускать Everest при входе пользователя? Можно. Но тормозит.
Альтернативный вариант - выбрать данные из SQL базы Lansweeper.
Потом - открываем полученный csv LibreOffice Calc, запускаем скрипт на OOBasic и получаем xml для загрузки в Итилиум.

28 окт. 2015 г.

Zabbix настройки

Почти сразу после установки.
CacheSize=32M
StartPingers=5


После, естественно,
service zabbix-server restart

24 окт. 2015 г.

Установка Zabbix в контейнеры OpenVZ Proxmox - раздельно database на postgreSQL и frontend+server

Что хотим получить?

Zabbix, если его ставить из appliance или пакетными менеджерами по-умолчанию, обладает проблемами с масштабируемостью. Поставить его просто и просто начать работу, но решение будет не масштабируемым и потом, при расширении системы, потребуется много работы по замене сервера БД на Postgres, выносе БД на отдельный хост, запуске failover-кластера.
Есть свободная платформа виртуализации Proxmox, в которой помимо полной виртуализации qemu есть контейнеры OpenVZ - аналог Solaris Zones. Контейнеры позволяют запускать множество систем на одном ядре с малыми накладными расходами. Proxmox позволяет легко бэкапить зоны, поддерживает Live Migration и кластера.
PostgreSQL устойчивее чем MySQL при высоких нагрузках, тоже позволяет создавать кластеры.

Результат - без перекомпиляции всех пакетов, при минимуме усилий, получить полностью свободную, легко масштабируемую в дальнейшем, отказоустойчивую конфигурацию Zabbix.

23 окт. 2015 г.

mysql <-> postgresql cli

  • $ mysql -u root -prootpassword
$ su - postgres
$ psql
  • mysql> show databases;
postgres=# \l
  • mysql> use mybase;
postgres=# \c mybase
  • mysql> show tables;
ocdp=# \dt
  • mysql> create database mybase;
postgres=# create database mybase;
  • mysql> drop database mybase;
postgres=# drop database mybase;
  • mysql> quit
postgres=# \q

9 мая 2015 г.

MDaemon 15.0.1, IIS, IE8 и аццкий sed

После очередного обновления (15.0.1) MDaemon резко присел на процессор, доведя загрузку до 100%. Причем происходило это не сразу, через чаc-другой работы. MDaemon работает через IIS.
Путем исследования процессов было выяснено, что процессор загружен w3wp.exe, который упорно что-то читает и пишет. Путем исследования с помощью processhacker выяснено, что он читает и пишет ini-файлы.
Эти файлы, обычно содержащие десяток строк с настройками пухли за счет такой переменной:
indexOf=function(e,g){var j;if(this==null)throw new TypeError('"this" is null or not defined');var k=Object(this),l=k.length>>>0;if(l===0)return-1;
и потом - "j=+g||0;Math.abs(j)===Infinity&&(j=0);if(j>=l)return-1;for(j=Math.max(j>=0?j:l-Math.abs(j),0);j
Последняя строчка повторялась сколько угодно раз. Файлы достигали 10 Mb за штуку.
IIS в лице веб-интерфейса MDaemon дурел от необходимости читать и писать их все - 1000 штук )))
Запустил такие команды , чтобы почистить содержимое файлов:
cd \MDaemon\Users
c:\usr\bin\find -name "User.ini" -exec sed --text --in-place=.bak /return-1/d {} ;
c:\usr\bin\find -name "User.ini" -exec unix2dos {} ;
Вторая команда нужна из-за косого sed. Не удалось найти win32 sed с поддержкой одновременно --binary и --in-place )). И потом -
c:\usr\bin\find -name "User.ini.bak" -exec rm {} ;
Нагрузка упала со 100% до 3-5%.
Надеюсь, что больше сюрпризов от MDaemon (в ближайшее время по крайней мере) не будет.

29 апр. 2015 г.

Запуск сценария Oktell, отправляющего факс, полученный как e-mail, в почтовый ящик Mdaemon

В Mdaemon настраиваем автоответчик для запуска скрипта.
В скрипте запускаем wget с дерганьем соответствующего url. Вуаля - приходит почта с tiff-файлом, в Oktell запускается серверный сценарий, который читает почту из ящика и отправляет вложение по факсу. Номер указываем в теме сообщения.
c:\usr\bin\wget "http://Web_user:Password@oktellsrv:4055/execsvcscriptplain?name=Fax_Processing"

25 мар. 2015 г.

Enable sound in RDP-session while RDP-server is a Hyper-V host

1.Enable sound in the rdp-file on a client machine.
2.Run windows audio servce (turn on to "Auto").
3.Remote Desktop Session host configuration - uncheck
options - "Disable" for video and audio (for terminal servers).

23 мар. 2015 г.

Unlock port blocked by cisco switchport security web interface

Есть техники, подключающие компьютеры. Им доступ к свитчам давать не положено.
На свитчах включена port security с параметром sticky. Порт запоминает, что в него воткнули и блокируется, если втыкают не положенное.
Проблема в том, что блокировку может снять только администратор свитчей, находящийся на месте не всегда. Решение - скрипт на перле, изображающий веб-морду для техников.
Теперь они могут:
- разблокировать порт и снять sticky-адрес;
- поменять описание порта;
- выключить не используемый порт;
- включить выключенный порт.
Авторизация через AD ограниченному списку лиц, список свитчей и список пользователей берется из конфигурационного файла.
Ссылка на Гитхаб

Perl - это Адъ ))).

18 мар. 2015 г.

rsyslog mysql database clear

mysql -u user -ppassword -e 'DELETE FROM SystemEvents WHERE ReceivedAt < date_add(current_date, interval -7 day)' database-name

17 мар. 2015 г.

Flush logs Windows 2003

rem recursive delete supermag ukm logs older than 280 days
forfiles /P C:\Progra~1\ukmserver\logs /D -280 /S /M *.log /C "cmd /c del @path"

OpenWRT TP-Link MR3420

Превращение роутера от TP-Link в комбайн с секретаршами и телефонистами.
Ч.1 - rootfs.

25 февр. 2015 г.

Rsyslog local redirect

В дополнение к Посту о rsylog:
- как отфильтровать местные сообщения, от самого rsyslog-сервера?
Очень просто -
В ommysql.conf /etc/rsyslog.d/ (п.14) нужно написать так:
$ModLoad ommysql
if not (($hostname == 'localhost') or ($hostname == '127.0.0.1')) or ($hostname == 'syslogserv') \
then {
     *.* :ommysql:127.0.0.1,Syslog,syslog,PASSWORD
     stop
}
Тогда местные сообщения пойдут в местные файлы, как сказано в основном конфиге, а то что пришло по 514 порту - уйдет в mysql.

И еще:

Для redirect-а Eventlog Windows использовать утилиту с www.syslogserver.com
- она позволяет гибко фильтровать, что конкретно отправлять, брать логи из текстовых файлов и, работая как сервис, потребляет не очень много памяти.

6 февр. 2015 г.

Lazarus. Файловый монитор.

Была тут такая задача. Есть папки, в которые попадают графические файлы. Для упрощения, можно считать, что файлы со сканера. Потом те файлы, которые оказываются нужными, необходимо сохранить, ставшие не нужными - удалить. Главное, чтобы файлы не оставались в исходной папке, т.к. уже через день никто не может сказать, нужны они кому-то, или их просто забыли удалить. Что собственно и происходит сейчас. Решил оказать помощь, написать программу, которая будет автоматизировать процесс, "заставляя" пользователя, в т.ч. и с помощью модальных окон, чистить от картинок папку в которую они попадают.
В качестве инструмента решил попробовать Lazarus. С удивлением обнаружил, что с его помощью можно писать программы. Т.е. стабильность достигла приличного уровня, юзабельность - вполне на уровне. VCL с множеством компонент. Столкнулся, правда, с парой глюков, но их удалось обойти.

В общем, просто супер, разработчики Lazarus - крутые. Уже можно школьников обучать.
Программу мою, правда, уже две недели тот, кому она была нужна, не смотрит. Как впрочем многое из того, что я делаю здесь. Исходники хотя бы надо куда-нибудь выложить.
Выложил. Вот

17 янв. 2015 г.

Send SMS - Addpac GS1002C from command line (using tst10.exe or other expect-like tools)

if  "%1"=="" goto usage
:gettemp
set TMPFILE=%TMP%\%RANDOM%.tmp
if exist "%TMPFILE%" GOTO :gettemp
echo 172.16.20.222>%TMPFILE%
echo WAIT "Login">>%TMPFILE%
echo SEND "r00t\m">>%TMPFILE%
echo WAIT "Password:">>%TMPFILE%
echo SEND "P@$$w0rd\m">>%TMPFILE%
echo WAIT ">">>%TMPFILE%
echo SEND "enable\m">>%TMPFILE%
echo WAIT "#">>%TMPFILE%
echo SEND "mobile 0 0 sms message send %1 %2 %3 %4 %5 %6 %7 %8 %9\m">>%TMPFILE%
echo WAIT "#">>%TMPFILE%
echo SEND "exit\m">>%TMPFILE%
echo WAIT ">">>%TMPFILE%
echo SEND "exit\m">>%TMPFILE%
tst10.exe /r:%TMPFILE% /o:out 
del %TMPFILE%
exit
:usage
echo Usage:%0 Phone_num Message