Более простой подход:
Просто скажите своим пользователям чтобы добавить псевдоним для вашего git-сервера в ~ / .ssh / config
. Тогда они имеют такое же удобство, как и github, и вам не нужно делать какие-то странные перенаправления на стороне сервера.
Например:
# put into ~/.ssh/config
Host mygitlab
Hostname git.example.org
Port 10022
Тогда ваши пользователи могут просто клонировать и т. Д. Вот так:
$ git clone mygitlab:someuser/somerepo.git
Похоже, вы неправильно используете nagios. В nagios вы определяете хосты, группы хостов, сервисы для каждой группы хостов. И вам нужно установить/изменить только имена хостов и (при необходимости )перераспределить их по группам хостов.
Другим возможным решением является использование SNMP. Для каждого хоста вы определяете агент snmp с зондами для необходимых вам услуг. И один пример сценария может «просматривать» сеть на наличие доступного агента snmp и добавлять его в решение для мониторинга.