【elk】网络设备syslog日志收集
文章目录
- 1.概述
- 2.日志源配置
- 1.防火墙开启日志
- 2.交换机开启日志
- 3.日志主机配置
- 1.rsyslog配置
- 2.docker及filebeat配置
- 4.elk配置
- 5.日志清理
- 1.rsyslog清理
- 2.ES生命周期管理
1.概述
本文描述将网络日志(会话日志,操作日志等)以syslog方式保存到elk日志服务器集群中及日志展示的实现。
2.日志源配置
首先对日志源即网络设备进行配置,以下列举华为防火墙及交换设备
1.防火墙开启日志
防火墙日志配置(另在策略中也要开启日志记录功能,图略)
2.交换机开启日志
info-center source default channel 4 log level error
info-center loghost 192.168.171.7 channel 4 local-time
info-center trapbuffer channel 4
3.日志主机配置
该主机上主要安装了rsyslog,docker及filebeat(docker版本)组件
1.rsyslog配置
- 安装请用yum
- 配置rsyslog模板
由于生产中需要收集不同网络设备的日志,因此这里用不通网络设备的ip建立目录及各自的日志
$template diff_ip,“/var/log/network-log/%fromhost-ip%/messages-%$now%.log”
if $fromhost-ip != ‘127.0.0.1’ then ?diff_ip
#local7.* /var/log/boot.log
local7.* ?diff_ip
当配置完上面的模板,rsyslog收到日志源的数据后,会产生如下临时日志,结构如模板设置一样
- 启动服务
systemctl start rsyslog
2.docker及filebeat配置
- yum安装docker
- 拉取filebeat镜像
###拉取filebeat镜像文件
docker pull docker.elastic.co/beats/filebeat:7.10.0
###将提前准备好filebeat.yml文件放置在/etc/zabbix/docker_vol/下
###按照以下命令及参数,运行filebeat,注意这里需要将宿主机系统的部分文件挂载到filebeat容器中,由于filebeat读取的是宿主机上rsyslog的日志文件,因此还需要将filebeat.yml中的日志来源目录也挂载到容器的目录中,这都在下面的命令中体现
docker run -d --name=network-sys --user=root --volume=“/etc/zabbix/docker_vol/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro” --volume=“/var/lib/docker/containers:/var/lib/docker/containers:ro” --volume=“/var/run/docker.sock:/var/run/docker.sock:ro” --volume=“/var/log/network-log:/var/log/network-log:ro” docker.elastic.co/beats/filebeat:7.8.1 filebeat -e -strict.perms=false
- filebeat.yml如下,这里往es导入日志后是按天生成es的index
filebeat.inputs:
#- type: syslog
- type: log
# protocol.udp:
# host: "192.168.171.7:5140"encoding: gbkpaths: '/var/log/network-log/*/*.log'
#output.console:
# string:
processors:- add_tags:when:regexp:log.file.path: "10.222.222.[2,3]{1,1}"tags: ["FT2Q-FW"]- add_tags:when:regexp:log.file.path: "10.100.1.[2,3]{1,1}/"tags: ["FT1Q-FW"]- add_tags:when:regexp:log.file.path: "10.100.1.[1][9]|10.100.[2][0]"tags: ["FT3Q-FW"]- add_tags:when:regexp:log.file.path: "10.100.1.[1][0]|10.100.1,[1][1]"tags: ["SJHL-FW"]- add_tags:when:regexp:log.file.path: "192.168.171.1"tags: ["FT1Q-core"]
output.elasticsearch:hosts: ["192.168.170.108:9201", "192.168.170.109:9201", "192.168.170.112:9201"]username: "elastic"password: "elastic_PASS"index: "network-%{[agent.version]}-%{+yyyy.MM.dd}"
# indices:
# - index: "network-ft1q-%{[agent.version]}-%{+yyyy.MM.dd}"
# when:
# or:
# - contains:
# source: 10.222.222.2
# - contains:
# source: 10.100.1.3
# - index: "network-ft3q-%{[agent.version]}-%{+yyyy.MM.dd}"
# when.contains:
# - index: "network-sjhl-${[agent.version]}-%{+yyyy.MM.dd}"
setup.template.name: "network-log"
setup.template.pattern: "network-*"
setup.template.enabled: true
setup.ilm.enabled: false
- docker方式启动filebeat
docker run -d --name=network-sys --user=root --volume="/etc/zabbix/docker_vol/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro" --volume="/var/lib/docker/containers:/var/lib/docker/containers:ro" --volume="/var/run/docker.sock:/var/run/docker.sock:ro" --volume="/var/log/network-log:/var/log/network-log:ro" docker.elastic.co/beats/filebeat:7.8.1 filebeat -e -strict.perms=false
4.elk配置
日志是通过日志服务器,转发到es集群上面的,但是我这里主要是在kibana上进行配置。
- 创建索引(index)模板
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020111511173570.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lxOTAxMjU=,size_16,color_FFFFFF,t_70#pic_center - 在discover中可通过索引模式(就是上面的索引模板)的选择看到收集到的日志
5.日志清理
这里的日志清理分为两步,一步是清理rsyslog中的日志,还有一步是对es集群主机中的index做生命周期的设置
1.rsyslog清理
- 在rsyslog服务器(=filebeat也在这上面=)先定制删除日志的脚本auto_remove_log.py,放置的目录如下
/etc/zabbix/zabbix_script/auto_remove_log.py
#! /usr/bin/python
import os,re,time
file_dir = '/var/log/network-log'
list_dir = os.listdir(file_dir)
list_dir_sub_layer=[]
for dir_name in list_dir:list_dir_sub_layer.append(file_dir+'/'+dir_name)
list_dir_file = []
for dir_name in list_dir_sub_layer:list_dir = os.listdir(dir_name)for k in list_dir:list_dir_file.append(dir_name+'/'+k)
len_list = len(list_dir_file)
begin_time = time.strftime("%Y-%m-%d",time.localtime(time.time()-86400))
cu_time = time.strftime("%Y-%m-%d",time.localtime())
for i in range(0,len_list):if re.search(begin_time,list_dir_file[i]) or re.search(cu_time,list_dir_file[i]):passelse:os.remove(list_dir_file[i])
- 部署了上面的脚本后,还需要用crontab定时执行,这里计划为每天早8点执行一次脚本
0 8 * * * /usr/bin/python /etc/zabbix/zabbix_script/auto_remove_log.py
2.ES生命周期管理
日志不仅要在rsyslog日志服务器上进行定期清理,在es集群中也要进行生命周期的设置
- 生命周期策略创建
2. 挂接到index
【elk】网络设备syslog日志收集相关推荐
- VCenter配置ESXI主机syslog日志收集
VCenter配置ESXI主机syslog日志收集 https://blog.51cto.com/zhsoft/1896310 1进入VCenter虚拟机控制台,查看syslog服务是否启动: 2如V ...
- 转: 基于elk 实现nginx日志收集与数据分析
原文链接:https://www.cnblogs.com/wenchengxiaopenyou/p/9034213.html 一.背景 前端web服务器为nginx,采用filebeat + logs ...
- ELK+Kafka 企业日志收集平台(二)这是原版
上篇博文主要总结了一下elk.基于kafka的zookeeper集群搭建,以及系统日志通过zookeeper集群达到我们集群的整个过程.下面我们接着下面这个未完成的几个主题 4.Kibana部署; 5 ...
- ELK+Kafka 企业日志收集平台(二)
上篇博文主要总结了一下elk.基于kafka的zookeeper集群搭建,以及系统日志通过zookeeper集群达到我们集群的整个过程.下面我们接着下面这个未完成的几个主题 4.Kibana部署; 5 ...
- ELK+Kafka 企业日志收集平台(一)
背景: 最近线上上了ELK,但是只用了一台Redis在中间作为消息队列,以减轻前端es集群的压力,Redis的集群解决方案暂时没有接触过,并且Redis作为消息队列并不是它的强项:所以最近将Redis ...
- Logback+ELK+SpringBoot搭建日志收集服务器
前言 本文重点介绍Logback和ELK和SpringBoot是怎么整合收集日志的 关于ELK的说明和安装可以点击查看ELK(Elasticsearch.Logstash.Kibana)安装, htt ...
- 从0开始CentOS7上安装ELK,实现日志收集
从0开始CentOS7上安装ELK实现日志收集 1. ELK Stack 简介 2. 组件下载 2.1 安装环境及版本 2.2 下载安装包 3.安装 3.1 ElasticSearch安装 3.1.1 ...
- SpringBoot+Kafka+ELK 完成海量日志收集(超详细)
点击关注公众号,实用技术文章及时了解 来源:jiandansuifeng.blog.csdn.net/ article/details/107361190 整体流程大概如下: 服务器准备 在这先列出各 ...
- 部署ELK+Kafka+Filebeat日志收集分析系统
ELK+Kafka+Filebeat日志系统 文章目录 ELK+Kafka+Filebeat日志系统 1.环境规划 2.部署elasticsearch集群 2.1.配置es-1节点 2.2.配置es- ...
最新文章
- python 0o10_Python 从业十年的程序员,写的万字经验分享
- sigmoid function vs softmax function
- 电子元器件首饰!送给你喜欢的女孩!
- python 分类 投票_LightGBM——提升机器算法(图解+理论+安装方法+python代码)
- 动态游标(例如表名作为参数)以及动态SQL分析
- java sbyte_Java Byte parseByte()方法
- 毫秒级从百亿大表任意维度筛选数据,是怎么做到的…
- matlab编写文件格式,MATLAB程序设计教程(4)——MATLAB文件操作
- 让“云”无处不在-Citrix Xenserver之七 转换:XenConver和p2v-legacy
- Python入门--函数的返回值
- 洛谷 P2486 [SDOI2011]染色 树链剖分
- 【渝粤题库】广东开放大学 管理会计 形成性考核
- 【图像去噪】基于matlab GUI中值+均值+维纳+小波滤波图像去噪【含Matlab源码 753期】
- Postman安装与入门简单教程
- ps的基本操作和知识
- 蓝光三维扫描仪用于无人机结构外壳虚拟装配
- GUI GUIDER 应用笔记
- 台式电脑开机显示蓝屏 检查计算机上的病毒,电脑出现蓝屏问题的诊断以及处理的方法...
- Oliver的救援--SSL 2278
- cesium 指南针、比例尺
热门文章
- ENVI无缝镶嵌工具Seamless Mosaic实现栅格遥感影像镶嵌拼接的方法
- 网站使用https不安全证书,Safari浏览器第一次发起请求异常,需要刷新才可以正常发送
- 夏普S2 android one,【夏普S2评测】系统:流畅和隽雅是Smile UX的最大特点_夏普 S2_手机评测-中关村在线...
- C#使用SqlConnection的事务SqlTransaction
- 【15分】F. 电视机与遥控器(友元类)
- chrome顶部变黑_win10系统chrome内核浏览器地址栏变黑的解决方法
- 16位AD,基准电压用3V,4V,5V的区别
- Vue 2 | Part 5 列表渲染和事件监听
- r96950hs和r76850hs哪个好
- linux服务器time wait,Linux服务器TIME_WAIT进程的解决与原因