千家信息网

openstack如何使用rsyslog转发日志

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,openstack如何使用rsyslog转发日志,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。系统:ubuntu14.0
千家信息网最后更新 2026年11月01日openstack如何使用rsyslog转发日志

openstack如何使用rsyslog转发日志,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

系统:ubuntu14.04

openstack版本: juno

一,在nova中启用rsyslog

1. 修改 /etc/nova/nova.conf

[DEFAULT]use_syslog = Truesyslog_log_facility = LOG_LOCAL0


2. 修改nova代码。

2.1首先确认nova代码的位置

python -c 'import nova;print nova.__path__'['/usr/lib/python2.7/dist-packages/nova']

2.2进入nova目录

cd /usr/lib/python2.7/dist-packages/nova

2.3修改代码

vim openstack/common/log.py

2.3.1 搜索"use-syslog-rfc-format"关键字,将配置中的default=False改为True,启用rfc格式的日志,如果不启用的话,不会把发送日志的程序名打印出来,该配置在配置文件中修改无效,所以直接改代码中的默认值。修改后如下:

    cfg.BoolOpt('use-syslog-rfc-format',                # TODO(bogdando) remove or use True after existing                #    syslog format deprecation in J                default=True,                help='(Optional) Enables or disables syslog rfc5424 format '                     'for logging. If enabled, prefixes the MSG part of the '                     'syslog message with APP-NAME (RFC5424). The '                     'format without the APP-NAME is deprecated in I, '                     'and will be removed in J.'),

2.3.2 搜索"if CONF.use_syslog"关键字,往下几行。

(1)将syslog = RFCSysLogHandler(facility=facility)改为syslog = RFCSysLogHandler(address='/dev/log',facility=facility)

(2)将syslog = logging.handlers.SysLogHandler(facility=facility)改为syslog = logging.handlers.SysLogHandler(address='/dev/log',facility=facility)

最终结果如下:

    if CONF.use_syslog:        try:            facility = _find_facility_from_conf()            # TODO(bogdando) use the format provided by RFCSysLogHandler            #   after existing syslog format deprecation in J            if CONF.use_syslog_rfc_format:                syslog = RFCSysLogHandler(address='/dev/log',facility=facility)            else:                syslog = logging.handlers.SysLogHandler(address='/dev/log',facility=facility)                #syslog = logging.handlers.SysLogHandler(facility=facility)            log_root.addHandler(syslog)        except socket.error:            log_root.error('Unable to add syslog handler. Verify that syslog'                           'is running.')

二, 配置rsyslog

1. 新增rsyslog配置。rsyslog在ubuntu14.04中已经安装。

#新增配置文件echo 'local0.*    @@192.168.100.100:514' > /etc/rsyslog.d/60-nova.conf

效果是将本地local0.*的日志转发到远程的192.168.100.100:514。

local0对应nova.conf中的LOG_LOCAL0,后面的.*表示转发所有级别的日志,如果只想传送错入日志,可以改成local0.error,最后的@@192.168.100.100:514表示将本地的rsyslog转发到远程日志服务器。具体参考rsyslog官方文档。

local0.*    @@192.168.100.100:514

2, 重启服务器

service rsyslog restartservice nova-compute restart

3. 验证rsyslog有没有配置成功。在shell中执行如下命令,正常的话结果会在192.168.100.100显示出来。

logger -p local0.debug "test rsyslog"

三, 总结

整个日志的流程是(1)nova发送日志给本地的rsyslog服务器。(2)本地的rsyslog接收日志,并转发到远程的日志服务器192.168.100.100。(3)远程的日志服务器可以使rsyslog,也可以是其他的日志服务器如graylog,记得打开远程日志服务器的tcp接收端口。

openstack其他服务的配置也是类似的,唯一的区别是定位代码的位置,如过要修改cinder的话,可以这样确定代码位置:

python -c 'import cinder;print cinder.__path__'

修改openstack或rsyslog配置后记得重启服务。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

日志 服务 配置 服务器 代码 位置 关键 关键字 文件 结果 帮助 搜索 清楚 成功 内容 可以使 后记 命令 官方 对此 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东猪兼强互联网科技有限公司 互联网科技公司起名 科技赋能下的互联网金融 科技互联网龙头 互联网最新的科技 疫情对互联网科技公司影响 互联网的科技创新 互联网科技公司官网 银优互联网科技有限公司 互联网高科技股票 广州慧亚互联网科技怎么样 互联网科技热点资讯 中国航天科技大学国际工业互联网 中和天地互联网科技有限公司 梅州GM互联网络科技有限公司 上海乐五互联网科技有限公司 银川新华互联网科技学校是国营吗 求路客互联网科技电话 互联网科技大会大佬 北京瑞云互联网科技有限公司 什么是科技互联网 互联网下的科技发展 嘟嘟瓜互联网科技 南京欣网互联网科技 多迪互联网科技有限公司 移动互联网年度科技创新 厦门江牛科技互联网 三亚科技创新互联网基地 科技互联网专业工作会议发言稿 知域互联网科技有限公司官网
0