Здравствуйте, коллеги-разработчики! Я Максим, и я хочу поделиться новостью из мира C++. Я смог в 15 лет собрать Clang, LLD, LLDB, clang-extra-tools нативно в Windows, и оно работает. Но начнем мы издалека: как я вообще выбрал C++; почему не остался на MSVC, G++; как я собрал LLVM; почему не скачал уже готовые сборки от Мартина Сторшё.
Рубрика «LLD»
Как я в 15 лет собрал LLVM ToolChain на Windows без MSVC
2025-12-26 в 13:46, admin, рубрики: c++, clang, clang-extra-tools, LLD, LLDB, LLVM, mingw-w64, Без MSVC, сборкаZabbix: LLD-мониторинг SIM-карт Yeastar TG
2019-06-04 в 12:04, admin, рубрики: bash, LLD, yeastar, zabbix, Серверное администрирование, системное администрирование
Несколько месяцев назад я обзавелся GSM-шлюзом Yeastar TG200. Оборудование само по себе хорошее, чего не сказать о яичном операторе, который периодически подкладывает свинью. Вот поэтому и появилась необходимость иметь актуальную информацию о состоянии SIM-ок и реагировать на отвалы. Проблема заключается лишь в одном: в данном аппарате, как и во всей серии, нет SNMP. Но есть API (AMI). Готового решения я не нашел, поэтому решил сделать свой велосипед механизм опроса устройства.На его основе и будет строиться весь мониторинг Zabbix. Что для этого нужно:
- Шаблон
- Скрипт
- netcat она же nc (на Ubuntu предустановлена)
- включить API на устройстве
Реализация горячей перезагрузки С++ кода в Linux и macOS: копаем глубже
2019-01-27 в 18:51, admin, рубрики: c++, c++11, ld, linux, LLD, MacOS, Разработка под Linux, Разработка под MacOS
*Ссылка на библиотеку и демо видео в конце статьи. Для понимания того, что происходит, и кто все эти люди, рекомендую прочитать предыдущую статью.
В прошлой статье мы ознакомились с подходом, позволяющим осуществлять "горячую" перезагрузку c++ кода. "Код" в данном случае — это функции, данные и их согласованная работа друг с другом. С функциями особых проблем нет, перенаправляем поток выполнения из старой функции в новую, и все работает. Проблема возникает с данными (статическими и глобальными переменными), а именно со стратегией их синхронизации в старом и новом коде. В первой реализации эта стратегия была очень топорной: просто копируем значения всех статических переменных из старого кода в новый, чтобы новый код, ссылаясь на новые переменные, работал со значениями из старого кода. Конечно это некорректно, и сегодня мы попытаемся исправить этот изъян, попутно решив ряд небольших, но интересных задач.
В статье опущены детали, касающиеся механической работы, например чтение символов и релокаций из elf и mach-o файлов. Упор делается на тонких моментах, с которыми я столкнулся в процессе реализации, и которые могут быть полезны кому-то, кто, как и я недавно, ищет ответы.
Zabbix: LLD-мониторинг дисков без UserParameter и скриптов на агентах
2017-12-14 в 8:32, admin, рубрики: bash, LLD, zabbix, Серверное администрирование, системное администрированиеВ предыдущей статье я описал низкоуровневый мониторинг дисков для Windows-машин. Считаю, что статья получилась достаточно успешная. Поэтому пришло время ее фактически уничтожить. Ниже будет описан универсальный прием для Windows- и Linux-машин, для которых вообще не нужны скрипты и UserParameter'ы.
Идея простая: все необходимое от smartmontools Zabbix-сервер будет получать через внешнюю обработку и zabbix_get, парсить и передавать далее в зависимые элементы (появились в Zabbix 3.4). Такие образом не только сокращается количество обращений к наблюдаемому серверу, но и не расходуются его ресурсы, так как парсинг происходит на стороне Zabbix-сервера.
Одно ограничение на данный момент: мониторинг дисков только формата /dev/sd*. Формат /dev/csmi*,* (Intel Matrix RAID) не поддерживается ввиду того, что zabbix_get считает запятую вторым аргументом. Поправьте меня, если я ошибаюсь.
Что понадобится для реализации:
- Шаблон
- Скрипт
- zabbix_get на сервере
- smartmontools на агентах
Zabbix: мониторинг базы данных Oracle через ODBC c использованием low level discovery
2014-06-16 в 7:11, admin, рубрики: linux, LLD, odbc, oracle, oracle database, oracle linux, oracle sql, zabbix, zabbix server, Серверное администрирование, системное администрирование, метки: LLD, odbc, oracle, oracle database, oracle linux, oracle sql, zabbix, zabbix server В статье будет рассмотрена возможность мониторинга база дынных по средствам встроенной в Zabbix поддержке ODBC, c использованием автообнаружения объектов.
Читать полностью »
Zabbix + Cisco ISR: мониторим загрузку VPN-туннелей посредством SNMP + Perl script + LLD
2013-10-07 в 14:44, admin, рубрики: Cisco, LLD, vpn, zabbix, Сетевые технологии, системное администрирование, метки: Cisco, LLD, vpn, zabbix Задача: Имеется роутер Cisco с кучей настроенных site-to-site IPsec-VPN-туннелей. Нужно настроить мониторинг загрузки туннелей в Zabbix 2.0.x
Предполагается, что SNMP на циске и в Zabbix'е уже настроен.
Основная проблема заключается в том, что нужные нам для мониторинга номера SNMP OIDs с отсчётами трафика формируются динамически. Мало того, списки этих номеров — также формируются динамически.
Читать полностью »
Мониторим ядра CPU в Zabbix и создаем произвольные счетчики в Low-level discovery
2013-09-24 в 10:08, admin, рубрики: linux, LLD, windows, zabbix, системное администрирование, системное программирование, метки: linux, LLD, monitoring, windows, zabbix, системное администрирование Не так давно тут проходила статья про LLD. Мне она показалась скучной т.к. описывает примерно то же, что есть и в документации. Я решил пойти дальше и с помощью LLD мониторить те параметры, которые раньше нельзя было мониторить автоматически, либо это было достаточно сложно. Разберем работу LLD на примере логических процессоров в Windows:

Изначально интересовал расширенный монтиринг помимо ядрер CPU и нагрузка на физические диски. До того как обнаружение было введено, эти задачи частично решались ручным добавлением. Я добавлял условные диски в файл конфигурации zabbix_agent и вообще по-разному извращался. В результате это было очень неудобно, добавлялось много неприятной ручной работы и вообще неправильно в общем как-то было :)
В итоге получается схема, которая автоматически определяет ядра в системе, а также физические диски, установленные в системе и добавляет необходимые элементы сбора данных. Для того, чтобы узнать как это реализовать у себя, добро пожаловать под кат. Я попытаюсь более-менее подробно расписать работу на примере CPU и то как сделать тоже самое, но для физических дисков.
Читать полностью »
