Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: сообщения syslog  (Прочитано 10824 раз)
0 Пользователей и 1 Гость смотрят эту тему.
alex87
Постоялец

ru
Offline Offline
Пол: Мужской

« : 17-04-2009 04:45 » 

Каждое сообщение syslog содержит определение категории (facility) и уровни серьезности (level).
0   Emergency (Авария): система неработоспособна.
1   Alert (Тревога): требуются немедленные действия.
2   Critical (Критическое состояние): система находится в критическом состоянии.
и т.д.
сообщения идут с устройства  и там првым идет атегория, но она числовая - (30,186,190...)
как определить категории (facility) уровней критичности?...
что например 186 это 2. и т.д.
 Не понял
p.s. может есть литература соответсвенная...?
Записан

Улыбаюсь Ага
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 17-04-2009 11:38 » 

alex87, подробнее расскажи! Что за устройство, что это идут и чего ты хочешь сделать...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
alex87
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 17-04-2009 15:13 » 

устройство в сети у которого есть свой протокол syslog и который шлет по 514 порту сообщения о состоянии. в этом сообщении присутствует степень критичности, обозначеная числом 30,186,188,190 и т.д. вот под ними скрыт сама категория (facility) критичности их 7. считается от нуля.
вот и надо перекодировать числа 30,186,188,190и т.д в категории и от них уже посылать соотв сообщения на экран.
Записан

Улыбаюсь Ага
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 17-04-2009 15:16 » 

alex87, формат кодирования - в студию )
Записан

RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 17-04-2009 20:13 » 

alex87, ты не объяснил, зачем это надо... Для приема сообщений не нужно ничего дешефровывать - просто настрой принимающий syslogd и все делов то...
Другое дело, если задача иная. Т.ч. колись Улыбаюсь

http://ru.wikipedia.org/wiki/Syslog
http://tools.ietf.org/html/rfc3164

Цитата
The Priority value is calculated by first multiplying the Facility number by 8 and then adding the numerical value of the Severity. For example, a kernel message (Facility=0) with a Severity of Emergency (Severity=0) would have a Priority value of 0.  Also, a "local use 4" message (Facility=20) with a Severity of Notice (Severity=5) would have a Priority value of 165.  In the PRI part of a syslog message, these values would be placed between the angle brackets as <0> and <165> respectively.  The only time a value of "0" will follow the "<" is for the Priority value of "0". Otherwise, leading "0"s MUST NOT be used.
« Последнее редактирование: 17-04-2009 20:22 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
alex87
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 20-04-2009 03:14 » 

alex87, формат кодирования - в студию )
что то типа такого
Код:
s = a>>3;
d = s^a;
w = d<<3;
вот если а=190 а на выходе должно быть уровень серьезности w=6
примерно знаю что 190 это 6 уровень
188 это 4 уровень, а вот остальные как определить?
Записан

Улыбаюсь Ага
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #6 : 20-04-2009 03:18 » 

ну, если строго по твоей формуле, то так

w = ((a>>3)^a)<<3

но это какой то бред... Смысл не улавливается.

Я ещё понимаю, если было бы выделено, скажем, 2 старших (или младших) бита кода, и это значение от 0 до 3 - было бы искомое
Записан

RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 20-04-2009 03:51 » 

alex87, судя по описанию, биты располагаются так: ffff fsss

Код:
facility = number >> 3;
severity = number & 7;
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
lag
Участник

ru
Offline Offline

« Ответ #8 : 20-04-2009 05:49 » 

а не у Рихтера ли есть описание? Хотя у него код ошибки 32-битный.
 

Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines