Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 31, 2018 15:01:21

rugo
Зарегистрирован: 2018-09-18
Сообщения: 9
Репутация: +  1  -
Профиль   Отправить e-mail  

Syslog-server

Мне нужно написать прием syslog-сообщений. Нашел пример реализации.

 ## Tiny Syslog Server in Python.
##
## This is a tiny syslog server that is able to receive UDP based syslog
## entries on a specified port and save them to a file.
## That's it... it does nothing else...
## There are a few configuration parameters.
LOG_FILE = 'youlogfile.log'
HOST, PORT = "0.0.0.0", 514
#
# NO USER SERVICEABLE PARTS BELOW HERE...
#
import logging
import SocketServer
logging.basicConfig(level=logging.INFO, format='%(message)s', datefmt='', filename=LOG_FILE, filemode='a')
class SyslogUDPHandler(SocketServer.BaseRequestHandler):
    def handle(self):
        data = bytes.decode(self.request[0].strip())
        socket = self.request[1]
        print( "%s : " % self.client_address[0], str(data))
        logging.info(str(data))
if __name__ == "__main__":
    try:
        server = SocketServer.UDPServer((HOST,PORT), SyslogUDPHandler)
        server.serve_forever(poll_interval=0.5)
    except (IOError, SystemExit):
Вопросы у меня такие.
1. Зачем нужна команда
 socket = self.request[1] 
С ней и без нее скрипт работает одинаково.
2. Почему нигде нет команды завершения UDP сервера и при этом когда я останавливаю скрипт, 514 порт сразу закрывается в Windows, Значит Windows знает, что соединение закрывается.

Отредактировано rugo (Окт. 31, 2018 15:01:49)

Офлайн

#2 Окт. 31, 2018 15:28:28

Papa_Svin
Зарегистрирован: 2018-09-17
Сообщения: 138
Репутация: +  1  -
Профиль   Отправить e-mail  

Syslog-server

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

Офлайн

#3 Окт. 31, 2018 15:44:09

rugo
Зарегистрирован: 2018-09-18
Сообщения: 9
Репутация: +  1  -
Профиль   Отправить e-mail  

Syslog-server

Papa_Svin
Так эту реализацию какой-нибудь тупица писал, ищите примеры в документации производителя, а не в бложиках.
А чем плоха данная реализация и документация производителя чего мне нужно искать?
Нужно просто принимать сообщения по порту 514/UDP. Дальше я буду их парсить и раскладывать по полочкам.

Офлайн

#4 Окт. 31, 2018 15:55:08

Papa_Svin
Зарегистрирован: 2018-09-17
Сообщения: 138
Репутация: +  1  -
Профиль   Отправить e-mail  

Syslog-server

rugo
А чем плоха данная реализация и документация производителя чего мне нужно искать?
Ну если всем хороша, что ж вы вопросы задаете?
Зачем нужна команда
да низачем, автору зачем-то нужна была, видимо. Читайте доку, не будет вопросов.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version