问题 我试着为我的Open vSwitch部署排障,鉴于此,我想要检查它的由内建日志机制生成的调试信息。我怎样才能启用Open vSwitch的日志功能,并且修改它的日志等级(如,修改成INFO/DEBUG级别)以便于检查更多详细的调试信息呢?

Open vSwitch(OVS)是Linux平台上最流行的开源的虚拟交换机。由于当今的数据中心日益依赖于软件定义网络(SDN)架构,OVS被作为数据中心的SDN部署中的事实标准上的网络元素而得到飞速应用。

Open vSwitch具有一个内建的日志机制,它称之为VLOG。VLOG工具允许你在各种网络交换组件中启用并自定义日志,由VLOG生成的日志信息可以被发送到一个控制台、syslog以及一个便于查看的单独日志文件。你可以通过一个名为ovs-appctl的命令行工具在运行时动态配置OVS日志。

这里为你演示如何使用ovs-appctl启用Open vSwitch中的日志功能,并进行自定义。

下面是ovs-appctl自定义VLOG的语法。

$ sudo ovs-appctl vlog/setmodule[:facility[:level]]

Module:OVS中的任何合法组件的名称(如netdev,ofproto,dpif,vswitchd等等)

Facility:日志信息的目的地(必须是:console,syslog,或者file)

Level:日志的详细程度(必须是:emer,err,warn,info,或者dbg)

在OVS源代码中,模块名称在源文件中是以以下格式定义的:

VLOG_DEFINE_THIS_MODULE();

例如,在lib/netdev.c中,你可以看到:

VLOG_DEFINE_THIS_MODULE(netdev);

这个表明,lib/netdev.c是netdev模块的一部分,任何在lib/netdev.c中生成的日志信息将属于netdev模块。

在OVS源代码中,有多个严重度等级用于定义几个不同类型的日志信息:VLOGINFO()用于报告,VLOGWARN()用于警告,VLOGERR()用于错误提示,VLOGDBG()用于调试信息,VLOG_EMERG用于紧急情况。日志等级和工具确定哪个日志信息发送到哪里。

要查看可用模块、工具和各自日志级别的完整列表,请运行以下命令。该命令必须在你启动OVS后调用。

$ sudo ovs-appctl vlog/list

输出结果显示了用于三个场合(facility:console,syslog,file)的各个模块的调试级别。默认情况下,所有模块的日志等级都被设置为INFO。

指定任何一个OVS模块,你可以选择性地修改任何特定场合的调试级别。例如,如果你想要在控制台屏幕中查看dpif更为详细的调试信息,可以运行以下命令。

$ sudo ovs-appctl vlog/setdpif:console:dbg

你将看到dpif模块的console工具已经将其日志等级修改为DBG,而其它两个场合syslog和file的日志级别仍然没有改变。

如果你想要修改所有模块的日志等级,你可以指定“ANY”作为模块名。例如,下面命令将修改每个模块的console的日志级别为DBG。

$ sudo ovs-appctl vlog/setANY:console:dbg

同时,如果你想要一次性修改所有三个场合的日志级别,你可以指定“ANY”作为场合名。例如,下面的命令将修改每个模块的所有场合的日志级别为DBG。

$ sudo ovs-appctl vlog/setANY:ANY:dbg

本文由 LCTT 原创翻译,Linux中国 荣誉推出

linux启用日志记录功能,Linux下启用Open vSwitch的日志功能以便调试和排障相关推荐

  1. 保姆级教程:Linux(Ubuntu 18.04)下VSCode配置与嵌入式开发平台X2000_Halley5调试环境搭建

    保姆级教程:Linux(Ubuntu 18.04)下VSCode配置与嵌入式开发平台X2000_Halley5调试环境搭建 写在前面 配置VSCode的编译环境 配置VSCode的gdb调试环境 配置 ...

  2. linux多进程的日志记录实现,Linux守护进程的日志实现

    [syslogd守护进程] 由于守护进程没有控制终端进行信息的输出,而有些情况还需要根据进程提供的信息进行系统管理和维护工作.因此Linux提供了syslogd守护进程,专门用于接受其他守护进程提供的 ...

  3. python多线程怎么写日志_Python日志记录在多进程下的使用

    1. 问题描述 项目中,使用RotatingFileHandler根据日志文件大小来切分日志.设置文件的MaxBytes为1GB, backupCount大小为5. 经查看,发现日志文件的大小均小于1 ...

  4. log4日志内容换行_Linux 下 4 种实时监控日志文件的方法,总有一种适合你

    「 读者福利!2 TB 各类技术资源免费赠送 」 在 Linux 下如何才能实时查看日志内容呢?有很多工具可以帮助我们在文件持续修改的同时输出文件内容,最常用的莫过于 tail 命令 了. 1. ta ...

  5. android studio日志不打印,Mac 下 Android Studio 不打印日志的解决办法

    Mac 下 Android Studio 不打印日志的解决办法 Mac 下 Android Studio 不打印日志的解决办法 前言: 在 Mac 下使用 Android Studio 时常会遇到 A ...

  6. java aop注解日志记录_springMVC自定义注解,用AOP来实现日志记录的方法

    需求背景 最近的一个项目,在项目基本完工的阶段,客户提出要将所有业务操作的日志记录到数据库中,并且要提取一些业务的关键信息(比如交易单号)体现在日志中. 为了保证工期,在查阅了资料以后,决定用AOP+ ...

  7. cygwin 编译linux内核,【记录】Cygwin下交叉编译Linux内核时用make menuconfig去确认和修改配置...

    [背景] 折腾: 期间,已用make xxxx_defconfig调用默认配置: 此处,接着去: make menuconfig 去确认和修改配置. [折腾过程] 1.去make menuconfig ...

  8. linux日志记录分析,linux日志朔源分析记录

    lastlog 记录用户最后一次登录情况 只有root最近登录过 lastlog -u 用户名或者uid uid 直接在passwd文件中的低三位可以看到 lastb 记录用户用户登录失败的用户记录, ...

  9. 【错误记录】Ubuntu 下 VSCode 编译报错 ( 无法生成和调试,因为活动文件不是 C 或 C++ 源文件。终端进程启动失败(退出代码: -1)。终端将被任务重用,按任意键关闭。 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 VSCode 中 , 创建 cpp 源码 : #include <iostream> #include <vector> ...

最新文章

  1. Scrum 工件: 速度图和燃尽图
  2. java中原生方法_java中原生(native)函数的用法
  3. 几款表贴LED反向电流特性
  4. linux c内核开发,嵌入式uClinux的内核结构和开发环境
  5. 2021-11-30
  6. spring生命周期_理解Spring应用上下文生命周期
  7. RabbitMQ集群原理介绍
  8. dj电商-模型类设计-1.x-模型类抽象基类
  9. Node.js使用supervisor遭遇‘supervisor’不是内部或外部命令,如果解决?
  10. 第一次 Zul'grub
  11. HTML基础整理(From表单)
  12. Python3爬虫实战——QQ空间自动点赞程序(上)
  13. 使用gitLab clone代码报错:error: RPC failed; curl 56 OpenSSL SSL_read: Connection was reset
  14. Adaptive Supply Chain: Demand–Supply Synchronization Using Deep Reinforcement Learning翻译
  15. Matlab sim函数的用法
  16. 孫丕恕:計算力已成為數字經濟先行指數 決定未來發展潛力
  17. i6mA-DNC:基于深度学习的二核苷酸表示预测水稻基因组DNA n6 -甲基腺苷位点
  18. 剑指offer 学习笔记 和为s的数字
  19. IMX6ULL-IRQ中断之添加中断向量表
  20. find grep联合搜索

热门文章

  1. 2022-2028年中国自主可控行业深度调研及投资前景预测报告(全卷)
  2. 2022-2028年中国废旧塑料回收产业研究及前瞻分析报告
  3. Go 语言同一个包内函数调用、包名和实际路径最后一个目录不一致问题
  4. Redis 笔记(02)— keys 键相关命令(查询数据库key数量、判断key是否存在、指定key过期时间、查看key类型、查看key剩余秒数、选择数据库、删除key、删除数据库)
  5. 寻找一个字符串的重复子串 后缀数组
  6. 汇编语言关于8086CPU多种寻址方式总结
  7. LLVM数据流分析的理论
  8. TVM性能评估分析(二)
  9. nvGRAPH API参考分析(一)
  10. ffmpeg architecture(上)