Skip to main content

Эта версия GitHub Enterprise Server была прекращена 2024-09-25. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, повышения безопасности и новых функций выполните обновление до последней версии GitHub Enterprise Server. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Мониторинг с помощью SNMP

GitHub Enterprise предоставляет данные об использовании диска, ЦП, памяти и т. д. по протоколу SNMP.

SNMP является распространенным решением для мониторинга устройств в сети. Настоятельно рекомендуется включить SNMP, чтобы вы могли отслеживать работоспособность ваш экземпляр GitHub Enterprise Server и знать, когда нужно добавить больше памяти, хранилища или процессора на хост-компьютер.

GitHub Enterprise содержит стандартную установку SNMP, поэтому вы можете воспользоваться многими подключаемыми модулями, которые предоставляются для Nagios или любой другой системы мониторинга.

Настройка SNMP версии 2c

  1. В учетной записи администратора GitHub Enterprise Server, в правом верхнем углу любой страницы щелкните .

  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.

  3. На боковой панели " "Администратор сайта" щелкните Консоль управления.

  4. На боковой панели "Параметры" щелкните "Мониторинг".

  5. В разделе "Мониторинг" выберите Включить SNMP.

  6. В поле Строка сообщества введите новую строку сообщества. Если оставить это поле пустым, по умолчанию используется значение public.

  7. На боковой панели "Параметры" нажмите кнопку "Сохранить параметры".

    Note

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

  8. Подождите завершения запуска конфигурации.

  9. Проверьте конфигурацию SNMP, выполнив следующую команду на отдельной рабочей станции с поддержкой SNMP в сети:

    # community-string is your community string
    # hostname is the IP or domain of your Enterprise instance
    $ snmpget -v 2c -c COMMUNITY-STRING -O e HOSTNAME hrSystemDate.0
    

Это должно возвращать системное время на узле ваш экземпляр GitHub Enterprise Server.

Безопасность на основе пользователей

Если настроена поддержка SNMP версии 3, вы можете получить более высокий уровень безопасности с контролем на уровне пользователей благодаря модели безопасности пользователей (USM). Для каждого уникального пользователя можно отдельно настроить один из следующих уровней безопасности.

  • noAuthNoPriv: этот уровень безопасности не предоставляет проверку подлинности и конфиденциальность.
  • authNoPriv: этот уровень безопасности предоставляет проверку подлинности, но не предоставляет конфиденциальность. Чтобы отправить запрос на устройство, потребуется имя пользователя и пароль (длиной не менее восьми символов). Информация отправляется без шифрования, как в протоколе SNMP версии 2. В качестве протокола проверки подлинности может использоваться MD5 или SHA, по умолчанию — SHA.
  • authPriv: этот уровень безопасности предоставляет проверку подлинности и конфиденциальность. Проверка подлинности является обязательной, пароль должен содержать не менее восьми символов, а ответы шифруются. Пароль конфиденциальности не является обязательным, но если он указан, то должен содержать не менее восьми символов. Если пароль конфиденциальности не указан, используется пароль проверки подлинности. В качестве протокола конфиденциальности может использоваться DES или AES, по умолчанию — AES.

Настройка пользователей для SNMP версии 3

  1. В учетной записи администратора GitHub Enterprise Server, в правом верхнем углу любой страницы щелкните .

  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.

  3. На боковой панели " "Администратор сайта" щелкните Консоль управления.

  4. На боковой панели "Параметры" щелкните "Мониторинг".

  5. В разделе "Мониторинг" выберите Включить SNMP.

  6. Выберите SNMP версии 3.

  7. В разделе "Имя пользователя" введите уникальное имя пользователя SNMP версии 3.

  8. Выберите раскрывающееся меню уровня безопасности и выберите уровень безопасности для пользователя SNMP версии 3.

  9. Для пользователей SNMP версии 3 с authnopriv уровнем безопасности настройте проверку подлинности.

    • В поле "Пароль проверки подлинности" введите пароль проверки подлинности.
    • Рядом с полем "Пароль проверки подлинности" выберите раскрывающееся меню "Протокол ", а затем выберите нужный протокол проверки подлинности.
    • Если для внешней системы мониторинга требуется алгоритм SHA, GitHub Enterprise Server в настоящее время использует SHA-1.
  10. Для пользователей SNMP версии 3 с authpriv уровнем безопасности настройте проверку подлинности.

    • В поле "Пароль проверки подлинности" введите пароль проверки подлинности.
    • Рядом с полем "Пароль проверки подлинности" выберите раскрывающееся меню "Протокол ", а затем выберите нужный протокол проверки подлинности.
    • При необходимости в поле "Пароль конфиденциальности" введите пароль конфиденциальности.
    • Рядом с полем "Пароль конфиденциальности" выберите раскрывающееся меню "Протокол ", а затем выберите метод протокола конфиденциальности, который вы хотите использовать.
    • Если для внешней системы мониторинга требуется алгоритм AES, GitHub Enterprise Server в настоящее время использует AES-128.
  11. Нажмите кнопку Добавить пользователя.

  12. На боковой панели "Параметры" нажмите кнопку "Сохранить параметры".

    Note

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

  13. Подождите завершения запуска конфигурации.

Запрос данных SNMP

В SNMP версии 3 доступны сведения об устройстве на аппаратном и программном уровнях. Из-за отсутствия шифрования и конфиденциальности, для уровней безопасности noAuthNoPriv и authNoPriv мы исключаем таблицу hrSWRun (1.3.6.1.2.1.25.4) из создаваемых отчетов SNMP. Если вы используете уровень безопасности authPriv, мы включаем эту таблицу. Дополнительные сведения см. в документации по MIB.

В SNMP версии 2с доступны сведения об устройстве только на аппаратном уровне. Приложения и службы в GitHub Enterprise не имеют настроенных идентификаторов OID для передачи метрик. Доступны несколько MIB, для получения списка которых можно выполнить snmpwalk на отдельной рабочей станции с поддержкой SNMP в сети:

# community-string is your community string
# hostname is the IP or domain of your Enterprise instance
$ snmpwalk -v 2c -c COMMUNITY-STRING -O e HOSTNAME

Из доступных MIB для SNMP наиболее полезным является HOST-RESOURCES-MIB (1.3.6.1.2.1.25). В таблице ниже приведены некоторые важные объекты в этом MIB:

Имя.OIDDescription
hrSystemDate.21.3.6.1.2.1.25.1.2Представление узлов о локальной дате и времени дня.
hrSystemUptime.01.3.6.1.2.1.25.1.1.0Сколько времени прошло с момента последней инициализации узла.
hrMemorySize.01.3.6.1.2.1.25.2.2.0Объем ОЗУ на виртуальной машине.
hrSystemProcesses.01.3.6.1.2.1.25.1.6.0Количество контекстов процесса, загруженных или выполняющихся на узле в данный момент.
hrStorageUsed.11.3.6.1.2.1.25.2.3.1.6.1Объем дискового пространства, потребляемого на узле, выраженный в hrStorageAllocationUnits.
hrStorageAllocationUnits.11.3.6.1.2.1.25.2.3.1.4.1Размер hrStorageAllocationUnit в байтах

Например, чтобы получить hrMemorySize по протоколу SNMP версии 3, выполните следующую команду на отдельной рабочей станции с поддержкой SNMP в сети:

# username is the unique username of your SNMP v3 user
# auth password is the authentication password
# privacy password is the privacy password
# hostname is the IP or domain of your Enterprise instance
$ snmpget -v 3 -u USERNAME -l authPriv \
  -A "AUTH PASSWORD" -a SHA \
  -X "PRIVACY PASSWORD" -x AES \
  -O e HOSTNAME HOST-RESOURCES-MIB::hrMemorySize.0

Чтобы получить hrMemorySize по протоколу SNMP версии 2c, выполните следующую команду на отдельной рабочей станции с поддержкой SNMP в сети:

# community-string is your community string
# hostname is the IP or domain of your Enterprise instance
snmpget -v 2c -c COMMUNITY-STRING HOSTNAME HOST-RESOURCES-MIB::hrMemorySize.0

Note

Чтобы предотвратить утечку сведений о службах, работающих на устройстве, мы исключим таблицу hrSWRun (1.3.6.1.2.1.25.4) из полученных отчетов SNMP, если только вы не используете authPriv уровень безопасности с SNMP версии 3. Если вы используете уровень безопасности authPriv, мы включаем таблицу hrSWRun.

Дополнительные сведения о сопоставлениях OID для распространенных системных атрибутов в SNMP см . в разделе Linux SNMP OID для ЦП, памяти и статистики дисков.