一
1什么是kibana
Kibana是一个数据可视化工具
2特点:灵活的分析和可视化平台
实时总结流量和数据的图表
为不同的用户显示直观的界面
及时分享和嵌入的仪表盘
二 Kibana的安装部署
环境准备:kibana主机一台
hostnamectl set-hostname kibana
eip 46
reboot
vim /etc/hosts
vim /etc/yum.repos.d/local.repo
yum -y install kibana
vim /opt/kibana/config/kibana.yml ->kibana配置文件
systemctl start kibana
systemctl enable kibana
ss -ntulp ->可以看到5601端口
Firefox http://192.168.1.46:5601
Kibana默认安装在/opt/kibana下面,配置文件在/opt/kibana/config/kibana.yml
只需要修改少量的配
置就可以启动
除了elasticsearch .url需要配置为我们ES集群地址之外,其他都是保持默认值,去掉注释就可以
Vim /var/log/access_log /error_log
时间日期:[13/AUG/2019]
请求:GET
协议:/.http1.1
返回值:200
大小206
Logs/access_log/ combined 格式->logformat
阿帕奇官方网站httpd.apache.org
金布国
修改时间
数据展示
Kibana展示方式
三 部署安装logstash服务
1 logstash简介:是一个数据采集,加工处理以及传输工具
2 logstash特点:
1)所有类型的数据集中处理
2)不同模式和格式数据的正常化
3)自定义日志格式的迅速扩展
4)为自定义数据源轻松添加插件
3 logstash 安装
Logstash依赖java环境,需要安装java-1.8.0-openjdk
Logstash 没有默认的配置文件,需要手动配置
Logstash 安装在/opt/logstash目录下
Yum -y install logstash
Logstash工作结构:
数据源
->input
->filter -映射 格式化
->output -存储
->{ES}
4 logstash 类型及条件判断
Logstash 里面的类型
1布尔值类型:ssl_enable=>true /flase
2 字节类型:bytes=>”1MB”
3 字符串类型:name=>”cat”
4 数值类型:port=>22
5 数组:match=>[“datetime”:”unix”]
6 哈希:option =>{k->”v”,k2->”v2”} -键值对,对象,哈希,
7 编码解码:codec=>”json”
8 路径:file_path=>”/tmp/filename”
9 注释:#
Logstash 条件判断
等于 ==
不等于 !=
小于 <
大于 >
小于等于 <=
大于等于 >=
匹配正则 =~
不匹配正则!~
包含 in
不包含 not in
与 and
或 or
非与 nand
非或 xor
复合表达式()
取反符合 !()
四 logstash的配置文件
logstash 的第一个配置文件->(官方文档)
/etc/logstash/stash
input{
stdin{}
}
filter{}
output{
stdout{}
}
启动并验证
Logstash -f logatsh.conf
标准输入/标准输出/标准错误输出
[root@logstash bin]# ll /dev/stdin
lrwxrwxrwx 1 root root 15 Aug 13 2019 /dev/stdin -> /proc/self/fd/0
[root@logstash bin]# ll /dev/stdout
lrwxrwxrwx 1 root root 15 Aug 13 2019 /dev/stdout -> /proc/self/fd/1
[root@logstash bin]# ll /dev/stderr
lrwxrwxrwx 1 root root 15 Aug 13 2019 /dev/stderr -> /proc/self/fd/2
五 Logstash插件
上面的配置文件使用了logstash-input-stdin和logstash-output-stdout两个插件
,logstash还有filter和codec类插件
查看插件的方式是:
/opt/logstash/bin/logstash-plugin list
插件及官方文档地址:https://github.com/logstash-plugins
常用插件:codec
logstash-input-stdin
logstash-output-stdout
Input file
Filter grok
Output ES
Input filebeats
1 codec类插件;
常用的插件:plain json json_lines rubybug multiline
Input{
Stdin{ codec => “json” }
}
Filter{}
Output{
Stdout{ codec => “rubydebug” }
}
2 input file 插件
File{
Start_position => “beginning” -第一次读取文件从什么地方
Sincedb_path => “/var/lib/logstash/sincedb-access” -记录读取文件位置
Path => [ “/tmp/a.log”,”/tmp/b.log”]
Type => “filelog”
}
3 filter grok 插件
解析各种非结构化日志数据插件
几乎应用于各类数据
grok正则分组匹配
1)匹配ip时间戳和请求方法
2)使用正则宏
3)最终版本
4 output ES 讲数据写入集群
If [type]==”apache_log”{
Elasticsearch{
Hosts =>[“192.168.1.41:9200”,””192.168.1.42:9200]
Index =>”filelog”
Flush_size => 2000
Idle_flush_time => 10
}}
5 input filebeart 接收beats类软件发送过来的数据
由于logstash依赖java环境.而且占用资源非常大,因此会使用个更轻量级filebeat替代
Beart {
Port => 5044
}
Filebeart安装与配置
使用rpm安装filebeart
Yum -y install filebeart
修改配置文件/etc/filebeart/filebeat.yml