LINUX.ORG.RU

Сообщения DRVTiny

 

Утилиты для работы с ActiveSync (cli)?

Нужно для чудесного мониторинга сделать проверки работоспособности базовых функций ActiveSync на чудесном же сервере Exchange заказчика (не буду уточнять какого, просто скромно упомяну, что Exchange заказчиком (внезапно) куплен на наши с вами деньги).
Собственно, вопрос в том, что я не нашёл ни одного cli-шного клиента ActiveSync под Linux - и это при том, что некоторые вещи (например, получение Folder Hierarchy) у меня отлично получаются даже на чистом BASH+curl.
Собственно, утилит для работы с AS'ом под Linux действительно нет вообще или я плохо искал?
P.S. Реализовал бы все проверки AS на баше, но сейчас есть затыка в командой SendMail: оно мне отвечает, что-де я ему неправильно сформированный wbxml подсунул. И честно сказать, я уже слегка задолбался с этим бороться, хочется просто готовое решение или хотя бы вменяемый пример в исходниках.
Заранее всем спасибо размером с типичный образчик продукции БелАЗ'а :)

 , ,

DRVTiny
()

Что можно промониторить у PostgreSQL, имея zabbix agent и больше ничего?

Собственно, есть zabbix agent, установленный на системе клиента, куда нет доступа по ssh и в принципе нет доступа. Никаких специфических UserParameter'ов на агенте не прописано, он такой вполне себе голый как сокол.
Есть PostgreSQL, который работает на системе клиента и наружу доступен портом 5432. Никакого доступа туда тоже нет (для мониторинга не заведён пользователь).
AllowRemoteCommands установлен в 0, так что с этой стороны не подлезть
Известно, что система - RedHat ES 6.x

Внимание, вопрос:

Что можно промониторить в такой немного странной, но реально имеющей место быть ситуации?
Я добавил proc.num[postgres] и net.tcp.service[postgresql]
Следующим шагом промониторить ошибки в логах Postgres
Есть ещё какие-нибудь оригинальные идеи? :)

 ,

DRVTiny
()

Поругайте опции mysqldump для дампа Master'а

Хочу использовать такой набор опций для дампа мастера. Уточню, что все create table делаются перед этим дампом, посредством парсинга show create table (думаю использовать тот же mysqldump для этого. а то с учётом блокировок на запись слишком длинно получается, да и непонятно, зачем было изобретать велосипед :) ).
Вот. Итак, сами опции:

--no-create-info --master-data --single-transaction --quick --add-locks --disable-keys --extended-insert --routines --triggers
ЧЯДНТ? Или ПЯВДП? :)
Заранее гигантское спасибо всем мускул-фанам, к которым я и сам себя всё больше причисляю, ибо usability&ergonomic&documentation во многом компенсируют все огрехи!
P.S. Есть подозрение, что лучше --master-data=2, поскольку дефолтное 1 весьма навязчиво устанавливает начало репликации.

 ,

DRVTiny
()

Неубиваемый процесс

На своей системе (Ubuntu 13.10) уже не в первый раз замечаю странную особенность: при запущенном VirtualBox'е в какой-то момент может перестать убиваться тот или иной процесс.
Например, сейчас я птаюсь убить проклятый Firefox, который стал уже тупее и ужаснее самого ослика, а потому использовать его приходится со скрежетом зубовным исключительно ради хорошей поддержки стандартов.
Говорю процессу Firefox: kill -9 899 - а он всё «работает», продолжает жрать 99% одного ядра, ничего полезного при этом не делая (даже *лядский flash не показывая). При этом до запуска VirtualBox'а я прекрасно использовал xkill (забинден на Ctrl+Alt+K - всем советую) для ритуального убийства огнелисов - и всё было нормально, дохли с одного клика!
Скажите, может слышал кто про такой баг - вдруг все уже давно в курсе, что загрузка модулей ядра VirtualBox приводит к таким глюкам и только я всё ещё в танке? :)

 , , ,

DRVTiny
()

Яркость ламп внешнего (не нотубучного) дисплея: как её изменять?

Вопрос: а как, собственно, она меняется в случае с дисплеем, подключенным по DVI или уж тем паче D-Sub?
Какой протокол используется для настройки дисплеев (разработанный VESA?) и почему настройка яркости чаще всего сводится к «притушению» выводимых цветов, а не к регулированию выходной мощности ламп подсветки?
Ну и как пример вот ссылка на некий мануал: http ://prof-labs.ru/blog/nix/167 - вот что там конфигурируется через ACPI: видюха или всё-таки дисплей?
UPD:

$ cat /sys/class/backlight/acpi_video0/brightness
cat: /sys/class/backlight/acpi_video0/brightness: No such file or directory
Дисплей у автора статьи конечно же ноутбучный, зараза.

 , , , ,

DRVTiny
()

Можно ли все новые данные поместить в партицию?

Обычно делают RANGE BY (field) ADD PARTITION lt_smth LESS THAN (smth), а можно ли сделать наоборот? Мне нужно, чтобы в НЕпартиционированной таблице добавилась партиция с «новыми» данными, можно ли так сделать. Подозреваю, что нельзя, но не понимаю, почему.

 ,

DRVTiny
()

DuMeMe: хорошая, годная обёртка для нетривиальных дампов MySQL

Использовал её для того, чтобы слить дамп, в котором будет добавляться партиционирование и сжатие перед собственно дампом базы.
Есть режим dry-run. Как пользоваться - наглядно описано в dumeme -h
Для того, чтобы утилита работала, советую скачать либо весь репозиторий на гитхабе, либо хотя бы файл my_helpers.inc: это нужный утилитке include, который должен лежать в одном с ней каталоге (предполагается использовать include совместно с другой утилитой (alter_part), поэтому он и вынесен в отдельный файл).
Почему так называется? К эмо отношения не имеет, к геям тоже. Это что-то про «Do MySQL Master dump» :)
Собственно, ссылка: https://github.com/DRVTiny/bash4-helperScripts/blob/master/mysql/dumeme

 , ,

DRVTiny
()

Поставил LMDE: WTF с консольными шрифтами?

Поставил LMDE, выбрал при установке русский язык... Так оно теперь при загрузке с «init=/bin/bash», «1» или же просто при Ctrl+Alt+Fn из графики - печатает только по-русски и никак иначе. Я уже перепробовал порядка 100500-от вариантов переключения раскладки - но она не переключается, вот в чём засада!
Погрепил /etc - настроек, насилующих консоль кириллицей не нашёл. Где это искоренить, как напалмом выжечь?
Мне нужно NVIDIA-дрова поставить *.run'ом, а выйти из графики в консоль и напечатать там хотя бы просто ${var//+([a-z])/} не получается.
P.S. Честно вам скажу, ASPLinux в 2003-ом году был в 100 раз лучше настроен, чем это поделие. Вообще современные дистрибутивы скатились в какое-то с-ное г-вно.

 , , ,

DRVTiny
()

Установщик Zabbix-агента: 2 вопроса и никаких зависимостей

В любом RedHat или Debian-based дистрибутиве запускаете скрипт, отвечаете на вопросы об адресе сервера и хоста - и готово, у вас установлен Zabbix agent версии 2.2.1
Особенность данного установщика - в том, что он может «откреплять» (detach), «подключать» (attach) и заменять (replace) своё содержимое, т.е. собственно бинарники zabbix_agentd для 2-х архитектур. Таким образом, Вы можете собрать какую угодно версию агента и юзать её вместо той, которая включена в инсталлятор по умолчанию!

Авто-инсталлятор здесь:
https://github.com/DRVTiny/AgentMerlin/blob/master/agentMerlin.sh
2.2.1 из-за того, что используются статически прекомпилированные бинарники агента с офсайта Zabbix, а там пока ещё нет таковых для версии 2.2.2 У себя статику для amd64 собрал, а вот i386 будет чуть погодя, и тогда содержимое автоинсталлера обновится до 2.2.2

 , ,

DRVTiny
()

На чём сделать диаграмму зависимостей для системы мониторинга?

Имеются:
Ресурсы:
Атрибуты ресурса: Тип: - Составной (состояние ресурса невозможно определить, не изучив состояние каких-либо иных объектов диаграммы)
- Простой (состояние ресурса можно узнать напрямую - например, считыванием состояния триггера из системы мониторинга)
Список зависимостей ресурса:
Атрибуты зависимости:
- Направленность
В данном случае предполагаем, что зависимости только однонаправленные. Соответственно, у простых ресурсов нет зависимостей, у составных зависимостями могут быть как простые ресурсы, так и другие составные
- Идентификатор ресурса-зависимости
Логическое выражение, определяющее состояние ресурса на основе вычисленных зависимостей:

ResE=(ResA OR ResB) AND (ResC OR ResD)

Эмм... Если я ещё не вынес никому мозг столь невероятно сложными вещами, скажите, есть ли язык XML-подмножества, который позволяет описать диаграмму зависимостей сервисов и несложным образом «наполнить» её программным кодом, который будет рекурсивно спускаться по графу зависимостей до простых ресурсов и подниматься, последовательно вычисляя состояния составных? Вот например абстракции UML разве подходят для данной задачи?
Если такого нет, я посыпаю голову пеплом и скромно удаляюсь.

 , dsm, ,

DRVTiny
()

Как объединить хэши, представленные ссылками?

Пока только вот до такого догадался (и то не без помощи StackOverflow). А есть ли более... элегантный метод?

$h1={a=>1,b=>2};
$h2={c=>3,d=>4};
$h1={%{$h1},%{$h2}};

 , ,

DRVTiny
()

Рисовалка диаграмм объектов

Есть ли под Linux (хотя бы даже и под Windows изначально, но хорошо работающая под wine) такая рисовалка диаграмм, в которой без всякой программисткой специфики можно было бы рисовать объекты с их взаимосвязями, да так, чтобы у объектов можно было бы указывать свойства в произвольной форме? Ну т.е. чтобы можно было выбирать объекты какого-нибудь стандартного класса (например, «компьютеры»), но при необходимости создавать собственные классы или легко модифицировать существующие?
Сразу уточню, что я перепробовал несколько UML-редкаторов, и это явно не то, что мне нужно. UML-редакторы, судя по всему, созданы для ну очень умных людей, рисующих некие абстрактные сущности. Мне же нужны совершенно обыкновенные объекты из более-менее объективной реальности (компьютеры / сотрудники организации / отделы).
Может быть, есть UML-редакторы, которые предлагают в качестве изображений объектов какие-нибудь сервера, а в качестве атрибутов «количество процессоров»? Ну или там - человеков, а в качестве атрибута - количество жён :)

 diagrams,

DRVTiny
()

OpenSource Notification Engine: Неужели не существует? Ни одного?!

Единственное, что я нашёл на эту тему: http://is.muni.cz/th/208428/fi_m/xnguyen_dp
То, что описано в доке (универсальный движок для отправки сообщений по множеству протоколов, расширяемый модульно) - меня вполне устраивает. Но... дело в том, что никакого NotX в природе на самом деле не существует.
Значит ли это, что я плохо смотрел или то, что мне нужно писать такой движок самостоятельно? :)
P.S. Идея, как это нетрудно понять из контекста, в том, чтобы отправлять сообщения в формате наподобие обычного электронного письма, но - пользуясь произвольными транспортами: SMTP, MAPI, XMPP, SkyPE, ICQ, SIP/IAX, SMS, etc. (... over 9000 :) )

 ,

DRVTiny
()

ACL на основе DynList'ов не работают

Кто-нибудь пробовал использовать динамические группы для задания ACL в OpenLDAP?
Согласно официальной документации:

Dynamic Groups are also supported in Access Control. Please see slapo-dynlist(5) and the Dynamic Lists overlay section.


В объективной же реальности группа со статическими member'ами для задания ACL'ей работает правильно, а группа с динамическими - нет . В логах я вижу серым по чёрному, что openldap сравнивает мой DN только со статически заданными членами группы, а с динамическими даже и не думает сравнивать, он их даже не начинает просматривать
У кого-нибудь получалось сделать dynlist+acl? Может, есть какой-то особый бубен, чтобы оно заработало?
P.S. У меня OpenLDAP 2.4.31, какой-то штатный из поставки Debian 7

 , dynlist, ,

DRVTiny
()

Абсурдный «No route to host»

Здравствуйте, дорогие коллеги!
Как говорится, прошу прощения за беспокойство, но вот случился у меня такой казус и хотелось бы узнать, что вы об этом думаете :)
Есть две машинки, называются scilla и haribda. Это виртуалки с CentOS на VirtualBox'е. Сетевые адаптеры у них в host-only networking'е в одной подсети 192.168.3.0/24.
Друг друга отлично видят, взаимно пингуются, ходят по ssh одна на другую, всё здорово.
Теперь: поднял на обеих виртуалках Apache/httpd, он висит на порту 80 вот таким нехитрым образом (haribda для примера):

[root@haribda cluster]# lsof -iTCP:80 -sTCP:LISTEN
COMMAND  PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
httpd   1586   root    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1588 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1589 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1590 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1591 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1592 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1593 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1594 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
httpd   1595 apache    3u  IPv4 2447054      0t0  TCP *:http (LISTEN)
Теперь со scilla идём на 80-й порт haribda и видим абсурдную вещь:
[root@scilla cluster]# telnet haribda 80
Trying 192.168.3.4...
telnet: connect to address 192.168.3.4: No route to host
И это при том, что:
[root@scilla cluster]# telnet haribda 22
Trying 192.168.3.4...
Connected to haribda.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.3

Э... Мне трудно сформулировать вопрос иначе как с использованием английского ругательного слова, но... я вынужден признать, что проработав 8 лет системным администратором я всё-таки слегка обескуражен и вынужден спросить:
ЧТО ЭТО?! И как такое вообще может быть?
P.S. SELinux (it's a shit that break things, you know) - отключен

 , ,

DRVTiny
()

Как сделать resize файловой системы, раскатанной на всё блочное устройство?

Я сдуру, видимо, раскатал файловую систему на весь виртуальный жёсткий диск. Теперь после увеличения размера «жёсткого диска» извне виртуалки, команда resize2fs фейлится, не понимая, что нижележащий блок «вырос».
Что делать в такой тупиковой ситуации? :)

DRVTiny
()

Как отредактировать только часть файла и не трогать остальную?

Есть гигантских размеров (порядка 125 Гб) текстовый файл, в первых 1000 строках которого нужно сделать замену, не перезаписывая остальные 10^9 или сколько там строк.
Вопрос: как это сделать sed'ом, а если не sed'ом, то чем?
Дело в том, что sed, судя по всему, в режиме -i тупо копирует файл строка за строкой, а под конец «магически» заменяет старый файл новым. Соответственно, если в sed сделать q, то файл оборвётся на той строке, на которой был сделан q, а если q не делать, то придётся ждать до посинения, пока sed героически перезапишет 150Гб на диске. Ну ок, предположим, что для дозаписи данных (а именно это, к сожалению, мне и нужно), так или иначе всё равно придётся перекорячить весь файл, но вот а если бы мне нужно было, скажем, символ B на символ А в первых 200-ах строках поменять - ведь для этого очевидным образом перезапись всего файла не требуется: достаточно лишь прочитать первые 200 строк и поменять один байтик на другой...

 

DRVTiny
()

PowerDNS Recursor за строгой стенкой

У меня в компании настолько сурово всё, что обращаться к корневым серверам мой recursor не может физически: порты закрыты на выход. Создание root hint-file'а руками тоже не помогает: если вместо настоящих корневых серверов прописать внутренние DNS-сервера компании, то тоже ничего не работает.
Вопрос: почему так может быть и что с этим делать? В BIND'е есть настройка forwarders, а в PowerDNS её нет ни в каком виде...

 

DRVTiny
()

Самый простой протокол монтирования remote directory?

Без шифрования, без авторизации, с полным доступом на уровне прав «сервера», отдающего шару? Элементарно делается на Samba, да, но... мне ещё нужно, чтобы на стороне сервера использовался только один порт TCP/IP или даже UDP/IP. Я уж думаю по iSCSI что ли блочное устройство подцепить - но там вроде тоже не один порт используется... Хотя по своей простоте и очевидности iSCSI максимально близок к правильной реализации: ты просто отдаёшь забитый нулями «файл» как блочное устройство на удалённую систему, а та пусть делает с ним что хочет.
В данный момент копирую ssh поверх ssh (обратный туннель и sshfs), но в рамках медленного соединения это оооочень тягостно и печально.

DRVTiny
()

А как вы смотрите логи Zabbix-сервера?

Есть Zabbix-сервер (уже отлично)
Есть Zabbix-frontend к этому серверу, всё настроено и работает (просто супер! ;))
Вопрос на 10000$: как из этого чудесого фронтенда увидеть такую в общем даром никому не нужную вещь, как лог zabbix-сервера? Я имею в виду то, что сервер пишет в /var/log/zabbix, а не абсолютно бесполезную информацию о том, что я в этом веб-интерфейсе делал и когда (спасибо фронтенду конечно, но я и сам в курсе).
На самом деле проблема должна была бы «всколыхнуть сообщество» уже давно, поскольку ситуации, когда банально просто нет доступа физически на сервер с zabbix_server, а есть только фронтенд, пусть даже и с правами Admin'а - это вряд ли такая уж редкость... Если бы zabbix писал в базу данных события логов, которые отображались бы записью в syslog - всё было бы замечательно, но zabbix просто тупо пишет в файл и не даёт никакой адекватной возможности прочитать этот файл иначе как посредством перенастройки syslog'а (заказчик машет ластами и крутит пальцем у виска) или прямого доступа по ssh на целевую машинку (заказчик нервно хохочет, догадываясь о том, что нелегально попасть по SSH на его машинку можно, поскольку данный им админский доступ к фронтенду позволяет делать подобные вещи, пусть и через Ж).
В общем, как увидеть логи сервера в морде веба, а не через удалённый доступ к консоли?
Сапсибо! ;)

 ,

DRVTiny
()

RSS подписка на новые темы