Для запуска snmpsim в докере мы будем использовать образ python:3.7-slim-buster. Почему не Alpine можно узнать из статьи на Хабре. В целом алгоритм достаточно прост: установить из pip симулятор snmpsim, скопировать папку data (содержащую файл public.snmprec) и открыть 161 порт.
И тут самое важное: требуется стартовать snmpsimd.py непременно из под process-user и process-group равными root.
Как сообщает Википедия, SNMP (англ. Simple Network Management Protocol — простой протокол сетевого управления) — стандартный интернет-протокол для управления устройствами в IP-сетях на основе архитектур TCP/UDP. К поддерживающим SNMP устройствам относятся маршрутизаторы, коммутаторы, серверы, рабочие станции, принтеры, модемные стойки и другие. Протокол обычно используется в системах сетевого управления для контроля подключённых к сети устройств на предмет условий, которые требуют внимания администратора.
Касательно принтеров возможен опрос их характеристик по SNMP-протоколу, например: количество отпечатанных листов разных форматов, количество оставшегося ресурса фотобарабана и т.д. Иногда требуется симулировать ответы устройства по SNMP для целей тестирования, в том числе нагрузочного.
В вопросе симуляции ответов SNMP устройств отличным помощником выступает SNMP Simulator, который сам себя характеризует как pure-Python, open source and free implementation of SNMP agents simulator. Исходные коды симулятора расположены на Github по адресу: https://github.com/etingof/snmpsim
Для функционирования симулятора потребуется Python любой версии из ряда: 2.4, 2.5, 2.6, 2.7, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7. Скачать его можно отсюда: https://www.python.org/downloads/
Для установки симулятора введите команду в терминале (PowerShell, CommandPrompt):
1
$ pip install snmpsim
Далее для симуляции потребуется текстовый файл public.snmprec, содержащий в каждой отдельной строке:
Обучаясь в рамках бесплатного курса“Как вести блог и развивать личный бренд” Высшей Школы Программирования Сергея Бобровского я столкнулся с необходимостью описать алгоритм создания блога на github.io.
GitHub Pages отличная площадка, позволяющая разместить статический сайт с именем https://username.github.io прямо на GitHub. При этом не требуется организации хостинга, развертывания БД и т.д. Такой сайт может служить блогом о ваших проектах, любимых книгах, … да о чём угодно вашей душе.
Я решил использовать GitHub Pages для личного блога. Для этого потребуется выполнить следующие шаги:
Создайте на GitHub открытый репозиторий (public repository) называющийся username.github.io, где username - это ваше имя пользователя на GitHub. Учтите, что если имя репозитория не будет в точности соответствовать username на GitHub, то сайт не заработает.
Для организации блога/сайта на GitHub Pages можно использовать различные инструменты (самый известный - Jekyll). Я остановил свой выбор на Hexo. Подкупила простота и возможность использовать Markdown при создании постов. Для установки Hexo:
$ npm install hexo-cli -g $ hexo init blog $ cd blog $ npm install $ hexo server
В Hexo существует порядка 336 шаблонов и я почти на день погрузился в их изучение.
В конечном итоге вернулся к дефолтному шаблону landscape, т.к. большинство шаблонов Hexo на китайском языке.
Отредактируйте файл _config.yml:
1
post_asset_folder:true
Это позволит автоматически создавать папку для ресурсов в source/_posts с имененм нового поста.
Создайте новый пост блога командой:
1
$ hexo new "имя-нового-поста"
Отредактируйте файл имя-нового-поста.md, расположенный в папке source/_posts. Для примера можно использовать hello-world.md файл, расположенный в той же папке. Изображения и другие ресурсы поместите в папку source/_posts/имя-нового-поста, созданную автоматически благодаря настройками из пункта 4. Размещение изображений в посте отличается от стандантного Markdown. Для того чтобы вставить изображение возпользуйтесь:
1
{% asset_img image.jpg My specific image title %}
Hexo сам найдёт изображение image.jpg в папке source/_posts/имя-нового-поста и добавит его в пост.
Откройте в браузере страницу с адресом Hexo сервера по умолчанию: http://localhost:4000/ и оцените результат. Если результат устраивает, переходите к пункту 8. Если нет, вернитесь к пункту 6.
Для автоматического деплоя блога на GitHub установите hexo-deployer-git
Меня зовут Артём Остащенко. Я - C#.NET разработчик, балующийся фронтендом. Так как я по образованию инженер в области материалов и компонентов твердотельной электроники, то программирование изучал самостоятельно. В этом мне очень помогли ITVDN, Hexlet, HTML Academy, Ulearn.me, Stepik и Сергей Игоревич Бобровский. Этот блог будет посвящён разработке ПО для принтеров, электросчётчиков, C#, фронтенду (JS, React) и книгам, которые я прочёл и рекомендую другим.
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.