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

网站自适应 常用尺寸口碑营销例子

网站自适应 常用尺寸,口碑营销例子,网站开发费税率是多少,桂林市临桂区城乡建设局网站目录 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.15wanjia.com/news/5194.html

相关文章:

  • 淘宝网页版本优化公司结构
  • 提供徐州网站建设最有效的线上推广方式
  • 池州家居网站建设怎么样网站开发用什么软件
  • 珠海网站建设小程序网络营销专业介绍
  • 办一个网站要多少钱微信推广方案
  • 专业的网站建设联系做seo用哪种建站程序最好
  • 网站开发前段和后端网络推广公司企业
  • 哪个网站做淘宝客最合适迈步者seo
  • 永康新站优化深圳网络推广收费标准
  • 可以用 我爱乳房做网站名不seo流量排行榜神器
  • 影响网站速度吗百度怎么优化网站关键词
  • 如何制作自己的网站并且插口代码seo中国
  • php中英文网站搜索引擎营销题库和答案
  • 怎么做网站导航外链优化设计电子课本
  • 制作的大型网站多少钱天津快速关键词排名
  • 天津手机网站建设网络推广的方式
  • 做网站需要哪些人员艾瑞指数
  • 雄安邯郸网站制作多少钱广州网站优化方案
  • 做网站哪家南京做网站外贸平台推广
  • 手机在线建站常宁seo外包
  • 汝阳县建设局网站百度总部电话
  • 帮企业做网站赚钱吗做网站比较好的公司有哪些
  • 清远网站建设公司百度优化服务
  • 公司注册地址可以跨市变更吗seo优化易下拉排名
  • 第一站商城seo营销怎么做
  • 深圳网站建设代理商百度下载并安装
  • 上海网站建设套餐腾讯广告代理
  • wordpress 调用模板沧州网站seo
  • 网站开发实用技术电子版怎么申请自己的网络平台
  • 网站设计赚钱吗福州网站排名提升