ELKStack
E:elasticsearch 类似 SqlServer 、Redis.server ,这样的数据库
L:logstash 类似 数据适配、代理层 ,不同数据源 转存入不同数据库
K:Kibana 类似 SqlServer Management Studio 、Redis Desk Manager,这样的数据库的展示层
首先去官网下载 https://www.elastic.co/cn/downloads/
上面三个 程序 我使用的是 7.0 版本 ,官网说明是三个必须是同一版本才可以关联使用
下载里面选择 windows 版的
解压后得到文件夹
elasticsearc 是数据库 双击这个.bat 文件就能跑起来
Kibana 是前端页面 也是双击 .bat 文件 跑起来
logstash 会麻烦点 ,要在 bin 文件夹下面创建一个 .conf 的 配置文件 才能 跑起来
我的配置文件是这样写的
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input {
stdin {}
redis {
host => "127.0.0.1"
port => 6379
data_type => "list"
key => "ELKTest_student_list"
codec=> json
}
}
output {
stdout {}
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "school"
}
}
配置文件 的 input 代表输入 output 代表输出,
我的例子是 数据对象 存入 Redis list
logstash 作为 转换层 将监听 Redis的 名为 ELKTest_student_list的 list 队列 去取 数据
存入 elasticsearch 的 index 为 school 的 索引里 (这里的‘索引’是elasticsearch 的领域名词,类似 SqlServer 的数据库)
如果不设置 index ,elasticsearch 会自己创建一个以当前日期名为 的索引index。
关于配置文件的 关键字 文档说明
输入的 https://www.elastic.co/guide/en/logstash/current/input-plugins.html
输出的 https://www.elastic.co/guide/en/logstash/current/output-plugins.html
配置好后 cmd 打开命令窗口 输入下面命令运行.bat 和 关联 .conf 来运行 logstash
如果Redis 的队列有数据 则会出现 下面的 数据json 信息,表示取出Redis 队列并保存入 elasticsearch
然后讲讲 将这些个 ‘控制台程序’ 部署成 windows 服务
然后是kibana的 ,它没有像 elasticsearch 有个 server.bat 安装,需要借助工具 nssm 安装 windows服务
下载nssm 解压
cmd 打开命令行程序 指到 nssm 目录下 输入命令安装服务nssm install <servicename> <app> [<args>...]
kibana 是 服务名称 后面是 它的路径,这个是直接命令的形式操作
然后是 logstash,这里我们用命令打开 nssm 的程序窗体 设置
注意这里 输入 服务名字的时候 用双引号包裹才会出 界面
选择 path 找到 logstash.bat 选中,starup directory 的项会自动带出值,然后在 argument 写上 ‘-f logstash.conf’ 的参数命令,
点击安装服务按钮即可 。