简介
本文介绍了华为交换机日志的定义、分类以及输出方法,通过配置举例详细说明了两种常用的日志输出方法。
什么是日志
日志属于Log信息,其范围比较广。按照ITU-T定义,凡是管理对象事件和异常活动都可以以日志形式记录下来。日志具有跟踪用户活动、管理系统安全的功能,同时也能为系统进行诊断和维护提供依据,是操作维护、定位问题的重要手段。
日志有哪些分类?
日志分为用户日志、运维日志、诊断日志及安全日志。各类日志的定义如表1所示。

!! 说明:系统记录的诊断日志、运维日志仅用于问题定位,不会记录用户的敏感信息。
如何输出日志?
打开设备的信息中心功能可实现各种信息的输出。为了实现对各类信息的输出控制,信息中心定义了10条信息通道(如图1所示),缺省情况下0-5号信息通道有特定名称,6-9号信息通道没有特定名称。各通道之间独立输出,互不影响。
如图1所示,日志有5个输出方向,分别为控制台、远程终端、日志主机、Log缓冲区和日志文件。
缺省情况下,5个输出方向与5条信息通道一一对应。用户可以根据需要更改信息通道的名称,也可以更改信息通道与输出方向之间的对应关系。

最常用的日志输出方式是输出到日志文件与输出到日志主机。
输出到日志文件:将设备的各类日志输出到一台远程服务器的文件中。
输出到日志主机:对设备的日志进行分类,将不同种类的日志输出到不同的远程服务器上。
如何将日志输出到日志文件?
组网图
如图1所示,SwitchA通过网络与FTP Server相连,SwitchA和FTP Server之间路由可达。网络维护人员希望在FTP Server上查看SwitchA上产生的日志信息,以了解SwitchA的运行情况。

!! 说明 FTP为不安全协议,用户如果对网络安全要求较高,建议使用SFTP。
配置步骤
1、使能信息中心功能。
system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] info-center enable
[*SwitchA] commit
2、配置向日志文件发送Log信息的信息通道和输出规则。
[~SwitchA] info-center logfile channel channel6
[*SwitchA] commit
[~SwitchA] info-center source default channel channel6 log level warning
[*SwitchA] commit
3、配置登录到FTP Server,登录用户名为user1,密码为pwd123。
ftp 10.1.1.1
Trying 10.1.1.1 …
Press CTRL + K to abort
Connected to 10.1.1.1.
220 VRPV8 FTP service ready.
User(10.1.1.1:(none)):user1
331 Password required for user1.
Enter password:
230 User logged in.
4、将设备生成的日志文件传输到FTP Server。
[ftp] put flash:/logfile/log.log
200 Port command okay.
150 Opening ASCII mode data connection for /log.log.
226 Transfer complete.
\ 100% [***********]
FTP: 7521956 byte(s) send in 3.1784917300 second(s) 2311.409Kbyte(s)/sec.
[ftp] quit
配置文件
SwitchA的配置文件
sysname SwitchA
info-center source default channel 6 log level warning
info-center logfile channel 6
return
如何将日志输出到日志主机?
组网图

如图1所示,SwitchA分别与四个日志主机相连且路由可达。网络管理员希望不同的日志主机接收不同类型和不同严重级别的Log信息,以便对设备不同模块产生的信息进行实时监控,同时希望能够保证日志主机接收Log信息的可靠性。
操作步骤
1、配置客户端型SSL策略。
#日志主机需要从CA申请证书,假设证书对应的信任机构文件为1_cacert_pem_rsa.pem、1_rootcert_pem_rsa.pem,并已上传到SwitchA的security子目录下。
system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] ssl policy syslog_client
[*SwitchA-ssl-policy-syslog_client] trusted-ca load pem-ca 1_cacert_pem_rsa.pem
[*SwitchA-ssl-policy-syslog_client] trusted-ca load pem-ca 1_rootcert_pem_rsa.pem
[*SwitchA-ssl-policy-syslog_client] commit
[~SwitchA-ssl-policy-syslog_client] quit
2、所有步骤执行成功后,通过display ssl policy命令可以看到加载的信任证书机构文件详细信息。
[~SwitchA] display ssl policy
SSL Policy Name: syslog_client
Policy Applicants:
Key-pair Type:
Certificate File Type:
Certificate Type:
Certificate Filename:
Key-file Filename:
CRL File:
Trusted-CA File:
Trusted-CA File 1: Format = PEM, Filename = 1_cacert_pem_rsa.pem
Trusted-CA File 2: Format = PEM, Filename = 1_rootcert_pem_rsa.pem
3、使能信息中心功能。
[~SwitchA] info-center enable
[*SwitchA] commit
4、命名信息通道。
[~SwitchA] info-center channel 6 name loghost1
[*SwitchA] info-center channel 7 name loghost2
[*SwitchA] commit
5、配置Log信息输出到日志主机所使用的安全信息通道。
[~SwitchA] info-center loghost 10.1.1.1 channel loghost1 transport tcp ssl-policy syslog_client
[*SwitchA] info-center loghost 10.1.1.2 channel loghost1 transport tcp ssl-policy syslog_client
[*SwitchA] info-center loghost 10.2.1.1 channel loghost2 transport tcp ssl-policy syslog_client
[*SwitchA] info-center loghost 10.2.1.2 channel loghost2 transport tcp ssl-policy syslog_client
[*SwitchA] commit
6、配置向日志主机通道输出Log信息的规则。
[~SwitchA] info-center source arp channel loghost1 log level notification
[*SwitchA] info-center source aaa channel loghost2 log level warning
[*SwitchA] commit
7、配置发送日志信息的源接口。
[~SwitchA] info-center loghost source vlanif 100
[*SwitchA] commit
8、在Server端配置日志主机。
设备会产生大量的Log信息,而设备本身的存储空间相对有限,就需要配置日志主机实现对设备Log信息的收集。日志主机可以使用操作系统自带的日志软件,也可以使用第三方日志软件。
配置文件
SwitchA的配置文件
sysname SwitchA
ssl policy syslog_client
trusted-ca load pem-ca 1_cacert_pem_rsa.pem
trusted-ca load pem-ca 1_rootcert_pem_rsa.pem
info-center channel 6 name loghost1
info-center channel 7 name loghost2
info-center source arp channel 6 log level notification
info-center source aaa channel 7 log level warning
info-center loghost source Vlanif100
info-center loghost 10.1.1.1 channel 6 transport tcp ssl-policy syslog_client
info-center loghost 10.1.1.2 channel 6 transport tcp ssl-policy syslog_client
info-center loghost 10.2.1.1 channel 7 transport tcp ssl-policy syslog_client
info-center loghost 10.2.1.2 channel 7 transport tcp ssl-policy syslog_client
为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar
我正在使用puppet为ruby程序提供一组常量。我需要提供一组主机名,我的程序将对其进行迭代。在我之前使用的bash脚本中,我只是将它作为一个puppet变量hosts=>"host1,host2"我将其提供给bash脚本作为HOSTS=显然这对ruby不太适用——我需要它的格式hosts=["host1","host2"]自从phosts和putsmy_array.inspect提供输出["host1","host2"]我希望使用其中之一。不幸的是,我终其一生都无法弄清楚如何让它发挥作用。我尝试了以下各项:我发现某处他们指出我需要在函数调用前放置“function_”……这
这是一道面试题,我没有答对,但还是很好奇怎么解。你有N个人的大家庭,分别是1,2,3,...,N岁。你想给你的大家庭拍张照片。所有的家庭成员都排成一排。“我是家里的friend,建议家庭成员安排如下:”1岁的家庭成员坐在这一排的最左边。每两个坐在一起的家庭成员的年龄相差不得超过2岁。输入:整数N,1≤N≤55。输出:摄影师可以拍摄的照片数量。示例->输入:4,输出:4符合条件的数组:[1,2,3,4][1,2,4,3][1,3,2,4][1,3,4,2]另一个例子:输入:5输出:6符合条件的数组:[1,2,3,4,5][1,2,3,5,4][1,2,4,3,5][1,2,4,5,3][
所以我开始关注ruby,很多东西看起来不错,但我对隐式return语句很反感。我理解默认情况下让所有内容返回self或nil但不是语句的最后一个值。对我来说,它看起来非常脆弱(尤其是)如果你正在使用一个不打算返回某些东西的方法(尤其是一个改变状态/破坏性方法的函数!),其他人可能最终依赖于一个返回对方法的目的并不重要,并且有很大的改变机会。隐式返回有什么意义?有没有办法让事情变得更简单?总是有返回以防止隐含返回被认为是好的做法吗?我是不是太担心这个了?附言当人们想要从方法中返回特定的东西时,他们是否经常使用隐式返回,这不是让你组中的其他人更容易破坏彼此的代码吗?当然,记录一切并给出
给定以下方法:defsome_method:valueend以下语句按我的预期工作:some_method||:other#=>:valuex=some_method||:other#=>:value但是下面语句的行为让我感到困惑:some_method=some_method||:other#=>:other它按预期创建了一个名为some_method的局部变量,随后对some_method的调用返回该局部变量的值。但为什么它分配:other而不是:value呢?我知道这可能不是一件明智的事情,并且可以看出它可能有多么模棱两可,但我认为应该在考虑作业之前评估作业的右侧...我已经在R
我在我的Rails3示例应用程序上使用CarrierWave。我想验证远程位置上传,因此当用户提交无效URL(空白或非图像)时,我不会收到标准错误异常:CarrierWave::DownloadErrorinImageController#createtryingtodownloadafilewhichisnotservedoverHTTP这是我的模型:classPaintingtrue,:length=>{:minimum=>5,:maximum=>100}validates:image,:presence=>trueend这是我的Controller:classPaintingsC
我想使用spawn(针对多个并发子进程)在Ruby中执行一个外部进程,并将标准输出或标准错误收集到一个字符串中,其方式类似于使用Python的子进程Popen.communicate()可以完成的操作。我尝试将:out/:err重定向到一个新的StringIO对象,但这会生成一个ArgumentError,并且临时重新定义$stdxxx会混淆子进程的输出。 最佳答案 如果你不喜欢popen,这是我的方法:r,w=IO.pipepid=Process.spawn(command,:out=>w,:err=>[:child,:out])
电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。 准备工作: 1、U盘一个(尽量使用8G以上的U盘)。 2、一台正常联网可使用的电脑。 3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。 4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。 U盘启动盘制作步骤: 注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100