案例1. Kibaba:数据可视化平台工具
1.特点:灵活的分析和可视化平台
实时总结流量和数据的图表
为不同的用户显示直观的界面
即时分享和嵌入的仪表盘
2.kibana安装
1.首先配置yum源
将1.51的yum源copy给kibana主机,
2.修改/etc/hosts 保证互相能ping通
3.ssh-copy-id 保证与其他机器免密登录
4.安装:yum -y install kibana
5.修改配置文件
vim /opt/kibana/config/kibana.yml
6.启动,设置开机自启动
systemctl start kibana
systemctl enable kibana
7.web访问kibana
Logstash是什么
是一个数据采集.加工处理以及传输的工具
特点:
所有类型的数据集中处理
不同模式和格式数据的正常化
自定义日志格式的迅速扩展
为自定义数据源轻松添加插件
3. logstash 三大模块
input 模块:只负责获取数据(通过邮件,缓存,web sockt等等),不做任何处理.原封不动的交给filter -----相当于采购
filter 模块:进行数据处理(变成有序的格式) -----加工处理(厨师)
output 模块:输出格式化好的数据(内部处理 收发邮件,等) ------服务员(上菜)
修改配置文件(定义这三个区域)
vim
input{
}
filter{
}
output{
}
file模块使用
mkdir /tmp/a.log
mkdir /var/tmp/b.log
echo A_${RANDOM} >> /tmp/a.log
echo A_${RANDOM} >> /var/tmp/b.log
新开一个终端查询是否监控到
cd /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-2.0.5/patterns/grok-pattern
2 案例2:综合练习
- 安装配置 beats插件
- 安装一台Apache服务并配置
- 使用filebeat收集Apache服务器的日志
- 使用grok处理filebeat发送过来的日志
- 存入elasticsearch
- 使用 kibana 做图形展示
步骤一:安装logstash
1)配置主机名,ip和yum源,配置/etc/hosts(请把es1-es5、kibana主机配置和logstash一样的/etc/hosts)
2)安装java-1.8.0-openjdk和logstash
启动并测试
]# /opt/logstash/bin/logstash -f /etc/logstash/logstash.conf
3)codec类插件
启动并测试
4)file模块插件
创建两个日志目录,并测试
- root@logstash ~] touch /tmp/a.log
- [root@logstash ~]# touch /tmp/b.log
- [root@logstash ~]# /opt/logstash/bin/logstash -f /etc/logstash/logstash.conf
另开一个终端:写入数据
- [root@logstash ~]# echo a1 > /tmp/a.log
- [root@logstash ~]# echo b1 > /var/tmp/b.log
之前终端查看:
5)filter grok插件
grok插件:
解析各种非结构化的日志数据插件
grok使用正则表达式把飞结构化的数据结构化
在分组匹配,正则表达式需要根据具体数据结构编写
虽然编写困难,但适用性极广
解析Apache的日志
下载http服务都任一台机器上
- [root@es5 ~]# yum -y install httpd
- [root@es5 ~]# systemctl restart httpd
浏览器访问一次网页,在/var/log/httpd/access_log有日志出现
- cat /var/log/httpd/access_log
- 192.168.1.254 - - [12/Mar/2019:11:51:31 +0800] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0"
复制/var/log/httpd/access_log的日志到logstash下的/tmp/a.log
若要解决没有解析的问题,同样的方法把日志复制到/tmp/a.log,logstash.conf配置文件里面修改grok,查找正则宏路径
解析出的结果
步骤二: 安装Apache服务,用filebeat收集Apache服务器的日志,并存入elasticsearch
1)在之前安装了Apache的主机上面安装filebeat
2)修改配置文件
[root@logstash ~]# /opt/logstash/bin/logstash -f /etc/logstash/logstash.conf
打开另一终端查看5044是否成功启动
- [root@logstash ~]# netstat -antup | grep 5044
firefox 192.168.1.55 //ip为安装filebeat的那台机器
回到原来的终端,有数据
2)修改logstash.conf文件
浏览器访问Elasticsearch,有apachelog,如图-20所示:
- [student@room9pc01 ~]$ firefox http://192.168.1.55:9200/_plugin/head