当前位置: 首页 > news >正文

马鞍山网站建设价格wordpress修改侧边栏

马鞍山网站建设价格,wordpress修改侧边栏,如何做好品牌网站建设方案,游戏外包平台目录 1、Logstash安装 2、Logstash原理 2.1 输入、过滤器和输出 2.2 采集各种样式、大小和来源的数据 2.3 实时解析和转换数据 2.4 导出数据 3、 LogStash入门使用 3.1 Input插件 4、Logstash高级使用 4.1 jdbc插件 4.2 syslog插件 4.3 filter插件 4.4 Output插件 …

目录

 

1、Logstash安装

2、Logstash原理

2.1 输入、过滤器和输出

2.2 采集各种样式、大小和来源的数据

2.3 实时解析和转换数据

2.4 导出数据

3、 LogStash入门使用

3.1 Input插件

4、Logstash高级使用

4.1 jdbc插件

4.2 syslog插件

4.3 filter插件

4.4 Output插件


logstash是一种分布式日志收集框架,开发语言是JRuby,当然是为了与Java平台对接,不过与Ruby语法兼容良好,非常简洁强大,经常与ElasticSearch,Kibana配置,组成著名的ELK技术栈,非常适合用来做日志数据的分析。

当然它可以单独出现,作为日志收集软件,你可以收集日志到多种存储系统或临时中转系统,如MySQL,Redis,Kakfa,HDFS, Lucene,Solr等,并不一定是ElasticSearch。

1、Logstash安装

Logstash安装非常简单,下载解压即可!(JRuby语言开发,需要先安装JDK)

cd /usr/local
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.8.0.zip
unzip logstash-7.8.0.zip
​
#测试
cd /logstash-7.8.0/bin
./logstash -e 'input { stdin { } } output { stdout {} }'

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1eGlhbmcxOTg1MTExNA==,size_16,color_FFFFFF,t_70

2、Logstash原理

2.1 输入、过滤器和输出

Logstash 能够动态地采集、转换和传输数据,不受格式或复杂度的影响。利用 Grok 从非结构化数据中派生出结构,从 IP 地址解码出地理坐标,匿名化或排除敏感字段,并简化整体处理过程。

2.2 采集各种样式、大小和来源的数据

数据往往以各种各样的形式,或分散或集中地存在于很多系统中。Logstash 支持各种输入选择,可以同时从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据

2.3 实时解析和转换数据

数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便进行更强大的分析和实现商业价值。

Logstash 能够动态地转换和解析数据,不受格式或复杂度的影响:

  • 利用 Grok 从非结构化数据中派生出结构

  • 从 IP 地址破译出地理坐标

  • 将 PII 数据匿名化,完全排除敏感字段

  • 简化整体处理,不受数据源、格式或架构的影响

  • 使用我们丰富的过滤器库和功能多样的 Elastic Common Schema,您可以实现无限丰富的可能。

2.4 导出数据

尽管 Elasticsearch 是我们的首选输出方向,能够为我们的搜索和分析带来无限可能,但它并非唯一选择。Logstash 提供众多输出选择,您可以将数据发送到您要指定的地方,并且能够灵活地解锁众多下游用例。

总结:logstash就是一个具备实时数据传输能力的*管道*,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以根据需求在中间加上滤网;是一个input | filter | output 的数据流

3、 LogStash入门使用

3.1 Input插件

3.1.1 stdin标准输入和stdout标准输出

cd logstash-7.8.0/
bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}' #使用input插件的stdin/stdout输入输出流的形式启动

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1eGlhbmcxOTg1MTExNA==,size_16,color_FFFFFF,t_70

3.1.2 监控日志文件变化

Logstash 使用一个名叫 FileWatch 的 Ruby Gem 库来监听文件变化。这个库支持 glob 展开文件路径,而且会记录一个叫 .sincedb 的数据库文件来跟踪被监听的日志文件的当前读取位置。

3.1.2.1 编写脚本

cd logstash-7.8.0/config/
vim monitor_file.conf  #编辑一个检测脚本文件,输入以下配置
------------------------------------------------------------------
input{file{path => "/usr/local/logstash-7.8.0/config/test.log" #随便找一个文本路径,也可以使用“*”进行模糊匹配type => "log" #收集日志类型start_position => "beginning" #从文本起始位置开始收集}
}
output{stdout{codec=>rubydebug #解析转换类型:ruby}
}
​

3.1.2.2 启动服务

#启动服务
cd logstash-7.8.0/
bin/logstash -f config/monitor_file.conf -t #-t检测脚本是否正确,启动时不要带-t,因为需要查看日志采集情况

20210129170223852.png

logstash 监测脚本必须严格的使用tab缩进,否则会有如下报错:

20210129170234122.png

 

3.1.2.3 测试

另起一个窗口,向test.log文件中追加内容,观察控制台变化。

echo "hello logstash world" >> /usr/local/logstash-7.8.0/config/test.log

logstash会将文本类容采集,解析和转换输出

20210129170304490.png

PS:一些配置解释

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1eGlhbmcxOTg1MTExNA==,size_16,color_FFFFFF,t_70

path=>表示监控的文件路径 ​ type=>给类型打标记,用来区分不同的文件类型,跟采集的文件类型无关。 ​ start_position=>从哪里开始记录文件,默认是从结尾开始标记,要是你从头导入一个文件就把改成”beginning”. ​ discover_interval=>多久去监听path下是否有文件,默认是15s ​ exclude=>排除什么文件 ​ close_older=>一个已经监听中的文件,如果超过这个值的时间内没有更新内容,就关闭监听它的文件句柄。默认是3600秒,即一个小时。 ​ sincedb_path=>监控库存放位置(默认的读取文件信息记录在哪个文件中)。默认:/dev/null;这个 Linux 系统上特殊的空洞文件,那么 logstash 每次重启进程的时候,尝试读取 sincedb 内容,都只会读到空白内容,也就会理解成之前没有过运行记录,自然就从初始位置开始读取了! ​ sincedb_write_interval=> logstash 每隔多久写一次 sincedb 文件,默认是 15 秒。 ​ stat_interval=>logstash 每隔多久检查一次被监听文件状态(是否有更新),默认是 1 秒。

4、Logstash高级使用

学习官网:https://www.elastic.co/cn/

4.1 jdbc插件

4.1.1编写脚本

cd logstash-7.8.0/config/
vim jdbc.conf  #编辑一个检测脚本文件,输入以下配置
------------------------------------------------------------------
input{jdbc{jdbc_driver_library => "/usr/local/logstash-7.8.0/config/mysql-connector-java-8.0.16.jar"jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_connection_string => "jdbc:mysql://192.168.223.128/test"jdbc_user => "root"jdbc_password => "root"use_column_value => truetracking_column => id #追踪字段schedule => "* * * * *" #最小采集频率,logstash不支持秒级更新,最小时间单位是1分钟jdbc_paging_enabled => "true"jdbc_page_size => "50000"statement => "SELECT * from tb_user where id > :sql_last_value" #最新数据,可以通过删除 ./root/.logstash_jdbc_last_run 文件重新定位,查询位置命令:find /root -name *.logstash_jdbc_last_run}
}
output{stdout{codec=>rubydebug}
}
​

4.1.2测试

#启动服务
cd logstash-7.8.0/
bin/logstash -f config/jdbc.conf

在test数据库tb_user表中添加数据,可以看到控制台打印如下:20210129170328298.png

4.2 syslog插件

syslog机制负责记录内核和应用程序产生的日志信息,管理员可以通过查看日志记录,来掌握系统状况。默认系统已经安装了rsyslog直接启动即可。

4.2.1 编写脚本

cd logstash-7.8.0/config/
vim syslog.conf  #编辑一个检测脚本文件,输入以下配置
------------------------------------------------------------------
input{syslog{type => "system-syslog"port => 514}
}
output{stdout{codec=> rubydebug}
}
​
​

4.2.2 测试

#启动服务
cd logstash-7.8.0/
bin/logstash -f config/syslog.conf

发送数据,新起一个窗口

#修改系统日志配置文件
vim /etc/rsyslog.conf
#添加一行以下配置
*.* @@192.168.223.128:514
#重启系统日志服务使之生效
systemctl restart rsyslog

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1eGlhbmcxOTg1MTExNA==,size_16,color_FFFFFF,t_70

4.3 filter插件

Logstash之所以强悍的主要原因是filter插件;通过过滤器的各种组合可以得到我们想要的结构化数据。

4.3.1 grok插件

4.3.1.1 grok语法

grok正则表达式是logstash非常重要的一个环节;可以通过grok非常方便的将数据拆分和索引。

grok插件:能匹配一切数据,但是性能和对资源的损耗也很大,但是对于时间来说非常便利

语法格式:%{语法:语义}

默认grok调用的是:/logstash-7.8.0/vendor/bundle/jruby/2.5.0/gems/logstash-patterns-core-4.1.2/patterns/grok-patterns 这个目录下的正则,当然,你也可以定义自己的正则表达式!watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1eGlhbmcxOTg1MTExNA==,size_16,color_FFFFFF,t_70

4.3.1.2 收集控制台输入数据,采集IPV4

cd logstash-7.8.0/config/
vim filter-grok.conf  #编辑一个检测脚本文件,输入以下配置
------------------------------------------------------------------
input {stdin{}}
​
filter{grok{match => {"message" => "%{IPV4:ip}"}}
}
​
output{stdout{codec => rubydebug}
}
​
​

测试:

#启动服务
cd logstash-7.8.0/
bin/logstash -f config/filter-grok.conf

控制台输入文字:我们的事业,在希望的田野上,可以看到产生了一个tags索引:[0]

20210129170424924.png

没看到是报错吗?为什么?因为不匹配呗!

我们再次输入:hello logstash 192.168.223.128 是我的服务器,匹配成功!

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1eGlhbmcxOTg1MTExNA==,size_16,color_FFFFFF,t_70

4.3.1.3 grok收集服务请求日志数据

cd logstash-7.8.0/config/
vim monitor-server.conf  #编辑一个检测脚本文件,输入以下配置
------------------------------------------------------------------
input {stdin{}}
​
filter{grok{match => {"message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}"}}
}
output{stdout{codec => rubydebug}
}
​

测试:

#启动服务
cd logstash-7.8.0/
bin/logstash -f config/monitor-server.conf

从控制台输入server日志文件数据

测试输入数据:127.0.0.1 GET /index.html 5000 0.2

20210129170437905.png

4.3.2 Date插件

4.3.2.1 采集配置

从字段解析日期以用作事件的LogStash时间戳,以下配置解析名为logdate的字段以设置Logstash时间戳,获取的是日志时间,而不是相对系统时间:@timestamp

cd logstash-7.3.0/config/
vim filter-date.conf  #编辑一个检测脚本文件,输入以下配置
------------------------------------------------------------------
input {stdin{}}
​
filter{grok{match => {"message" => "%{HTTPDATE:timestamp}"}}date{match => ["timestamp","dd/MMM/yyyy:HH:mm:ss Z"] #时区偏移量需要用一个字母Z来转换}
}
​
output{stdout{codec => rubydebug}
}
​
​

4.3.2.2 匹配字段格式化

你好啊,今天 日期是[03/Sep/2020:17:52:19 +0800],我们一起去玩吧

2021012917044848.png

4.3.3 geoip地址查询插件

4.3.3.1 采集配置

geoip是常见的免费的IP地址归类查询库,geoip可以根据IP地址提供对应的地域信息,包括国别,省市,经纬度等等,此插件对于可视化地图和区域统计非常有用。

cd logstash-7.3.0/config/
vim filter-geoip.conf  #编辑一个检测脚本文件,输入以下配置
------------------------------------------------------------------
input {stdin{}}
​
filter{grok {match => {"message" => "%{IP:ip}"}remove_field => ["message"] #移除默认显示的message字段}geoip {source => "ip"}
}
​
output{stdout{codec => rubydebug}
}
​

4.3.3.2 测试

#启动服务
cd logstash-7.8.0/
bin/logstash -f config/filter-geoip.conf

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1eGlhbmcxOTg1MTExNA==,size_16,color_FFFFFF,t_70

4.3.4 mutate插件

mutate插件是logstash另一个非常重要的插件,它提供了丰富的基础类型数据处理能力,包括重命名、删除、替换、修改日志事件中的字段。我们这里使用一个常用的mutate插件:正则表达式替换字段功能gsub

PS:gsub可以通过正则表达式替换字段中匹配到的值,只对字符串字段有效。

4.3.4.1 采集配置

cd logstash-7.3.0/config/
vim filter-mutate.conf  #编辑一个检测脚本文件,输入以下配置
------------------------------------------------------------------
input {stdin{}}filter{grok{match => {"message" => "%{QS:referrer}"}remove_field => ["message"]}mutate{gsub => ["referrer","/","-"]}
}output{stdout{codec => rubydebug}
}

4.3.4.2 测试

#启动服务
cd logstash-7.8.0/
bin/logstash -f config/filter-mutate.conf

20210129170515288.png

4.4 Output插件

刚刚上面演示的全部都是标准的控制台输出,其实logstash还有很多更高级的应用输出

4.4.1 采集数据保存到file文件中

cd logstash-7.3.0/config/
vim output_file.conf  #编辑一个检测脚本文件,输入以下配置
------------------------------------------------------------------
input {stdin{}}
output{file{path => "/usr/local/logstash-7.8.0/config/datas/%{+YYYY-MM-dd}-%{host}.txt"codec => line {format => "%{message}"}flush_interval => 0}
}

测试:

#启动服务
cd logstash-7.8.0/
bin/logstash -f config/output_file.conf

控制台输入一些字符串:

20210129170524460.png

查看输出的文件内容:

20210129170532563.png

 

4.4.2 采集数据保存到elasticsearch

cd logstash-7.8.0/config/
vim output_es.conf  #编辑一个检测脚本文件,输入以下配置
------------------------------------------------------------------
input {stdin{}}
output {elasticsearch {hosts => ["ydt1:9200"]index => "logstash-%{+YYYY.MM.dd}"}
}

测试:

#启动服务
cd logstash-7.8.0/
bin/logstash -f config/output_es.conf

控制台输入一些数据,然后通过elasticsearch-head查看是否保存成功:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1eGlhbmcxOTg1MTExNA==,size_16,color_FFFFFF,t_70

 

 

 

http://www.yayakq.cn/news/195958/

相关文章:

  • 手机网站建设必要性wordpress 主题汉化无效
  • 曲靖网站设计wordpress条件查询插件
  • 网站后台流程邯郸品牌商标vi设计策划公司
  • jsp做门户网站海报设计兼职app
  • WordPress全功能高级投稿seo排名哪家有名
  • 下沙网站优化户外平台设计
  • 博物馆门户网站建设优势云服务器可以做网站吗
  • 德州万企互联网站制作aspnet网站开发例题
  • 开发网站需要什么技术2022游戏类网站备案需要前置审批吗
  • 自己电脑上做的网站 怎么让别人看珠海建设企业网站的公司
  • 中铁建设投资集团有限公司网站制作网站过程
  • 番禺网站建设怎样吉林百度seo
  • 关于网站开发费用的入账企业网站建设专业性体现在
  • 注册网站多久专业网站制作公司采用哪些技术制作网站?
  • 家用机能否做网站服务器怎样做淘宝的导购网站推广
  • 6个网站建设松江新桥专业网站建设
  • html个人网站设计青岛快速排名优化
  • 企业做的网站费入什么科目黄浦网站建设
  • 建设企业网站官网u盾网络营销公司如何建立
  • 国外做滑板网站快速开发平台 免费开源
  • 建微网站广州部队网站建设费用
  • 一个完整的网站推广方案山东军辉建设集团有限公司 公司网站网址
  • 基于php旅游网站的毕业设计松江网站建设多少钱
  • 优酷网站怎么做的哪个网站可以做付邮免费送活动
  • 湟中县公司网站建设四川掌上电力app下载
  • 重庆网站建设cq600企业为什么需要网站
  • 渭南网站建设哪家好合肥做公司网站公司
  • 自建站怎么接入支付英文seo是什么
  • 珠珠宝宝网网站站建建设设商贸公司寮步网站建设极致发烧
  • 做网站怎么插音乐电商网站如何制作