#snmp #mib #collectd
#snmp #МиБ #collectd
Вопрос:
Есть много проблем, похожих на мою, но я не могу найти правильные решения для своей.
В настоящее время я работаю на компьютере CentOS 7 с collectd версии 5.8.
Collectd.service не запускается из-за ошибки в файле конфигурации. Файл конфигурации находится в /etc/collectd.d/snmp.conf
и вызывается правильно из collectd.conf
файла. Моя ошибка заключается в следующем:
Mar 30 01:16:24 localhost.localdomain collectd[18779]: Parse error in file `/etc/collectd.d/snmp.conf', line 19 near `<newline>': syntax error, unexpected EOL
Mar 30 01:16:24 localhost.localdomain collectd[18779]: yyparse returned error #1
Mar 30 01:16:24 localhost.localdomain collectd[18779]: configfile: Cannot read file `/etc/collectd.d/snmp.conf'.
Mar 30 01:16:24 localhost.localdomain collectd[18779]: Unable to read config file /etc/collectd.conf.
Mar 30 01:16:24 localhost.localdomain collectd[18779]: Error: Reading the config file failed!
Mar 30 01:16:24 localhost.localdomain collectd[18779]: Read the logs for details.
Mar 30 01:16:24 localhost.localdomain systemd[1]: collectd.service: main process exited, code=exited, status=1/FAILURE
Mar 30 01:16:24 localhost.localdomain systemd[1]: Failed to start Collectd statistics daemon.
Я не могу найти ничего необычного в своем коде, может быть, вы, ребята, сможете найти проблему.
Мой файл snmp.conf, в котором возникает ошибка, выглядит следующим образом:
<Plugin snmp
<Data "if_octets">
Type "if_octets"
Table true
Instance "IF-MIB::ifDescr"
Values "IF-MIB::ifOutOctets" "IF-MIB::ifInOctets"
</Data>
<Data "if_speed">
Type "bitrate"
Table true
Instance "IF-MIB::ifDescr"
Values "IF-MIB::ifSpeed"
</Data>
<Data "temperature">
Type "temperature"
Table false
Instance "device"
Scale 0.1
Values "MIKROTIK-MIB::mtxrHlTemperature.0"
</Data>
<Data "processorTemperature">
Type "temperature"
Table false
Instance "processor"
Scale 0.1
Values "MIKROTIK-MIB::mtxrHlProcessorTemperature.0"
</Data>
<Data "fanspeed">
Type "fanspeed"
Table false
Type "fanspeed"
Table false
Instance "fan_speed"
Values "MIKROTIK-MIB::mtxrHlFanSpeed1.0"
</Data>
<Host "best_server_ever">
Address 127.0.0.1
Version 2
Community "public"
Collect "if_speed" "temperature" "processorTemperature" "fanspeed"
Interval 120
Timeout 10
Retries 1
</Host>
<Host "smallest_server_ever">
Address 127.0.0.1
Version 2
Community "public"
Collect "if-speed" "temperature" "processorTemperature" "fanspeed"
Interval 120
Timeout 10
Retries 1
</Host>
</Plugin>
Ошибка возникает в строке 19, это строка, в которой я использую альтернативный MIB-файл, MIB находится в /usr/share/snmp/mibs/
, и я использовал его раньше.
Selinux в настоящее время находится в разрешающем режиме, поэтому это не может быть причиной проблемы. Также права доступа к файлам у MIB-файла такие же, как и у любого другого MIB.
Ответ №1:
Окей, забыл закрывающий знак «больше, чем» в верхней части файла конфигурации snmp. Пока это был не самый умный мой ход…
Примечание для всех, кто получает эту ошибку: почти всегда, когда возникает эта ошибка, это простая опечатка / синтаксическая ошибка и не всегда встречается в указанной строке. В большинстве случаев это происходит в одной из предыдущих строк упомянутого файла.
Комментарии:
1. Хороший редактор xml с проверкой синтаксиса помогает предотвратить такого рода проблемы-