前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【老金知道】Zabbix日志监控前传:rsyslog收集网络设备日志

【老金知道】Zabbix日志监控前传:rsyslog收集网络设备日志

作者头像
Zabbix
发布2021-02-03 10:45:29
5.1K0
发布2021-02-03 10:45:29
举报
文章被收录于专栏:Zabbix中国官方

之前,可爱又迷人的“反派”角色

老金

给大家分享了

Zabbix监控日志文件

▼▼▼

1、Zabbix日志监控表达式描述

2、Zabbix监控linux日志举例

3、Zabbix监控windows日志举例

4、日志监控题外话

点击跳转原文

此篇对日志采集做了外延,特此分享:

rsyslog收集网络设备日志

安装rsyslog

安装rsyslog

1. rpm -qa rsyslog #CentOS7默认会安装rsyslog

2. yum install rsyslog-mysql -y #rsyslog使用此模块将数据传入MySQL数据库,必须安装

导入rsyslog-mysql 数据库文件

导入数据库

1. # cd /usr/share/doc/rsyslog-7.4.7/

2. # mysql -uroot -p<mysql-createDB.sql # Enter password: ``` 设置用户 ``` # mysql -uroot –p mysql> grant all on Syslog.* to rsyslog@localhost identified by '123456';

3. mysql> flush privileges;

4. mysql> exit

导入数据库操作创建了Syslog 库并在该库中创建了两张空表SystemEvents 和SystemEventsProperties。

设置文件

1.# vi /etc/rsyslog.conf #按如下进行更改

2.

3. #### MODULES ####

4.

5. $Modload ommysql

6. $template MySQLInsert,"insert into SystemEvents (Message, Facility, FromHost,Priority, DeviceReportedTime, ReceivedAt, InfoUnitID,

7. SysLogTag) values ('%msg%', %syslogfacility%, '%fromhost-ip%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::d

8. ate-mysql%', %iut%, '%syslogtag%')",SQL

9. *.* :ommysql:localhost,Syslog,rsyslog,123456;MySQLInsert

10.##注意我使用了%fromhost-ip%,而不是%HOSTNAME%

11. #localhost 表示本地主机,Syslog 为数据库名,rsyslog 为数据库的用户,MyNewPass4!为该用户密码。

12. $ModLoad immark # immark是模块名,支持日志标记

13. $ModLoad imudp # imupd是模块名,支持udp协议

14. $UDPServerRun 514 #允许514端口接收使用UDP和TCP协议转发过来的日志

配置日志文件记录

1. #$template logFormat, "%rawmsg%\n"

2. template DynaFile, "/var/log/%MONTH%%DAY%/%fromhost-ip%-%YEAR%-%MONTH%-%

3. $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

4. #$ActionFileDefaultTemplate logFormat

5. :fromhost-ip, !isequal, "127.0.0.1" -?DynaFile;RSYSLOG_TraditionalFileFormat

/var/log/messages不写入local4.none

1. *.info;mail.none;authpriv.none;cron.none;local4.none /var/log/messages

最终配置,不搜集本机日志

1. $Modload ommysql

2.

3.

4. $template MySQLInsert,"insert into SystemEvents (Message, Facility, FromHost,Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag,processid) values (

5. '%msg%', %syslogfacility%, '%HOSTNAME%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%', '%fromhost-ip%')

6. ",SQL

7. :fromhost-ip, !isequal, "127.0.0.1" :ommysql:localhost,Syslog,rsyslog,123456;MySQLInsert

8.

9. #$template logFormat, "%rawmsg%\n"

10. template DynaFile, "/var/log/%MONTH%%DAY%/%fromhost-ip%-%YEAR%-%MONTH%-%

11. $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

12. #$ActionFileDefaultTemplate logFormat

13. :fromhost-ip, !isequal, "127.0.0.1" -?DynaFile;RSYSLOG_TraditionalFileForma

14. :fromhost-ip, !isequal, "127.0.0.1" ~ #后面忽略

15. #&~ #全部不做后续处理

16. *.info;mail.none;authpriv.none;cron.none;local0.none;local1.none;local2.none;local3.none;local4.none;local5.none;local6.none;local7.none /var/log/messages

网络设备

配置

1. 服务端修改

2. $ModLoad ommysql

3.

4. local4.* :ommysql:localhost,Syslog,rsyslog,123456;MySQLInsert

5.

6. 注意我是local4来接受远程的syslog

7.

8. 在交换机上的配置:

9.

10. 华为的:

11.

12. info-center loghost 1.1.1.1 facility local4 //local4要和rsyslog.conf 里配置的一致,1.1.1.1为你的syslog服务器地址记得要改啊

13. info-center loghost source Vlan-interface 11//你的网管VLAN接口,要改的

14. info-center source SHELL channel loghost log level notifications//我只想要操作日志,其他的不关心,如果你想要更多,请更改

15.

16. 思科的:

17.

18. logging 1.1.1.1(配置 syslog服务器地址,可以定义多个)

19. service timestamps debug datetime localtime show-timezone msec

20. service timestamps log datetime localtime show-timezone msec (syslog 信息包含时间戳)

21. logging facility local4 (定义 facility 级别,缺省为local7,可以设置从 local0 到 local7)

22. logging trap warning (定义severity 级别缺省为 infor 级别)

到这里,一切基本ok了,

到你的mysql服务器是看看:

select * from SystemEvents

应该已经记录有日志了

服务器客户端

配置

1. 检查客户端有没有安装rsyslog

2. # rpm -qa rsyslog

3. 配置rsyslog客户端发送本地日志到服务端

4. # vi /etc/rsyslog.conf

5. *.* @192.168.253.160 #在文件结尾处增加此内容

6. 重启rsyslog服务

7. # systemctl restart rsyslog.service

8. 编辑/etc/bashrc,将客户端执行的所有命令写入系统日志/var/log/messages中

9. # vi /etc/bashrc

10. export PROMPT_COMMAND='{ msg=(history 1 | { read x y; echo y; });logger "[euid=(whoami)]":

11. 设置使其生效

12. # source /etc/bashrc

配置 显示

host ,ip

1. $template MySQLInsert,"insert into SystemEvents (Message, Facility, FromHost,Priority, DeviceReportedTime, ReceivedAt, InfoUnitID,

2. SysLogTag,processid) values ('%msg%', %syslogfacility%, '%HOSTNAME%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenera

3. ted:::date-mysql%', %iut%, '%syslogtag%', '%fromhost-ip%')",SQL

4. *.* :ommysql:localhost,Syslog,rsyslog,123456;MySQLInsert

用processid 显示ip 然后再Admin center->FIELD—>processid->displayname 修改为IP

安装

LogAnalyzer

1. wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.6.tar.gz

2. tar zxf loganalyzer-3.6.5.tar.gz

3. cd loganalyzer-3.6.5

4. mkdir -p /var/www/html/loganalyzer

5. cp -a src/* /var/www/html/loganalyzer/

6. cp -a contrib/* /var/www/html/loganalyzer/

浏览器安装向导中安装

LogAnalyzer

打开浏览器访问

http://192.168.1.107/loganalyzer/

提示没有配置文件,点击 here 利用向导生成。

第一步,测试系统环境

点击 “Next”,进入第二步。

提示错误:缺少config.php 文件,并且权限要设置为666,可以使用contrib目录下的configure.sh 脚本生成。

查看configure.sh 文件内容

需要在/var/www/html/loganalyzer/ 下创建config.php 文件,并设置其权限为666。

1. # touch /var/www/html/loganalyzer/config.php

2.

3. # chmod 666 /var/www/html/loganalyzer/config.php

做完上面的操作之后,执行 ReCheck 操作,config.php 文件可写,点击 Next 进入下一步。

第三步,基础配置

在User Database Options 中,填入上面设置的参数,然后点击 Next.

第四步,创建表

点击 Next 开始创建表。

第五步,检查SQL结果

第六步,创建管理用户

第七步,创建第一个系统日志source.

注意SystemEvents大小写

第八步,完成

测试

LogAnalyzer 首页

点击任何一条记录,查看详情。

查看Statistics

登录测试

在Admin Center 里可以进行一些系统设置。

日志级别

在配置前,我们先来了解下日志的level: local0~local7 16~23保留为本地使用

emerg 0 系统不可用 alert 1 必须马上采取行动的事件 crit 2 关键的事件 err 3 错误事件 warning 4 警告事件 notice 5 普通但重要的事件 info 6 有用的信息 debug 7 调试信息

去掉(Donate)按钮

1. vim /var/www/html/loganalyzer/include/functions_common.php

2. 将下行改为false

3. $content['SHOW_DONATEBUTTON'] = false; // Default = true!

更换分析页面首页图示(Logo)

1 首先将准备好的logo放至images/main目录下。

2 编辑include/functions_common.php

3 修改如下路径:

4 content['EXTRA_PHPLOGCON_LOGO'] = content['BASEPATH'] .

5 "images/main/Header-Logo.png";

中文乱码

1. 找到含有return htmlentities字段的行;

2.

3. return htmlentities(myStr, ENT_NOQUOTES, content['HeaderDefaultEncoding']);// "UTF-8");

4.

5. 修改为:

6.

7. return htmlentities(myStr, ENT_NOQUOTES, content['HeaderDefaultEncoding']), "UTF-8");

汉化

下载链接:

https://pan.baidu.com/s/1BrK8oLAhPS5tmpBvyXDKFw 密码: 2cfm

加压后copy 到lang下面,设置web为chinese

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Zabbix开源社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档