续我的上上篇博文:https://mp.csdn.net/postedit/89335965。即ElasticSearch多节点(ElasticSearch集群)已经安装部署好。
和我的上篇博文:https://mp.csdn.net/postedit/89338641。即Logstash已经安装部署好。
1、selinux和firewalld状态为disabled
2、各主机信息如下:
主机 | ip |
---|---|
server1(es节点1),内存至少2G | 172.25.83.1 |
server2(es节点2、Logstash),内存至少2G | 172.25.83.2 |
server1(es节点3、Kibana),内存至少2G | 172.25.83.3 |
1、下载Kibana所需的软件包(logstash-6.6.1.rpm),并进行安装
[root@server3 ~]# ls
kibana-6.6.1-x86_64.rpm
[root@server3 ~]# rpm -ivh kibana-6.6.1-x86_64.rpm
2、编辑/etc/kibana/kibana.yml文件,并启动kibana服务
[root@server3 ~]# vim /etc/kibana/kibana.yml
2 server.port: 5601 #制定kibana服务的端口为5601
7 server.host: "172.25.83.3" #指定Kibana后端服务器的主机地址。
28 elasticsearch.hosts: ["http://172.25.83.1:9200"] #执行elasticsearch主机
37 kibana.index: ".kibana" #Kibana使用Elasticsearch中的索引来存储保存的检索,可视化控件以及仪表板。如果没有索引,Kibana会创建一个新的索引。
[root@server3 ~]# systemctl start kibana
[root@server3 ~]# netstat -antulpe | grep 5601
tcp 0 0 172.25.83.3:5601 0.0.0.0:* LISTEN 996 38464 12745/node
浏览器访问172.25.83.3:5601查看web界面的内容
点击“Try our sample data”
点击左下角的“Management”
点击“Kibana”区域的“Index Patterns”
在“Index pattern”中填入索引的名字,我这里填入的是之前Logstash创建的http-...的索引
点击“Next step”
点击“Time Filter field name”,选中弹出的“@timestamp”
点击“Create index pattern”
点击左上角的“Discover”,我们来查看刚刚创建好的index patter(httpd-*)中存放的内容(因该是之前Logstash创建的索引http-...中的内容)
从上图,我们并没有看到http-...索引中的内容,这是由于查询时间不当所导致的。我们从上图可以看到,我们所查询的是“Latest 15 minutes”Logstash创建的http-...索引中的内容。而http-...不是最近15分钟内创建的,所以查看不到。
因此我们要修改查询时间(因为我这里是前一天创建的http-...索引,所以我这里设置为“This week”)
点击左上角的“Visualize”
点击“Create a visualization”
我们选择其中的“Metric”,即以度量(数字)的形式显示http-...索引中的内容
点击“httpd-*”
点击最上面一行的“Save”,进行保存
填入要保存的名字,我这里起名为apache访问量
点击“Confirm Save”
点击左边一列的“Dashboard”
点击“Create new dashboard”
点击“Add”
选中“apache访问量”
选中“x”,关闭“Add Panels“界面
点击最上面一行的“Save”
填入标题名,我这里给定名字为“apache展示”
点击“Confirm Save”
[root@server2 ~]# systemctl start httpd #在server2端启动httpd服务
[root@server2 ~]# netstat -antulpe | grep 80
tcp6 0 0 :::80 :::* LISTEN 0 24393 2259/httpd
[root@foundation83 ~]# ab -c 1 -n 300 http://172.25.83.2/index.html #在物理机以"300次请求,1次并发"访问172.25.83.2的index.html文件
[root@server1 ~]# yum install httpd-tools -y #在server1端安装http-tools软件,以提供ab命令
[root@server1 ~]# ab -c 1 -n 300 http://172.25.83.2/index.html #在物理机以"300次请求,1次并发"访问172.25.83.2的index.html文件
[root@server3 ~]# yum install httpd-tools -y #在server1端安装http-tools软件,以提供ab命令
[root@server3 ~]# ab -c 1 -n 400 http://172.25.83.2/index.html #在物理机以"400次请求,1次并发"访问172.25.83.2的index.html文件
[root@server2 ~]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/http.conf #在server2端启动Logstash服务,生成新的http-...索引(之所以能够生成新的http-...索引,是因为httpd服务的日志信息发生了变化(物理机再次访问100次;server1端访问150次;server3端访问200次))
[INFO ] 2019-04-18 11:36:33.049 [Api Webserver] agent - Successfully started Logstash API endpoint {:port=>9600}
#按"Ctrl+c"退出
刷新Kibana的web界面
如果我们想看到这1105分别是那台主机访问的,那该怎么办呢?(使用柱状图)
点击左边一列中的“Visualize”
点击最上面“apache访问量”左侧的“Visualize”
点击“+”
选择“Vertical Bar”,即柱状图显示
点击“httpd-*”
点击X-Axis
其配置图如下:
点击右三角标志的键,应用写入的这些变化,可以得到我们想要的柱状图,柱状图如下:
点击最上面一行的“Save”
填入名字,我这里给定的名字是“网站访问排行榜”
点击“Confirm Save”
点击左边一列的“Dashboard”
点击最上面一行的“Edit”
点击“Add”
点击“网站访问排行榜”
点击“x”
点击最上面一行的“Save”,进行保存
[root@server1 ~]# ab -c 1 -n 500 http://172.25.83.2/index.html
[root@server2 ~]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/http.conf
[INFO ] 2019-04-18 13:20:54.556 [Api Webserver] agent - Successfully started Logstash API endpoint {:port=>9600}
#按"Ctrl+c"退出
Kibana的web界面进行刷新