解决方案:[日志分析]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电子书和数学建模资料