腾讯云CLS采集网络设备日志

1 背景

需要对日志(服务器日志、应用日志、网络设备日志)采集做分析,含有检索、持久化存储、监控告警、Dashboard等。考虑自建日志服务器繁琐且不易维护采用腾讯云CLS日志服务(本身业务已上腾讯云)

2 配置CLS

2.1 安装loglistener

LogListener 是日志服务的采集客户端,通过 LogListener 可实现快速无侵入式的把日志数据采集到日志服务中来

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 目前暂不支持windows

# 下载
wget https://loglistener-1254077820.cos.ap-shanghai.myqcloud.com/loglistener-linux-x64-2.5.6.tar.gz && tar -zxvf loglistener-linux-x64-2.5.6.tar.gz -C /usr/local && cd /usr/local/loglistener-2.5.6/tools && ./loglistener.sh install

# 初始化
./loglistener.sh init -secretid AKIDPEtPyKabfW8Z3Uspdz83xxxxxxxxxxx -secretkey whHwQfjdLnzzCE1jIf09xxxxxxxxxxxx -region ap-xxxxxx
# 如果是外网传输日志添加参数 -network internet ; -region 为日志服务所在的区域

# 启动loglistener
/etc/init.d/loglistenerd start

# 其他常用操作
/etc/init.d/loglistenerd -v # 查看版本
/etc/init.d/loglistenerd -h # 查看帮助文档
/etc/init.d/loglistenerd (start|restart|stop) # 启动、重启、停止
/etc/init.d/loglistenerd status # 查看进程状态,会有2个进程,守护进程和采集进程。
/etc/init.d/loglistenerd check # 检查agent心跳及配置
./loglistener.sh uninstall # 卸载loglistener
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 手动更新loglistener
复用断点文件(不会重复采集日志)
1.停止旧版本的loglistener
2.备份旧版本中的断点文件目录(loglistener/data)。例如,将旧版的断点文件备份至/tmp/loglistener-backup目录下。
cp -r loglistener-2.2.3/data /tmp/loglistener-backup/
3.使用卸载命令卸载旧版本的 LogListener
4.下载最新版本的 LogListener,并使用相关命令安装和初始化新版本 LogListener
5.复制所备份的断点文件目录(步骤2)到新版本 LogListener 目录下
cp -r /tmp/loglistener-backup/data loglistener-<version>/
6.使用启动命令启动运行新版本 LogListener

不复用断点文件(可能会重复采集日志):
1.使用停止命令停止运行旧版本的 LogListener。
2.使用卸载命令卸载旧版本的 LogListener。
3.下载最新版本的 LogListener,并使用相关命令安装和初始化新版本 LogListener。
4.使用启动命令启动运行新版本 LogListener。
2.2 创建日志主题

日志主题(Topic)是日志服务的基本管理单元,一个 日志集 可以包含多个日志主题。一个日志主题对应一类应用或服务,建议将不同机器上的同类日志收集到同一个日志主题。例如,一个业务项目有三种日志:操作日志、应用程序日志、访问日志,每种类型可以创建一个日志主题。

创建日志主题时可选择日志集,或者新建日志集

日志集(Logset)是日志服务的项目管理单元,用于区分不同项目的日志。一个日志集对应一个项目或应用,建议将不同项目和不同产品的日志,使用不同的日志集进行管理。例如,某公司有两种业务:电商业务、支付业务,每种业务可以创建一个日志集。

每个地域最多可创建日志集20个

2.3 添加机器组

是一组需要采集日志的机器列表,日志服务通过机器组来管理所有需要通过 LogListener 采集日志的服务器。

一个机器组可以包含多台机器。通常情况下,一类服务应用程序会部署在多台机器上,并且这些机器的日志采集配置相同,可以将其归于同一个机器组,并将该机器组关联到对应的日志主题。一个日志主题可以关联多个机器组,一个机器组也可被关联到多个日志主题。

填写安装agent的机器ip或者机器标识

2.4 采集配置
1
2
3
4
a.进入刚创建的日志主题,点击采集配置,选取日志数据源
b.选择机器组
c.设置采集路径、提取模式
d.索引配置(可不设置)

3 配置rsyslog

默认已安装rsyslog服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
a. 编辑rsyslog参数
vim /etc/sysconfig/rsyslog
找到SYSLOGD_OPTIONS,加入参数“-m 0 -r”。-m 0表示不在日志中添加时间戳消息,-r 表示允许接收外来日志消息。

b. 修改rsyslog配置文件
# 添加如下配置
#使用UDP协议传输
$ModLoad imudp
$UDPServerRun 514
$UDPServerRun 38514 #华为交换机部分高端默认发送日志端口
#也可使用TCP协议传输(两者可同时使用)

在GLOBAL DIRECTIVE块之后添加以下的日志接收模板:
$template IpTemplate,"/var/log/%FROMHOST-IP%.log"

c. 重启rsyslog服务

# 可再设置logrotate进行日志按需分割

4 交换机配置

1
2
3
4
5
6
# 进入特权模式,sys
info-center loghost 172.20.5.97 #日志服务器地址
info-center enable #启动
info-center source default channel 2 log level debugging #发送所有级别的日志

# 配置完成后save保存,进入rsyslog服务器上应该可以查看到对应的日志文件。

5 防火墙配置

1
防火墙设备一般都有日志管理菜单,里面可以直接填写rsyslog服务ip等信息


6 CLS检索查看


7 后续

如需持久化保存可投递到COS;另外也可添加Dashboard面板

-------------本文结束感谢您的阅读-------------
原创技术分享,感谢您的支持。