LINUX.ORG.RU

Избранные сообщения dormeur86

Намутил свой сетевой протокол для дисков

Форум — Development

https://github.com/vtl/ethblk

На имеющемся железе пробрасывает NVMe примерно на его родной скорости, и делает это в два с лишним раза быстрее штатного линуксового nvme-over-tcp. Дальше упирается в мой слабый клиентский комп, но на большом железе производительность растёт до миллионов IOPS через один диск. 50 GbE успешно загружал на полную катушку, был, практически, line rate.

 ethblk, , ,

mv
()

Zabbix теряет данные - прерывистый график

Форум — Admin

Zabbix 3.2

Наблюдаю такую картину: https://habrastorage.org/webt/q9/th/ym/q9thymfb6bdajvy9ifwoejkzkie.png

Заббикс внезапно перестает заполнять график данными.

Через snmpget устройство отвечает всегда, т.е. проблема, скорее всего, на стороне мониторинга.

snmpget -v 2c -c xxx -On 10.47.177.161 IF-MIB::ifOutOctets.11
.1.3.6.1.2.1.2.2.1.16.11 = Counter32: 3337688614

snmpget -v 2c -c xxx -On 10.47.177.161 IF-MIB::ifOutOctets.11
.1.3.6.1.2.1.2.2.1.16.11 = Counter32: 3406793294

По ICMP данные приходят непрерывно в тот же заббикс, т.е. проблема, скорее всего, в плоскости SNMP. При этом, по другим хостам, добавленным через те же шаблоны, проблем я не вижу - графики непрерывны.

Кто-нибудь сталкивался с таким поведением?

 

mammuthus
()

iptables против скана.

Форум — Security

Вообще видел тут один севачёк в сетке, пингуется нормально но вот проскнить его не получается, на попытку скана nmap, причём в режиме стэлса, говорит что хост в дауне, при этом нормально пингуется. Как такое возможно и как добиться такого же?

Заранее спасибо!!!

cyclon
()

Помогите со скриптом

Форум — General

Доброго времени суток, осваиваю Zabbix API. Есть скрипт на bash:

curl -i -k -X POST -H 'Content-Type: application/json-rpc' -d '
{
    "jsonrpc": "2.0",
    "method": "host.exists",
    "params": {
        "host": "Zabbix Server"
    },
    "auth": "$qwerty",
    "id": 1
} ' http://192.168.0.1/api_jsonrpc.php

Как сделать так, чтобы передавались данные из переменной $qwerty? Понимаю что туплю, но не могу понять где. Пробовал менять кавычки и экранировать - бесполезно.

Спасибо.

 , ,

nixit
()

Добавление zabbix-agent через proxy

Форум — Admin

Добрый день.

Что именно надо прописать в конфиге zabbix агента при работе через прокси ?

Не могу посмотреть через веб-морду данные узла. он какбы есть, но ничего нет. и шаблоны есть.
https://ibb.co/hWiuWV

 

darkenshvein
()

Удалить много мелких файлов

Форум — Admin

А конкретно php сесии.

Как удалить быстро или без сильной нагрузки на диск очень много файлов php сессий?

Быстро - быстрее, чем rm sess_*

Без сильной нагрузки на диск - даже с ionice -c 3 сервера заметно тормозят.

Очень много - от 2 GB (обычно)

Про gc у php знаю, вопрос не о нем, вопрос о том, что делать если уже.

desruptor
()

Сверка целостности состояния оси, чем можно сверять? Есть ли что-то готовое?

Форум — Security

Ддя начала хотелось бы сверять:

  GPG ключи
  Установленные пакеты софта (целостность файлов)
  Соответствие ключей SSH на всех хостах и клиентах
  Чексумму BIOS
  Адресов ARP кэша, не должно быть лишних
  Списка установленных пакетов, блокировка установки новых пакетов
  При dist-upgrade не должны меняться состояния запусков старых и новых сервисов, как это сделать?
  Списка запущенных процессов
  Списка включенных сервисов

Создавать: Логи SSH для root, которые не мешают работе rsync, scp и т.п. Есть что-нибудь готовое? Наверно лучше бы если было интегрированно с grsecurity и т.п.

 ,

linuxier
()

Шифрованный бэкап в облако

Форум — Admin

Я тут решил узнать как достопочтенные лоровцы заливают бекапы в облако? У меня требования простые: делать инкрементальный шифрованный бэкап куда-нибудь в B2/S3 и т.п. (object storage). Пока что я нашел следующие варианты:

1. borg + rclone

2. rsync + руки

3. duplicty / duplicati / тысячи их

Интересует реальный опыт из первых рук, т.к. например, про п.3. некоторые писали, что оно кривое и работает через раз. А я, как бы, не очень хочу на своих данных проверять насколько хорошо оно работает.

 , , ,

maverik
()

Кэш конфигурации

Форум — Admin

Обнаружено резкое уменьшение доступного дискового пространства на сервере 1С 8.3. Ситуация разворачивалась так

Причина - рост занимаемых объемов кэшем конфигурации:

root@srv1cv83:/home/usr1cv8/.1cv8/1C/1cv8/reg_1541# du -h snccntx64b30192-0957-11e3-1196-52540010e799
45G snccntx64b30192-0957-11e3-1196-52540010e799

По вышеуказанному графику и представленному листингу видно, что началось это 8 мая:

root@srv1cv83:/home/usr1cv8/.1cv8/1C/1cv8/reg_1541# ls -l snccntx64b30192-0957-11e3-1196-52540010e799
итого 46857524
-rw-r----- 1 usr1cv8 grp1cv8 67104563 Май 8 10:27 snccntx.00003000.dat
-rw-r----- 1 usr1cv8 grp1cv8 67079389 Май 8 10:32 snccntx.00003001.dat
-rw-r----- 1 usr1cv8 grp1cv8 67108117 Май 8 10:36 snccntx.00003002.dat
-rw-r----- 1 usr1cv8 grp1cv8 67065913 Май 8 10:44 snccntx.00003003.dat
-rw-r----- 1 usr1cv8 grp1cv8 67088552 Май 8 10:51 snccntx.00003004.dat
-rw-r----- 1 usr1cv8 grp1cv8 67069364 Май 8 10:56 snccntx.00003005.dat
...
-rw-r----- 1 usr1cv8 grp1cv8 67074932 Май 23 12:15 snccntx.00003457.dat
-rw-r----- 1 usr1cv8 grp1cv8 67105111 Май 23 12:20 snccntx.00003458.dat
-rw-r----- 1 usr1cv8 grp1cv8 67036256 Май 23 12:24 snccntx.00003459.dat
-rw-r----- 1 usr1cv8 grp1cv8 66975942 Май 23 12:28 snccntx.0000345A.dat
-rw-r----- 1 usr1cv8 grp1cv8 66625637 Май 23 12:35 snccntx.0000345B.dat
-rw-r----- 1 usr1cv8 grp1cv8 67108563 Май 23 12:43 snccntx.0000345C.dat
-rw-r----- 1 usr1cv8 grp1cv8 67022768 Май 23 12:48 snccntx.0000345D.dat
-rw-r----- 1 usr1cv8 grp1cv8 67108622 Май 23 12:56 snccntx.0000345E.dat
-rw-r----- 1 usr1cv8 grp1cv8 67044791 Май 23 13:01 snccntx.0000345F.dat
-rw-r----- 1 usr1cv8 grp1cv8 67103984 Май 23 13:05 snccntx.00003460.dat
-rw-r----- 1 usr1cv8 grp1cv8 67044551 Май 23 13:09 snccntx.00003461.dat
-rw-r----- 1 usr1cv8 grp1cv8 67061445 Май 23 13:14 snccntx.00003462.dat
-rw-r----- 1 usr1cv8 grp1cv8 67039160 Май 23 13:24 snccntx.00003463.dat
-rw-r----- 1 usr1cv8 grp1cv8 67108856 Май 23 13:30 snccntx.00003464.dat
-rw-r----- 1 usr1cv8 grp1cv8 67084987 Май 23 13:38 snccntx.00003465.dat
-rw-r----- 1 usr1cv8 grp1cv8 67086700 Май 23 13:45 snccntx.00003466.dat
-rw-r----- 1 usr1cv8 grp1cv8 67066238 Май 23 13:52 snccntx.00003467.dat
-rw-r----- 1 usr1cv8 grp1cv8 67031144 Май 23 13:59 snccntx.00003468.dat
-rw-r----- 1 usr1cv8 grp1cv8 67085440 Май 23 14:05 snccntx.00003469.dat
-rw-r----- 1 usr1cv8 grp1cv8 67013568 Май 23 14:13 snccntx.0000346A.dat
-rw-r----- 1 usr1cv8 grp1cv8 67108864 Май 23 14:17 snccntx.0000346B.dat
-rw-r----- 1 usr1cv8 grp1cv8 8 Май 23 12:08 snccntx.dat
Выполненные рекомендации (обязательно «service srv1cv83 stop» перед очисткой кэша) позволили высвободить 45Gb и выиграть время. По наблюдениям кэширование конфигурации 1С не обращает внимание на наличие/отсутствие свободного места и вряд ли каким либо другим способом ротируется.

  • Где инструменты управления процессом кэширования конфигурации?

 , snccntx

petav
()

Ansible сравнение IP

Форум — Admin

Здравствуйте уважаемые.

Пишу Вам т.к. у самого пока или знания или понимания не хватает. Начал изучать ansible на досуге. ansible --version -> ansible 2.8.1

Хочу настроить конфигурирование новых девайсов при помощи сего «чюда».

Затик на моменте отнесения девайса к региону. Из хостнейма витягиваю информацию об обозначении региона XX, но хочется добавить больше разума и проверять еще и по первим двум октетам IPv4.

    vars:
      regions: {
        "MK": {"region": "MK", "ip": "172.44"},
        "SP": {"region": "SP", "ip": "172.48"}
     }

Вопрос. Как «обрезать» первые два октета

{{ ansible_default_ipv4.address.split('.')[0] }}.{{ansible_default_ipv4.address.split('.')[1] }}

Работает хорошо, но нельзя засунуть в when (я пока в jinja2 не умею :( )

- debug:
    msg: "{{ item.key }} has region {{ item.value.region }} and ip {{ item.value.ip}}
  when:
    - "ansible_hostname.split('-')[0]|upper == item.value.region"
    - "{{ ansible_default_ipv4.address.split('.')[0] }}.{{ansible_default_ipv4.address.split('.')[1] }} == item.value.ip"  # не работает
  loop: "{{ regions|dict2items }}"

Вот такое есть условие - с одним условием в when - отрабативает хорошо. Когда пробую добавить, что-то типа

"ansible_default_ipv4.address == item.value.ip" - соот-нно ругается, говорит неверно (что не удивительно), т.к. работает не match, а точное соот-вие.

Если коротко - ниосилил. Дома буду курить man, но хочется и пообщатся с людьми знающими)

 , ,

i3wm
()

Шаблонизация jinja2

Форум — General

Всем привет. Пытаюсь разобраться с jinja2, но что-то не выходит. Подскажите, пожалуйста, как правильно перебрать переменную данного вида?

apps:
  - name: app-1
    logs:
      access: yes
      error: no

  - name: app-2
    logs:
      access: no
      error: yes

Собственно что требуется: запустить playbook, который применит шаблон. В шаблоне в зависимости от значения access и error создаётся тот или иной файл. Как добраться до значений access и error ? Пробовал вот так - item.logs[access] - ничего не происходит. Если задавать вот так - item.logs.access, то сообщение об ошибке, что переменная access не определена.

Вот так выглядит шаблон. Может в нём ошибка?

{% for item in vhosts %}
server {
  listen 80;

  server_name {{ item.name }}.mysite.com;
  {% if item.logs[access] == "yes" %}
     access_log  /var/log/nginx/{{ item.name }}_access.log
  {% endif %}

  {% if item.logs[error] == "yes" %}
     error_log /var/log/nginx/{{ item.name }}_error.log
  {% endif %}
  return 202 "OK";
}
{% endfor %}

 

Marmon
()

Защита от случайного выдёргивания запущенной с флешки системы

Форум — General

Привет всем, кто запускает Linux с флешки!

Вы наверняка попадали в ситуации, когда кто-то задевал флешку, с которой работает система, или подключал рядом с USB-жёстким диском требовательный к питанию смартфон, в результате чего устройство на долю секунды теряло питание, сбрасывалось и переподключалось. Система оказывалась в дико неприятном состоянии, в котором вот оно, корневое устройство, но ни одна команда, кроме тех, которые ещё лежат в кэше, не работает, и даже Alt+SysRq+S,U не поможет предотвратить потерю данных: устройство, на которое можно было бы сбросить кэш, уже отключено, и убедить ядро обратиться к другому невозможно. Фрустрации добавляло ещё и то, что Windows To Go с этим прекрасно справляется, зависая, пока флешку не вставят обратно (с выключением по минутному таймауту).

Оказывается, в Linux это тоже просто обойти. Достаточно создать при помощи dmsetup логический диск в режиме linear и при помощи правил udev делать ему suspend, если устройство было удалено, и создавать ему новую таблицу и делать resume, когда устройство с тем же UUID вставят обратно. На всякий случай, memlockd позволяет удержать в кэше бинарники udev, dmsetup, busybox и blockdev, на которых всё работает. Готовые скрипты (в расчёте на initramfs-tools) лежат на https://github.com/aitap/switchblock/. Адаптировать на другие initramfs должно быть несложно, потому что это всего лишь правило udev + вызываемые из него файлы.

Если кому-то будет интересно, готов принять pull request'ы со скриптами сбора пакетов.

 devmapper, ,

AITap
()

MySQL: безопасность и аудит

Форум — Admin

Рассмотрены узкие места в безопасности СУБД MySQL при установке «по умолчанию». В частности, рассмотрены специализированные скрипты-аудиторы для устранения подобных проблем — Openark Kit и Securich. Также показано, как можно упростить ежедневное администрирование MySQL на примере создания ролей и централизованного репозитория из пользователей этой БД:

Подробности

Перемещено tazhate из doc

 , openark kit, securich,

Pleshner
()

Подскажите в каких европейских странах не сложно получить гражданство линуксоиду?

Форум — Talks

Хотелось бы без всяких исследований родословных и подобного ...

PS: тропики не предлагать - очччень тяжело переношу жаркий климат.

 ,

cvv
()

Серия видеоуроков о systemd. Выпуск № 1

Новости — Документация
Группа Документация

Доброго времени суток, товарищи линуксоиды.

Некоторые посетители форума знают меня как ненавистника systemd и прочих технологий, которые привнесли в этот мир Леннарт Поттеринг и Red Hat Inc. Однако, я решил посмотреть на всю сложившуюся в сообществе GNU/Linux ситуацию под другим углом, поэтому было дано начало серии видеоуроков «Systemd in action». В этой серии мы постараемся раскрыть все основные аспекты работы, связанные с systemd, в доступном для новичков формате.

Первый эпизод доступен для просмотра здесь. Огромную благодарность хочу выразить intelfx и PaulCarroty за непосредственное участие в проекте. Желающие помочь развитию серии могут присоединиться.

Ждите новых выпусков!

>>> Подробности

 ,

like-all
()

Интерактивный туториал по ветвлению в Git

Форум — Talks

Нарыл не так давно на просторах Сети такую игрушку

http://learngitbranching.js.org/?NODEMO

По-моему, неплохая штука для интерактивного обучению Git'у.

Это во-первых.

Во-вторых, хотелось бы знать, как сделать первое задание продвинутого уровня за 4-е шага.

Прошу в тему, товарищи!

 , , ,

Twissel
()

Java-enterprise

Форум — Talks

Когда я была маленькая и наивная, пару месяцев назад, я думала что Java-разработка должна быть гораздо более продвинутой в плане организации процессов, инфраструктуры, тестирования, конфигурации, CI/CD и всего такого прочего, чем какой-нибудь там Python. Это же всё-таки не просто так пришел, написал и заработало, а суровый энтерпрайз, без пяти слоев IDE не разберешься.

И раз все Software Architecture-книги, уроки и конференции у O'Reilly всё о том же, о Java, то все классические проблемы должны быть описаны, решены и изложены в учебниках для первокуров.

Я конечно начала что-то подозревать, когда заметила, что рекомендованный Atlassian init-скрипт для Jira делает ни много ни мало killall java. Но с кем не бывает, и в конце концов у нас же теперь есть systemd, который с подобным справляется на раз.

Странно, конечно, что компания производитель серверного ПО не умеет его настраивать и запускать, но может быть это частный случай?

Нет, дорогие друзья, не частный, а вовсе даже самый распространенный.

JFrog, Atlassian, Sonatype или Cloudbees, конторы, которые просто-таки заполонили весь интернет статейками на тему DevOps и CI/CD, и вроде бы являются лидерами в теме, тем не менее производят чуть ли не самые отсталые в плане этого CI/CD продукты. Управление пакетами и сервисами они так и не осилили, а уж про Infrastructure as a Code не слышали вовсе.

И даже прием «include conf.d/*» для организации конфигов, над банальностью которого мы насмехались в соседнем треде, авторам java-приложений абсолютно неведом.

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

Нет в жизни счастья и работающих инструментов, есть только выбор: заплатить за Artifactory и потом писать обертки и утилиты для того чтобы сделать нечто минимально рабочее и встраиваемое в инфраструктуру, при этом без возможности нормального тестирования и разработки(потому что закрытая проприетарщина без нормальных девелоперских лицензий). Или плюнуть и за неделю насочинять artifact-storage на джанге, маленький, но гордый, и развивать уже его.

 

alpha
()

О надежности файловых систем

Форум — Talks

Группа товарищей из компании Оракл провела небольшое исследование надежности различных файловых систем популярной операционной системы Линукс. Выяснилось, что большинство файловых систем валятся, и это лишь вопрос времени. Только NTFS и XFS валятся не совсем, а лишь до состояния «Soft Lockup».

http://events.linuxfoundation.org/sites/events/files/slides/AFL filesystem fu...

Естественный выбор того, кто ценит свои данные - XFS.

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

 

Deleted
()

Лексический анализатор/парсер best practices

Форум — Development

Может кто посоветует хорошую литературу по лексическому анализу, написанию парсеров? самоцель - написание чатбота.

 , ,

foreigner_web
()

Генерация кошерного .bashrc при создании пользователя

Форум — Admin

Приветствую

Хочу, например, увеличить глубину истории. Для этого в .bashrc меняю стандартные значения на следующие

export HISTSIZE=5000
export HISTFILESIZE=5000
Как сделать, чтобы при создании нового юзера .bashrc генерился с уже нужными значениями? Прописывать их в /etc/bash.bashrc нет смысла, т.к. этот файл читается до .bashrc

Debian 7/8

 ,

Smugo
()