解决方案:[日志分析]Graylog2采集Nginx日志 主动方式

优采云 发布时间: 2022-11-28 15:43

  解决方案:[日志分析]Graylog2采集Nginx日志 主动方式

  这次,我们来谈谈 Graylog 是如何主动采集

Nginx 日志的,分为两部分:

  首先,让我们介绍一下灰日志采集

器挎斗Graylog

  Collector Sidecar是一个轻量级的日志采集

器,通过访问Graylog进行集中管理,支持Linux和Windows系统。

  边车

  守护进程定期访问 graylog 的 REST API 接口,获取挎斗配置文件中定义的标签,挎斗从 graylog 服务器配置文件中提取指定标签的配置信息,在首次运行时在本地同步。

  目前Sidecar支持NXLog,Filebeat和Winlogbeat。它们都是通过 graylog 中的 Web 界面统一配置的,支持 Beats、CEF、Gelf、Json API、NetFlow 等输出类型。

  Graylog 最强大的一点就是可以在配置文件中指定 sidecar 将日志发送到哪个 graylog 集群,并对 graylog 集群中的多个输入进行负载均衡,这样当日志量非常大时,graylog 也可以轻松应对。

  配置灰日志采集

器挎斗以采集

nginx 日志

  1. 灰日志服务器端配置:

  (1) 导航栏 系统/采集

器 -> 采集

器 -> 管理配置 -> 创建配置以创建我们的第一个配置文件 linux

  (2)在输入字段中写下配置文件linux的名称,表明这是用于采集

Linux主机日志的配置文件,点击保存保存

  (3) 创建节拍输出,

  我们在配置 Beats 输出中点击创建输出,输出主要定义日志的类型以及它将流向的目标服务器(graylog),这就像你派一个快递员写下要接收的包裹的地址。

  (4)Beats输出中需要填写的内容是输出的名称(Name):对于Linux,类型(Type)我们选择Filebeat,主机中填写了graylog日志服务器的地址和端口(假设我们是三个灰日志192.168.252.10-12的集群,5044是beats类型的默认端口), 然后把 负载均衡 (负载均衡) 选中,这样日志采集

完毕后,日志会轮询到三台主机,最后点击保存保存

  (5) 创建 Beats 输出后,我们还创建一个输入,然后单击 创建输入 下 配置 节拍输入 创建它。 input 相当于属于 ForLinux 配置的标签,用于定义源日志的信息。同样以发送快递为例,这个输入相当于填写了发送方的地址信息,告诉对方发送并发送给ForLinux,ForLinux的配置是写入收件人的地址信息,可以定义多个输入来区分不同的发送者,即源日志的类型。

  

" />

  (6)Beats 输入填写名称(谁发送)、转发给(发送给谁)、类型(linux 或 windows)、日志文件路径(相当于发件人的详细地址)、输入文件类型(类型字段中的 ES 分析日志,易于区分日志类型),最后点击保存保存

  (7)保存Beats输入后,不要忘记更新创建的标签,否则客户端将找不到标签。上述灰色日志服务器端配置已完成。

  (8) 灰日志创建用于日志接收的输入 5044 端口,导航栏系统/输入 ->输入,在复选框中选择 Beats,然后单击启动新输入

  (9)如果是garylog集群,选择全局,即在每个节点上启动端口5044,命名Beats输入,保持端口静默tcp 5044,最后点击保存保存

  (10)我们开始安装客户端,我们以 Ubuntu 16.04 为例,假设 graylog 服务器 IP 为 192.168.252.10,nginx 服务器主机名为 nginx1:

  在 nginx1 服务器上下载并安装 collector-sidecar

  wget https://github.com/Graylog2/collector-sidecar/releases/download/0.1.8/collector-sidecar_0.1.8-1_amd64.deb

sudo /usr/bin/dpkg -i collector-sidecar_0.1.8-1_amd64.deb

sudo /usr/bin/graylog-collector-sidecar -service install sudo systemctl enable collector-sidecar.service

  2. 编辑采集

器边体配置文件

  vi /etc/graylog/collector-sidecar/collector_sidecar.yml

server_url: http://192.168.252.10:9000/api/

node_id: nginx1

update_interval: 10

tls_skip_verify: false

send_status: true

<p>

" />

list_log_files:

collector_id: file:/etc/graylog/collector-sidecar/collector-id

cache_path: /var/cache/graylog/collector-sidecar

log_path: /var/log/graylog/collector-sidecar

log_rotation_time: 86400

log_max_age: 604800

tags:

- nginx_beats_input

backends:

- name: nxlog

enabled: false

binary_path: /usr/bin/nxlog

configuration_path: /etc/graylog/collector-sidecar/generated/nxlog.conf

- name: filebeat

enabled: true

binary_path: /usr/bin/filebeat

configuration_path: /etc/graylog/collector-sidecar/generated/filebeat.yml

service collector-sidecar restart</p>

  3. 检查采集

器边车日志

  tail -f /var/log/graylog/collector-sidecar/collector_sidecar.log

  知乎:酒局晚餐

  解决方案:【图像识别-车牌识别】基于BP神经网络求解车牌识别问题含GUI界面和报告

  ✅作者简介:热爱科研的Matlab仿真开发者。他一边修心,一边修技术。matlab项目合作可以私信我们。

  个人主页:Matlab研究室

  个人信条:调查事物才能知道。

  点击查看更多Matlab仿真内容

  ⛄ 简介 进入21世纪,经济飞速发展,人们生活水平显着提高,汽车逐渐成为家庭的主要代步工具。汽车产量快速增长,车辆流动越来越频繁,给交通带来了严重的问题,如交通拥堵、交通事故等。智能交通系统(Intelligent Transportation System)的出现是为了从根本上解决交通问题。车牌识别技术在智能交通系统中占有重要地位。车牌识别技术的推广和普及,对于加强道路管理、城市交通事故、违章停车,*敏*感*词*车辆盗窃*敏*感*词*,维护社会稳定。本设计主要研究基于MATLAB软件的车牌识别系统的设计。该系统主要包括五个核心部分:图像采集、图像预处理、车牌定位、字符分割和字符识别。系统的图像预处理模块是通过图像灰度化、图像增强、边缘提取、二值化将图像转换为便于车牌定位的二值化图像;利用车牌的边缘和形状,结合Roberts Operator边缘检测、数字图像、形态学等技术对车牌进行定位;字符分割的方法是在车牌的二值化部分搜索带有文本的连续块,如果长度大于设定的阈值,则切割。以完成字符的分割;字符识别是使用模板匹配算法完成的。以上各功能模块均由MATLAB软件实现。

  一、总体设计

  车牌识别系统技术是从车辆图像中准确定位车牌区域,然后通过字符切割和字符识别实现车辆车牌的自动识别。主要流程图如下:

  图 1.1

  2. 整体功能模块

  基于MATLAB的车牌识别系统主要包括五个关键环节:图像采集、图像预处理、车牌定位、字符分割、字符识别[11]。其基本工作如下:

  (1) 图像采集:使用相机采集图像。

  (2)图像预处理:将图像转化为易于定位的二值化图像,需要经过图像灰度化、图像

  增强、边缘提取、二值化操作。

  (3)车牌定位:利用车牌的边缘、形状等特征,结合Roberts算子边缘检测,数字化

  图像、形态学等技术定位车牌。

  (4) 字符分割:利用车牌的二值化部分,搜索文本连续的块,如果长度大于设定

  阈值被切割以完成字符分割。

  (5) 字符识别:使用模板匹配算法对分割后的字符进行二值化,将其大小缩放到模板中

  然后将板库中的字符大小与所有模板匹配,准确识别车牌。输出识别

  结果并存储数据。

  由于车牌灰度图的边缘、图像水平方向的方差、水平方向的梯度都比较稳定,容易提取,所以在本系统的车牌定位算法。在汽车车牌字符识别中,由于汉字的复杂性,本设计模板库中的字符包括5个汉字、26个大写英文字母和10个阿拉伯数字。第一个字符为汉字,第二至第六个字符为英文字母或数字。本系统采用边缘检测的方法实现车牌的定位,用文本搜索连续块的方法实现字符分割,

  三、具体设计

  下面图 3.1 中的流程图简要概述了基本步骤:

  ⛄ 零件代码

  %bp神经网络训练

  M=2;

  P_0=零(800,M);

  P_1=零(800,M);

  P_2=零(800,M);

  P_3=零(800,M);

  P_4=零(800,M);

  P_5=零(800,M);

  

" />

  P_6=零(800,M);

  P_7=零(800,M);

  P_8=零(800,M);

  P_9=零(800,M);

  P_10=零(800,M);

  P_11=零(800,M);

  P_12=零点(800,M);

  P_13=零(800,M);

  P_14=零(800,M);

  P_15=零(800,M);

  P_16=零(800,M);

  P_17=零(800,M);

  P_18=零(800,M);

  P_19=零(800,M);

  P_20=零(800,M);

  P_21=零(800,M);

  对于 m=1:M

  filename_0=strcat('D:\毕业\bp神经网络车牌识别\字符样本\0\',int2str(m),'.jpg');

  filename_1=strcat('D:\毕业\bp神经网络车牌识别\字符样本\1\',int2str(m),'.jpg');

  filename_2=strcat('D:\毕业\bp神经网络车牌识别\字符样本\2\',int2str(m),'.jpg');

  filename_3=strcat('D:\毕业\bp神经网络车牌识别\字符样本\3\',int2str(m),'.jpg');

  filename_4=strcat('D:\毕业\bp神经网络车牌识别\字符样本\4\',int2str(m),'.jpg');

  filename_5=strcat('D:\毕业\bp神经网络车牌识别\字符样本\5\',int2str(m),'.jpg');

  filename_6=strcat('D:\毕业\bp神经网络车牌识别\字符样本\6\',int2str(m),'.jpg');

  filename_7=strcat('D:\毕业\bp神经网络车牌识别\字符样本\7\',int2str(m),'.jpg');

  filename_8=strcat('D:\毕业\bp神经网络车牌识别\字符样本\8\',int2str(m),'.jpg');

  filename_9=strcat('D:\毕业\bp神经网络车牌识别\字符样本\9\',int2str(m),'.jpg');

  filename_10=strcat('D:\毕业\bp神经网络车牌识别\字符样本\A\',int2str(m),'.jpg');

  filename_11=strcat('D:\毕业\bp神经网络车牌识别\字符样本\C\',int2str(m),'.jpg');

  filename_12=strcat('D:\毕业\bp神经网络车牌识别\字符样本\E\',int2str(m),'.jpg');

  filename_13=strcat('D:\毕业\bp神经网络车牌识别\字符样本\G\',int2str(m),'.jpg');

  filename_14=strcat('D:\毕业\bp神经网络车牌识别\字符样本\K\',int2str(m),'.jpg');

  filename_15=strcat('D:\毕业\bp神经网络车牌识别\字符样本\L\',int2str(m),'.jpg');

  filename_16=strcat('D:\毕业\bp神经网络车牌识别\字符样本\N\',int2str(m),'.jpg');

  filename_17=strcat('D:\毕业\bp神经网络车牌识别\字符样本\T\',int2str(m),'.jpg');

  

" />

  filename_18=strcat('D:\graduation\bp神经网络车牌识别\字符样本\Gui\',int2str(m),'.jpg');

  filename_19=strcat('D:\毕业\bp神经网络车牌识别\字符样本\Yu\',int2str(m),'.jpg');

  filename_20=strcat('D:\毕业\bp神经网络车牌识别\字符样本\Su\',int2str(m),'.jpg');

  filename_21=strcat('D:\毕业\bp神经网络车牌识别\字符样本\陕西\陕西-',int2str(m),'.jpg');

  P_0(:,m)=预处理(imread(filename_0));

  P_1(:,m)=预处理(imread(filename_1));

  P_2(:,m)=预处理(imread(filename_2));

  P_3(:,m)=预处理(imread(filename_3));

  P_4(:,m)=预处理(imread(filename_4));

  P_5(:,m)=预处理(imread(filename_5));

  P_6(:,m)=预处理(imread(filename_6));

  P_7(:,m)=预处理(imread(filename_7));

  P_8(:,m)=预处理(imread(filename_8));

  P_9(:,m)=预处理(imread(filename_9));

  P_10(:,m)=预处理(imread(filename_10));

  P_11(:,m)=预处理(imread(filename_11));

  P_12(:,m)=预处理(imread(filename_12));

  P_13(:,m)=预处理(imread(filename_13));

  P_14(:,m)=预处理(imread(filename_14));

  P_15(:,m)=预处理(imread(filename_15));

  P_16(:,m)=预处理(imread(filename_16));

  P_17(:,m)=预处理(imread(filename_17));

  P_18(:,m)=预处理(imread(filename_18));

  P_19(:,m)=预处理(imread(filename_19));

  P_20(:,m)=预处理(imread(filename_20));

  P_21(:,m)=预处理(imread(filename_21));

  结尾

  ⛄ 运行结果

  ⛄ 参考文献

  [1] 严友成,陈铭贤,周子田,等.基于GUI的BP神经网络车牌识别系统[J].信息通信, 2018(5):2.

  ⛄ matlab代码关注❤️部分理论引用网络文献,如有侵权联系博主删除❤️关注我领取海量matlab电子书和数学建模资料

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线