SNMP является распространенным решением для мониторинга устройств в сети. Мы настоятельно рекомендуем включить SNMP, чтобы вы могли отслеживать работоспособность экземпляр GitHub Enterprise Server и знать, когда следует добавить дополнительные ресурсы памяти, хранилища или процессора на хост-компьютер.
GitHub Enterprise содержит стандартную установку SNMP, поэтому вы можете воспользоваться многими подключаемыми модулями, которые предоставляются для Nagios или любой другой системы мониторинга.
Настройка SNMP версии 2c
-
В учетной записи администратора GitHub Enterprise Server в правом верхнем углу любой страницы щелкните .
-
Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта. 1. На боковой панели Администратор сайта щелкните Консоль управления. 1. На боковой панели "Параметры" щелкните Мониторинг. 1. В разделе "Мониторинг" выберите Включить SNMP.
-
В поле Строка сообщества введите новую строку сообщества. Если оставить это поле пустым, по умолчанию используется значение
public
. -
На боковой панели "Параметры" щелкните Сохранить параметры.
Примечание. Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простою, заметному для пользователей.
-
Подождите завершения запуска конфигурации.
-
Проверьте конфигурацию 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
-
В учетной записи администратора GitHub Enterprise Server в правом верхнем углу любой страницы щелкните .
-
Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта. 1. На боковой панели Администратор сайта щелкните Консоль управления. 1. На боковой панели "Параметры" щелкните Мониторинг. 1. В разделе "Мониторинг" выберите Включить SNMP.
-
Выберите SNMP версии 3.
-
В разделе "Имя пользователя" введите уникальное имя пользователя SNMP версии 3.
-
Выберите раскрывающееся меню Уровень безопасности и выберите уровень безопасности для пользователя SNMP версии 3.
-
Для пользователей SNMP версии 3 с
authnopriv
уровнем безопасности настройте проверку подлинности.- В разделе "Пароль проверки подлинности" введите пароль проверки подлинности.
- Рядом с полем "Пароль проверки подлинности" выберите раскрывающееся меню Протокол , а затем выберите нужный протокол проверки подлинности.
-
Для пользователей SNMP версии 3 с
authpriv
уровнем безопасности настройте проверку подлинности.- В разделе "Пароль проверки подлинности" введите пароль проверки подлинности.
- Рядом с полем "Пароль проверки подлинности" выберите раскрывающееся меню Протокол , а затем выберите нужный протокол проверки подлинности.
- При необходимости в разделе "Пароль конфиденциальности" введите пароль конфиденциальности.
- Рядом с пунктом "Пароль конфиденциальности" выберите раскрывающееся меню Протокол и выберите нужный метод протокола конфиденциальности.
-
Нажмите кнопку Добавить пользователя.
-
На боковой панели "Параметры" щелкните Сохранить параметры.
Примечание. Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простою, заметному для пользователей.
-
Подождите завершения запуска конфигурации.
Запрос данных SNMP
В SNMP версии 3 доступны сведения об устройстве на аппаратном и программном уровнях. Из-за отсутствия шифрования и конфиденциальности, для уровней безопасности noAuthNoPriv
и authNoPriv
мы исключаем таблицу hrSWRun
(1.3.6.1.2.1.25.4) из создаваемых отчетов SNMP. Если вы используете уровень безопасности authPriv
, мы включаем эту таблицу. Дополнительные сведения см. в справочной документации по API.
В 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:
Имя | OID | Описание |
---|---|---|
hrSystemDate.2 | 1.3.6.1.2.1.25.1.2 | Представление узлов о локальной дате и времени дня. |
hrSystemUptime.0 | 1.3.6.1.2.1.25.1.1.0 | Сколько времени прошло с момента последней инициализации узла. |
hrMemorySize.0 | 1.3.6.1.2.1.25.2.2.0 | Объем ОЗУ на виртуальной машине. |
hrSystemProcesses.0 | 1.3.6.1.2.1.25.1.6.0 | Количество контекстов процесса, загруженных или выполняющихся на узле в данный момент. |
hrStorageUsed.1 | 1.3.6.1.2.1.25.2.3.1.6.1 | Объем дискового пространства, потребляемого на узле, выраженный в hrStorageAllocationUnits. |
hrStorageAllocationUnits.1 | 1.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
Примечание: чтобы предотвратить утечку сведений о службах, работающих на устройстве, мы исключаем таблицу hrSWRun
(1.3.6.1.2.1.25.4) из создаваемых отчетов SNMP, если вы не используете уровень безопасности authPriv
для SNMP версии 3. Если вы используете уровень безопасности authPriv
, мы включаем таблицу hrSWRun
.
Дополнительные сведения о сопоставлениях OID для популярных системных атрибутов SNMP см. в разделе OID для статистики по ЦП, памяти и дискам в Linux SNMP.