LINUX.ORG.RU

Сообщения router

 

Возможно ли пнуть zabbix, чтобы он немедленно выполнил lld?

Доброго времени суток

Сабж

Через веб-морду создавать шаблон с нуля это адов треш и мартышкин труд, и не только из-за неудачного интерфейса

Гораздо хуже, что изменив item, приходится ждать, пока zabbix прочухает изменение и решит-таки получить данные. Тем более, если это не просто item, а lld. Да, можно временно ставить интервал в 60 секунд. Но всё равно первые результаты будут через минуту-две. А речь идёт об отладке, когда нужно проверить 5 .. 10 вариантов. Это крайне паршиво, когда я думаю гораздо быстрее, чем ПО работает.

Можно ли из консоли или через api пнуть zabbix, чтобы он обновил конкретный item/lld немедленно? А в идеале ещё и увидеть результат ( про «Monitoring -> Latest data» знаю, но как же это долго и неудобно... )

update: или даже не пнуть реальный item, а получить данные по заданным аргументам без создания item'а ( вроде zabbix_get, но для серверных действий, с указанием хоста, макросов и параметров )

 ,

router
()

zabbix: можно ли создавать item'ы из прототипов отключенными по результатам discovery?

Доброго времени суток

Сабж. Предположим, discovery вернул данные вида

{
    "data": [
        {
            "{#SNMPINDEX}": "20",
            "{#IFNAME}": "TenGigabitEthernet 0/20",
            "{#IFADMINSTATUS}": "1"
        },
        {
            "{#SNMPINDEX}": "21",
            "{#IFNAME}": "TenGigabitEthernet 0/21",
            "{#IFADMINSTATUS}": "0"
        },
        ...
    ]
}

Возможно ли не создавать элементы из прототипов ( или создавать, но в статусе disabled. ), если порт в дауне ( {#IFADMINSTATUS} == 0 ) ?

Т.е. не включать зря мониторинг погашенных портов

 

router
()

zabbix: LLD vs изменяющееся имя

Доброго времени суток

Кто-нибудь знает, как именно low level discovery поступит, если один из нескольких параметров в discovery изменится?

Посчитает, что это новый элемент и по нему нужно создавать item'ы, или обновит существующие item'ы?

Пример - snmp, дескрипшн интерфейса

если сделать description отдельным item'ом, то он будет висеть бесполезным грузом - его не добавить на график и не включить в имя других item'ов

если включить description в LLD, например так

discovery[{#IFNAME},.1.3.6.1.2.1.31.1.1.1.1,{#IFALIAS},.1.3.6.1.2.1.31.1.1.1.18]

То, насколько я понимаю, LLD вернёт данные вида

{
    "data": [
        {
            "{#SNMPINDEX}": "1",
            "{#IFNAME}": "TenGigabitEthernet 0/20",
            "{#IFALIAS}": "p770-2-3 P2-C6-T1"
        },
        ...
    ]
}

в этом случае его уже можно включать в имена любых item'ов и графиков

Но что произойдёт, если сетевой инженер поменяет дескрипшн ( {#IFALIAS} )? LLD обновит имена графиков и item'ов, или решит что это новый объект и наштампует новые item'ы и графики, в которых не будет старой истории?

 

router
()

Установка openbsd 6.0 в linux-kvm: fatal protection fault in supervisor mode

Доброго времени суток

Решил поставить *bsd в виртуалки ( linux kvm, libvirt ) для знакомства. С FreeBSD проблем не возникло. Но вот инсталлятор OpenBSD 6.0 amd64 ( install60.iso ) при загрузке выдаёт что-то вроде kernel panic

Конфиг гостя ( virsh dumpxml t_openbsd6 ) : https://pastebin.com/W0D78H6D

хост система:

virsh start --console t_openbsd6

Через консоль virt-manager переключаю инсталлятор на serial консоль, чтобы увидеть полный текст паники

set tty com0

serial console:

>> OpenBSD/amd64 CDBOOT 3.26
boot> boot
cannot open cd0a:/etc/random.seed: No such file or directory
booting cd0a:/6.0/amd64/bsd.rd: 3351980+1411120+2413568+0+585728 [72+440424+283008]=0x819cb0
entry point at 0x1001000 [7205c766, 34000004, 24448b12, b4c0a304]
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2016 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 6.0 (RAMDISK_CD) #2100: Tue Jul 26 13:05:59 MDT 2016
    deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/RAMDISK_CD
real mem = 519933952 (495MB)
avail mem = 502517760 (479MB)
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xf68d0 (9 entries)
bios0: vendor SeaBIOS version "1.10.2-1" date 04/01/2014
bios0: QEMU Standard PC (i440FX + PIIX, 1996)
acpi0 at bios0: rev 0
acpi0: tables DSDT FACP APIC
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD Opteron 23xx (Gen 3 Class Opteron), 2100.68 MHz
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,CX16,x2APIC,POPCNT,HV,NXE,LONG,LAHF,ABM,SSE4A,MASSE
cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 16-way L2 cache, 16MB 64b/line 16-way L3 cache
cpu0: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
cpu0: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
fatal protection fault in supervisor mode
trap type 4 code 0 rip ffffffff811c4eb0 cs 8 rflags 10286 cr2  0 cpl e rsp ffffffff81805900
panic: trap type 4, code=0, pc=ffffffff811c4eb0

The operating system has halted.
Please press any key to reboot.

Есть идеи, что с этим делать? Гугл пока не помог

update: единственное, что настораживает, в virt-manager не было шаблона для OpenBSD 6, создавал ВМ по шаблону OpenBSD 5.8

Пробовал включить nested virtualization для этого гостя, к успеху не привело

update: решение. openbsd по какой-то причине не нравился мой тип процессора «Opteron v3» ( это значение по дефолту, и соответствует физическому процессору. ни у linux, ни у других *bsd, ни даже у openindiana с ним проблем не было ). Смена в свойствах ВМ на «kvm64» или «Opteron v2» решает проблему.

 ,

router
()

Оффтоп про тормоза в firefox

Доброго времени суток

Жирнолис достал тормозами - после старта минуту жрёт проц как не в себя. Погуглил, отключил adblock, установил ublock. Как ни странно, помогло

Может, в adblock тоже майнер встроили? В любом случае, теперь он идёт лесом. ublock рулит

 , ,

router
()

Существуют ли готовые утилиты для работы с imap?

Доброго времени суток

Время от времени возникает задача в imap ящике

  • удалить сообщения старше X дней
  • пометить на удаления сообщения старше Y дней
  • переместить сообщения старше Z дней из subdir1 в subdir2 ( например, bugtracker -> bugtracker/2016 )
  • удалить всё, отмеченное на удаление ( в случае dovecot решается через doveadm )
  • перенести сообщения из одного общего ( shared ) ящика в другой

Предоставить служебному пользователю доступ к ящику не проблема. Но потом подобные задачи решаются вязанкой отдельных самописных скриптов.

Может быть есть что-то универсальное?

 

router
()

Хочется странного: мат. формулы в конфиге

Доброго времени суток

Есть скрипт мониторинга ( python ), который из множества параметров выбирает те, что указаны в конфиге. Что-то вроде

Eden.Usage.Max = jmx;java.lang:name=PS Eden Space,type=MemoryPool;Usage.max
Eden.Usage.Used = jmx;java.lang:name=PS Eden Space,type=MemoryPool;Usage.used

Хотелось бы в конфиг добавлять переменные, вычисляемые на основе других

Eden.Prct = {Eden.Usage.Used} / {Eden.Usage.Max} * 100

У меня есть рабочий код на perl, но переписывать 10 Кб пока лень :D

Существует ли в python что-то готовое для разбора и вычисления формулы?

 

router
()

бывает ли 3g модем с пулом симок?

Доброго времени суток

Сабж. Возможно придётся провести день в дороге, работая удалённо. Судя по картам покрытия провайдеров, с инетом будет не очень...

Бывает ли 3g (?) модем, в который можно вставить несколько сим-карт, с автоматическим переключением при отвале связи?

 , ,

router
()

x509: если используется SAN, нужно ли включать в него CN ?

Доброго времени суток

Сабж. При создании запроса на сертификат с использованием multi-domain certificate всегда добавлял Common Name в список Subject Alternative Name. Но непосредственно закупкой у CA занимаюсь не я. И в этот раз хотят по-максимуму сэкономить, т.к. добавление SAN платное.

Можно ли в списке SAN не указывать CN?

 

router
()

xmpp: хочется странного

Доброго времени суток

В модных viber/whatsapp/telegram в группах нет спама типа «user 1 отключился» / «user1 подключился» при разрывах связи, только при вступлении в группу

Я понимаю, что это возможно благодаря централизованному серверу и своему api групп

В xmpp же попытка общаться через телефон приводит к постоянному спаму событиями disconnect / connect ( метро, районы с плохим покрытием и т.д. )

На взгляд дилетанта, это можно было бы обойти промежуточным сервером, который скрывает от xmpp сервера события connect/disconnect и кэширует сообщения

Такое бывает?

 ,

router
()

возможно ли вытащить из андроида статистику энергопотребления в цифрах?

Доброго времени суток

Сабж. Есть желание построить разные графики, погонять статистику в R...

А на графических попугаях штатного интерфейса далеко не уедешь

Интересует вообще всё

  • общие цифры по всему ведроиду: остаток заряда батереи, температура, какой-нибудь счётчик времени процессора ( типа system/user/wait )
  • информацию по интервалам включения железа ( экран, мобильник, wifi )
  • статистику по приложениям - вообще всё что есть. и то будет мало :)

Вообще крайне интересно, что ещё можно вытащить в виде текста. Например, события, приложения, которые повесили свои обработчики и т.д.

update: Т.е. я понимаю, что что-то из этого можно вытащить средствами API, создав своё приложение

Это тоже интересно, но лучше если есть что-то готовое или вообще штатные утилиты для экспорта

 , ,

router
()

Память в bind9 ( named )

Доброго времени суток

Есть свежеустановленный bind 9.9

Включил выдачу статистики

statistics-channels {
        inet * port 8653 allow { 127.0.0.1; 192.168.5.0/24; };
};
статстики базовая ( v2 ), named собран без поддержки расширенной (v3 ) статистики

Через браузер вижу

Memory Usage Summary
TotalUse    671791115
InUse       21306037
BlockSize   44826624
ContextSize 5374280
Lost        0

Смотрю на стороне ОС и не вижу, с какого потолка named взял TotalUse 641 MiB

# free -m
              total        used        free      shared  buff/cache   available
Mem:            488         165          21          19         302         274
Swap:          1023           0        1023
# ps -eo user,pid,ppid,vsz,rss,start_time,cmd | grep -i '[n]amed'
named    16491     1 165032 58836 Aug06 /usr/sbin/named -u named -t /var/named/chroot
root     17311 23197 107936   608 Aug06 tail -f /var/log/named/named.log

Что я не понимаю?

 

router
()

Можно ли запретить js переназначать определённые клавиши?

Доброго времени суток

Сабж

Сильно раздражает, когда confluence перехватывает Ctrl-F. Но ещё больше бесит, когда в поле ввода по Caps происходит выделение всего текста ( подозреваю jquery, но пока не проверял ) - у меня переключение по капсу. Т.е. набираю, переключаю раскладку, набираю дальше - текст пропал и набор идёт с нуля

Браузер firefox. Но chromium тоже ок

update: хорошо, немного поменяю вопрос: можно ли запретить js переназначать любые клавиши?

 

router
()

Ещё один экзотический формат сериализации. Как бы вы это парсили?

Доброго времени суток

IBM, родина велосипедов

Вот кусок вывода «lsyscfg -r prof -m $server» с hmc

affinity_group_id=none,
"io_slots=21010284/none/1,21010204/none/1,21010205/none/1,2101028D/none/0",
"virtual_eth_adapters=""72/1/1/704,706,744,714,715,700/1/0/ETHERNET0//all/none"",73/0/199//0/0/ETHERNET0//all/none,74/0/714//0/0/ETHERNET0//all/none",

на строки разбил я, чтобы было понятнее. В выводе утилиты всё это в одной строке слитно, без пробелов

Видны минимум три уровня:

  • на первом уровне параметры разделены запятой
  • на втором уровне ( если в значении параметра есть отдельные элементы, разделённые запятой ), вся пара key=value заключается в кавычки
  • на третьем уровне ( если в параметре есть элементы, разделённые запятой, которые в свою очередь разделены на подэлементы, также запятой ), подэлемент заключается в двойные кавычки

Насколько я понимаю, обойтись лямбдами не получится, придётся перебирать всю строку по символу, учитывая на каком уровне сейчас находишься.

Есть идеи лучше? Или может это не велосипед, а более-менее стандартный формат и есть готовые библиотеки?

 

router
()

Подойдёт ли swig, чтобы из python работать с сторонней сишной библиотекой?

Доброго времени суток

Сабж. Возникла необходимость из python дёргать api, предназначенный для Си. хедеры есть. Нужно написать wrapper

Гугл говорит, что для этой задачи есть SWIG. Но почему-то во всех примерах, что я видел, библиотека компилируется с подключением чего-то питоньего. Т.е. получается не питоний wrapper над сишной либой, а наоборот модифицировання сишная либа для дальнейшего связывания с питоньим модулем

API не мой, подменять библиотеки я не могу. Подойдёт ли мне SWIG?

Скажите что да, и я пойду курить доки. Не хочется сначала изучить, а потом понять что это не под мою задачу :)

 ,

router
()

Возможно ли получить сертификат let's encypt вручную без sudo?

Доброго времени суток

Сабж. Добавить для подтверждения страницу на сайт или запись в dns - без проблем. Запускать подозрительный скрипт с sudo - не пойдёт

update: да, я понимаю что сертификат на 90 дней. За эти дни или ишак сдохнет ( купят у обычного УЦ ), или эмир помрёт ( ИБ разрешит запустить ЭТО на продуктивном reverse proxy ), или я помру ( не хотелось бы :) )

 

router
()

Как бы попроще запустить задачу с отдельной таблицей маршрутизации?

Доброго времени суток

Сабж. Дома есть 2 канала в интернет, оба иногда ( раз в несколько месяцев ) отваливаются, плюс на одном динамический ip. Хотелось бы всегда иметь возможность подключиться снаружи. DDNS уже надоели своими ограничениями и навязчивыми предложениями перехода на платный тариф. perl + expect собирает с обоих модемов информацию о текущем состоянии каналов и внешних ip адресах. Мне нужно отправить её на свой jabber, причём дублировать через оба канала

Держать две виртуалки с разными таблицами маршрутизации слишком жирно. создать отдельный network namespace можно, но пока мне не нравится эта идея ( keep it simple ), оставлю как запасной вариант

Есть идеи, как запустить 2 процесса с разными таблицами маршрутизации с минимумом костылей?

 

router
()

Снова о партиционировании БД zabbix

Доброго времени суток

К сожалению, я не DBA, и в базах данных разбираюсь откровенно слабо

Есть zabbix. Как известно, с дефолтными настройками он быстро преващается в монстра, нагружающего диск адскими iops. Единственное, насколько мне известно, решение - включить партиционирование БД и отключить zabbix housekeeper

Месяц назад создал тестовый инстанс zabbix. Это не основная система и не продакшн - наоборот, моя песочница, в которой я пытаюсь понять, смогу ли сделать из zabbix'а что-то приличное. Партиционирование настраивал по https://www.zabbix.org/wiki/Docs/howto/mysql_partition

Пока результат более-менее устраивал - нагрузка на диск держалась в районе 50 write iops и не росла, хотя вливал сравнительно много данных

Но. Теперь обнаружил, что удаление старых партиций не освобождает место на диске. Посмотрел повнимательнее и почувствовал себя ещё большим идиотом - БД представляла из себя один файл. MyISAM

Ок, доки по mysql подсказывают, что я хочу InnoDB с опцией innodb_file_per_table

Но подозреваю, что per table маловато, надо ещё и «per partition». Чтобы удаление партиции приводило к удалению соответствующего файла и гарантированно освобождало место. Это возможно?

Если нет, какую БД выбрать и что нужно учесть?

 , ,

router
()

Dr.Web: государственный портал gosuslugi.ru скомпрометирован

Доброго времени суток

Сабж: https://news.drweb.ru/show/?i=11373

И на сообщения об уязвимости эти долбоклюи не отвечают, поэтому информацию выложили в открытый доступ. Такие дела.

 

router
()

Возможно ли в linux посчитать ресурсы, потраченные на выполнение команды?

Доброго времени суток

Сабж. Есть утилитка time, которая покажет время

time { ping -c 2 127.0.0.1 ; }
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.041 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.045 ms

--- 127.0.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.041/0.043/0.045/0.002 ms

real    0m1.003s
user    0m0.004s
sys     0m0.000s

Хотелось бы похожую утилиту для памяти и cpu - для оценки своих скриптов. Именно утилиту, а не модуль к ЯП. Это вообще возможно?

В первую очередь интересует rss, во вторую vss и cpu

 ,

router
()

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