此文章来源于黑马论坛社区:http://bbs.itheima.com/thread-429964-1-19.html
一、Kibana安装和配置
1.1 kibana简介
Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等。而且还提供了操作Elasticsearch索引数据的控制台,并且提供了一定的API提示,非常有利于我们学习Elasticsearch的语法。
英文官网:https://www.elastic.co/products/kibana
中文官网:https://www.elastic.co/cn/products/kibana
这是您走进 的窗口
Elastic Stack
Kibana 让您能够可视化 Elasticsearch 中的数据并操作 Elastic Stack,因此您可以在这里解开任何疑问:例如,为何会在凌晨 2:00 被传呼,雨水会对季度数据造成怎样的影响。
1.2 kibana*载下**安装文件
*载下**地址:https://www.elastic.co/cn/downloads
1.3 kibana 解压、配置
1.3.1 上传安装文件,解压
1.3.2 重命名
[Shell] 纯文本查看 复制代码
?
[es@node01 ~]$ mv kibana-6.4.0-linux-x86_64 kibana
1.3.3 配置
进入到kibana安装目录下的config文件夹中,修改kibana.yml 文件
1.3.4 启动
1.3.5 访问
启动成功
二、logstash 安装和配置
2.1 logstash简介
英文官网:https://www.elastic.co/products/logstash
中文官网:https://www.elastic.co/cn/products/logstash
Logstash 是一个开源的数据收集引擎,它具有备实时数据传输能力。它可以统一过滤来自不同源的数据,并按照开发者的制定的规范输出到目的地。
顾名思义,Logstash 收集数据对象就是日志文件。由于日志文件来源多(如:系统日志、服务器日志等),且内容杂乱,不便于人类进行观察。因此,我们可以使用 Logstash 对日志文件进行收集和统一过滤,变成可读性高的内容,方便开发者或运维人员观察,从而有效的分析系统/项目运行的性能,做好监控和预警的准备工作等。
2.2*载下**安装文件(6.4.0版本)
2.3 上传安装文件到指定目录
2.4 解压文件,重命名文件夹,删除安装压缩包
[Shell] 纯文本查看 复制代码
?
#解压[/size]
[/size][es@node01 ~]$ tar -zxvf logstash-6.4.0.tar.gz
#重命名文件夹
[es@node01 ~]$ mv logstash-6.4.0 logstash
#删除
[es@node01 ~]$ rm -rf logstash-6.4.0.tar.gz
2.5 Logstash的组成结构
Logstash 通过管道进行运作,管道有两个必需的元素,输入(input)和输出(output),还有一个可选的元素-过滤器(filter)。输入插件从数据源获取数据,过滤器插件根据用户指定的数据格式修改数据,输出插件则将数据写入到目的地。如下图:
2.6 lostarsh 入门
Logstash 提供了一个 shell 脚本叫 logstash 方便快速运行,-e意指执行Logstash 提供了一个 shell 脚本叫 logstash 方便快速运行,-e意指执行。
[Shell] 纯文本查看 复制代码
?
1
[es@node01 bin]$ ./logstash -e 'input{ stdin{} } output{ stdout{} }'
Hello logstash(输入)经过 Logstash 管道(过滤)变成:
[Shell] 纯文本查看 复制代码
?
{
"@version" => "1",
"message" => "Hello logstash",
"@timestamp" => 2018-11-17T10:11:40.501Z,
"host" => "node01"
}
【命令行中常用的命令(了解)
-e:后面跟着字符串,该字符串可以被当做logstash的配置(如果是“” 则默认使用stdin作为输入,stdout作为输出)
-f:通过这个命令可以指定Logstash的配置文件,根据配置文件配置logstash
-l:日志输出的地址(默认就是stdout直接在控制台中输出)
-t:测试配置文件是否正确,然后退出。】
2.7 Logstash的插件介绍
在生产环境中,Logstash 的管道要复杂很多,可能需要配置多个输入、过滤器和输出插件。Logstash配置文件定义了Logstash 管道,当你使用-f <path/to/file>启动一个Logstash实例,其实使用了一个配置文件定义了管道实例。
一个Logstash管道有两个必备元素,输入和输出,一个可选元素,过滤器。input插件从一个源摄取数据,filter插件按照你指定的方式修改数据,output插件写出数据到一个目标数据库。因此,需要一个配置文件管理输入、过滤器和输出相关的配置。配置文件内容格式如下:
[Shell] 纯文本查看 复制代码
?
input {[/align]}
# 该部分被注释,表示filter是可选的
# filter {
#
# }
output {
}
在使用插件之前,我们先了解一个概念:事件。Logstash 每读取一次数据的行为叫做事件。在 Logstach 目录中创建一个配置文件,名为 logstash.conf(名字任意)。
2.8 输入插件
输入插件允许一个特定的事件源可以读取到 Logstash 管道中,配置在 input {} 中,且可以设置多个。
修改配置文件:vim demo1.conf
[Shell] 纯文本查看 复制代码
?
input { [/size][/align][/size]# 从文件读取日志信息
file {
# 文件路径
path => "/root/accounts.json"
start_position => "beginning" }
}
# filter {
#
# }
output {
# 标准输出
stdout { codec => rubydebug }
}
[Shell] 纯文本查看 复制代码
?
# 执行 ,向控制台输出
[root@node01 logstash]# bin/logstash -f config/demo1.conf
Codec 是 logstash 从 1.3.0 版开始新引入的概念(Codec 来自 Coder/decoder 两个单词的首字母缩写)。
在此之前,logstash 只支持纯文本形式输入,然后以过滤器处理它。
但现在,我们可以在输入 期处理不同类型的数据,这全是因为有了 codec 设置。所以,这里需要纠正之前的一个概念。Logstash 不只是一个 input | filter | output 的数据流,而是一个 input | decode |filter | encode | output 的数据流!codec 就是用来 decode、encode 事件的。codec 的引入,使得 logstash 可以更好更方便的与其他有自定义数据格式的运维产品共存,。事实上,我们在第一个 "hello world" 用例中就已经用过 codec 了 —— rubydebug 就是一种 codec!虽然它一般只会用在stdout 插件中,作为配置测试或者调试的工具。
