03-日志平台-Kibana¶
Kibana简介¶
Kibana 是为 Elasticsearch 设计的开源分析和可视化平台。你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化,以图表的形式展现出来。
Kibana版本有如下版本
Kibana版本使用php、ruby、js、jruby、node.js等不同语言编写
Kibana 4使用nodejs进行编写(nodejs号称全栈,什么都可以干)
安装Kibana¶
下载并安装GPG key¶
[root@linux-node1 ~]# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
添加yum仓库¶
[root@test ~]# vim /etc/yum.repos.d/kibana.repo
[kibana-4.5]
name=Kibana repository for 4.5.x packages
baseurl=http://packages.elastic.co/kibana/4.5/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1
安装kibana¶
[root@test ~]# yum install -y kibana
[root@abcdocker ~]# rpm -qa kibana
kibana-4.5.4-1.x86_64
配置kibana¶
kibana只需要配置连接ES即可
提示:kibana和logstash没有任何关系,它只是为es提供了一个搜索的小界面。
[root@abcdocker ~]# vim /opt/kibana/config/kibana.yml
[root@abcdocker ~]# grep "^[a-Z]" /opt/kibana/config/kibana.yml
server.port: 5601 #端口,默认5601
server.host: "0.0.0.0" #主机
elasticsearch.url: "http://192.168.56.11:9200" #es地址
kibana.index: ".kibana" #kibana是一个小系统,自己也需要存储数据(将kibana的数据保存到.kibana的索引中,会在ES里面创建一个.kibana)
# elasticsearch.username: "user" kibana中的es插件是需要收费的,所以无法使用
# elasticsearch.password: "pass"
启动
[root@abcdocker ~]# systemctl start kibana.service
或者
[root@abcdocker ~]# /etc/init.d/kibana start
检查端口
[root@abcdocker ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 489/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 694/master
tcp 0 0 0.0.0.0:5601 0.0.0.0:* LISTEN 3692/node
tcp6 0 0 192.168.56.11:9200 :::* LISTEN 2828/java
tcp6 0 0 :::8080 :::* LISTEN 1317/java
tcp6 0 0 192.168.56.11:9300 :::* LISTEN 2828/java
tcp6 0 0 :::22 :::* LISTEN 489/sshd
tcp6 0 0 :::44697 :::* LISTEN 1317/java
tcp6 0 0 ::1:25 :::* LISTEN 694/master
udp6 0 0 :::33848 :::* 1317/java
udp6 0 0 :::5353 :::* 1317/java
#可以看到5601已经启动,说明kibana启动成功
访问地址:http://192.168.56.11:5601
当我们启动完成之后就自动跳转到kibana
设置界面,在kibana上不会把es上所有的索引显示出来,需要我们进行配置,配置那个索引,显示那个索引
Kibana创建索引¶
我们勾选Use event times to create index names
,这样就创建使用事件创建索引名称
提示:kibana从上个版本就提示插件过时
我们已经创建了一个安全日志,这里会自动匹配
我们在创建一个用于存放系统日志的索引
点击创建
我们点击Create
创建完成后我们在创建一个index-demo的索引,在最开始的时候我们进行测试的索引
我们创建的index-demo没有时间戳
下面是让我们选择时间戳,因为没有我们无法进行创建,如果有时间戳在下面选择然后进行Create即可
Kibana配置¶
我们选择完索引没法没有获取到数据
我们点击右上方时间,选择时间
时间有三种:
Quick:快速时间,这里帮我们选好了时间,比如今天、这周、今年以及最近15分钟等
Relative:相对时间,可以设置相对当前多少时间获取的日志
Absolute:绝对时间,可以选择从那天到那天的日志
我们可以查看到,日志里面的信息非常详细
在配置文件我们定义过几个,比如path(路径)、_type(类型)
等
提示:日志里面数据其实就是message这一行
因为这样查看不太方便,我们可以在左侧选择要查看的信息
我们点击我们想要查看的类型,我选择的是message和host,这样只显示这2个,查看的更方便
温馨提示: 这里的host就是我们的主机名
保存索引
加载索引
提示:这样我们就可以加载我们搜索过的
创建新的索引
kibana-证书过期¶
当kibana证书过期,kibana web是无法访问的
查看kibana证书时间
[root@abcdocker ~]# curl --user elastic:changeme 'http://127.0.0.1:9200/_xpack/license'
{
"license" : {
"status" : "active",
"uid" : "2c4f0edc-0f3e-4e0f-80e7-4ed679f4ce8e",
"type" : "basic",
"issue_date" : "2017-11-08T00:00:00.000Z",
"issue_date_in_millis" : 1510099200000,
"expiry_date" : "2018-11-08T23:59:59.999Z", ###这里是过期时间
"expiry_date_in_millis" : 1541721599999,
"max_nodes" : 100,
"issued_to" : "Lu Qin (renren)",
"issuer" : "Web Form",
"start_date_in_millis" : 1510099200000
}
}
我们需要去elk官网申请证书
申请地址: https://register.elastic.co/marvel_register
注册后将以email的方式发送,通过链接下载json文件.
我使用的是QQ邮箱,在垃圾箱里收到了。地址随便写
如何查看ES版本,我们要选择对应的版本
[root@YZSJHL81-64 ~]# curl 127.0.0.1:9200
{
"name" : "10.4.81.64",
"cluster_name" : "fenqi.elasticsearch",
"cluster_uuid" : "7TefE7_FSGu90OgOxrTgJg",
"version" : {
"number" : "5.5.1", ##### <<===== 版本
"build_hash" : "19c13d0",
"build_date" : "2017-07-18T20:44:24.823Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
},
"tagline" : "You Know, for Search"
}
下载对应的版本
默认下载下来的名称是我们注册的名称
将js上传到服务器上
[root@abcdocker ~]# curl -XPUT -u elastic:changeme 'http://127.0.0.1:9200/_xpack/license?acknowledge=true' -d @es.json
# -d 指定json目录