分享交流
合作共赢!

ELK基础使用方法总结【三】——Kibana展示数据

一、简介

Kibana是一个免费开放的用户界面,可让您可视化Elasticsearch数据并浏览Elastic Stack。 从跟踪查询负载到了解请求在您的应用程序中的流动方式,无所不能。

Elasticsearch、Logstash、Kibana通常称作ELK,被广泛适用于企业收集分析日志中使用。前面介绍了Elasticsearch和Logstash的安装和基础使用方法:

ELK基础使用方法总结【一】——ElasticSearch

ELK基础使用方法总结【二】——Logstash

本次主要介绍Kibana的安装部署、ELK三个组件的联合使用方法。

演示目的:

安装Kibana并结合Elasticsearch、Logstash和Redis,将Nginx日志展示至Kibana网页页面上。

二、Kibana安装配置

1、安装

1.下载安装包方式安装

官方下载地址:https://www.elastic.co/downloads/kibana

可直接下载系统对应的软件包,如CentOS可下载rpm包后直接安装

2.Yum安装【推荐

1.下载并安装公共签名密钥

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

2.yum源创建repo文件

~]# cat > /etc/yum.repos.d/elastic.repo << EOF
[elastic-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

3.yum安装

]# sudo yum install kibana -y

4、配置Kibana

]# grep -v "^#" /etc/kibana/kibana.yml | grep -v "^$"
server.port: 5601
server.host: "0.0.0.0"
server.name: "node02"
elasticsearch.hosts: ["http://192.168.239.131:9200"]
elasticsearch.preserveHost: true
kibana.index: ".kibana"
kibana.defaultAppId: "home"

三、ELK使用示例

1.前提准备

准备3台虚拟机,分别安装如下组件(可根据自己实际情况安装):

192.168.239.130:安装elasticsearch、logstash、NGINX、Redis

192.168.239.131:安装elasticsearch

192.168.239.132:安装elasticsearch、logstash、Kibana

2.Nginx

Yum安装NGINX并启动

]# yum install nginx -y
]# systemctl start nginx

3.Redis

1.安装Redis

]# yum install redis -y

2.配置Redis配置文件/etc/redis.conf

修改bind值为0.0.0.0,表示所有主机可访问

bind 0.0.0.0

3.启动redis,默认监听6379端口

]# systemctl start redis
]# ss -tanlp | grep 6379
LISTEN 0 128 *:6379 *:* users:(("redis-server",pid=1716,fd=4))

4.Logstash

logstash官方使用文档:https://www.elastic.co/guide/en/logstash/current/index.html

1.logstash客户端(192.168.239.130)收集NGINX日志数据

1.编写Logstash事件文件

在logstash配置文件/etc/logstash/conf.d中创建nginxlogs.conf文件,并写入如下内容:

input {
file {
path => "/var/log/nginx/access.log"
type => "nginxaccess"
start_position => "beginning"
}
}

filter {
grok {
patterns_dir => "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-patterns-core-4.1.2/patter
ns/grok-patterns"
match => { "message" => "%{NGINXACCESS}" }
}
}

output {
redis {
host => ["192.168.239.130"]
port => "6379"
data_type => "list"
key => "logstash_nginx"
}
}

2.将此配置文件作为事件开始运行

运行下面命令前,在其尾部添加”-t”可以先测试次配置文件是否有误,无误后再执行

]# logstash -f nginxlogs.conf

3.查看Redis是否收集到日志信息

如下内容表示已收集到6条记录

]# redis-cli 
127.0.0.1:6379> LLEN logstash_nginx
(integer) 6
127.0.0.1:6379> LINDEX logstash_nginx 0
"{\"@timestamp\":\"2020-09-26T08:04:09.845Z\",\"remote_user\":\"-\",\"verb\":\"GET\",\"response\":\"304\",\"http_x_forwarded_for\":\"\\\"-\\\"\",\"path\":\"/var/log/nginx/access.log\",\"referrer\":\"\\\"-\\\"\",\"bytes\":\"0\",\"httpversion\":\"1.1\",\"message\":\"192.168.239.1 - - [26/Sep/2020:16:04:09 +0800] \\\"GET / HTTP/1.1\\\" 304 0 \\\"-\\\" \\\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36\\\" \\\"-\\\"\",\"clientip\":\"192.168.239.1\",\"request\":\"/\",\"type\":\"nginxaccess\",\"agent\":\"\\\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36\\\"\",\"@version\":\"1\",\"host\":\"master01\",\"timestamp\":\"26/Sep/2020:16:04:09 +0800\"}"

2.Logstash服务端(192.168.239.132)从logstash客户端取数据

1.编写事件配置文件

]# more /etc/logstash/conf.d/nginx_logs.conf 
input {
redis {
host => ["192.168.239.130"]
port => "6379"
data_type => "list"
type => "nginxlog"
key => "logstash_nginx"
}
}

output {
elasticsearch {
hosts => "http://192.168.239.131:9200"
index => "logstash-nginx}"
}

}

2.启动logstash此配置文件的事件

]# logstash -f /etc/logstash/conf.d/nginx_logs.conf

5.Elasticsearch

各个节点启动elasticsearch,自动组合为一个elasticsearch集群。

]# systemctl start elasticsearch

6.Kibana

1.启动Kibana

]# systemctl start kibana
]# ss -tanlp | grep 5601
LISTEN 0 128 *:5601 *:* users:(("node",pid=1798,fd=18))

2.访问Kibana网页

网页访问http://192.168.239.132:5601/

3.创建索引,展示日志信息

创建索引后,自动发现规则即能显示如下图所示日志信息,即Nginx日志信息–>Redis存储–>ElsasicSearch读取–>Kibana展示这样一个流程。

赞(3) 打赏
未经允许不得转载:琼杰笔记 » ELK基础使用方法总结【三】——Kibana展示数据

评论 抢沙发

评论前必须登录!

 

分享交流,合作共赢!

联系我们加入QQ群

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏