环境: 189.118----->elk01 安装es kibana filebeat filebeat 安装参考前面文档 ++++++++++ 导入kibana 视图: 默认如果使用filebeat模版导入视图会把所有的服务的视图都导入进去,而我们实际上并不需要这么多视图,而且默认的视图模版只能匹配filebeat-*开头的索引,所以我们这里有两个需要解决的地方: 1、通过一定的处理只导入我们需要的模版 2、导入的视图模版索引名称可以自定义 解决方法: 先备份一份filebeat的kibanan 视图,删除不需要的视图模板文件 修改视图文件里面默认的索引名称为我们需要的索引名称 cp -a /usr/share/filebeat/kibana /root cd /root/kibana rm -rf 5 ##删除 5 版本 cd /root/kibana/6/dashboard find ./ -type f ! -name "*nginx*" |xargs rm -rf rm -rf ml*修改视图文件里面默认的索引名称为我们需要的索引名称 cd /root/kibana/6/dashboard sed -i 's#filebeat\-\*#nginx\-\*#g' ./Filebeat-nginx-logs.json sed -i 's#filebeat\-\*#nginx\-\*#g' ./Filebeat-nginx-overview.json cd /root/kibana/6/index-pattern sed -i 's#filebeat\-\*#nginx\-\*#g' ./filebeat.json 导入视图文件: filebeat setup --dashboards -E setup.dashboards.directory=/root/kibana/
打开Kibana,重新添加nginx索引数据
![]()
![]()
这是系统自带的 ++++++++++++ 手动绘制我们需要的图形: 访问最多的IP地址前10位 访问最多的URL 前10位 访问最多的agent 前10 http 状态码比例 流量图 192.168.189.118------>nginx 日志格式为json vim /etc/filebeat/filebeat.yml filebeat.inputs: - type: log enabled: true paths: - /var/log/nginx/access.log json.keys_under_root: true json.overwrite_keys: true tags: ["access"] - type: log enabled: true paths: - /var/log/nginx/error.log tags: ["error"] ########## output output.elasticsearch: hosts: ["192.168.189.118:9200"] indices: - index: "nginx-acc-%{[beat.version]}-%{+yyyy.MM}" when.contains: tags: "access" - index: "nginx-err-%{[beat.version]}-%{+yyyy.MM}" when.contains: tags: "error" setup.template.name: "nginx" setup.template.parttern: "nginx-*" setup.template.enabled: false setup.template.overwrite: true +++++++++++ 先模拟一些nginx访问日志数据,在Kibana 中添加这两个索引,把原来的索引都清空。
![]()
这个是画图
这个是面板,好多个图可以拼在一起,放在一个面板上。 +++++++++ 清空自带的图:
创建新的画图:
![]()
![]()
![]()
![]()
把IP地址横向显示:
![]()
![]()
![]()
![]()
++++++++ 创建一个饼形图,用来表示 http 状态码比例
![]()
![]()
![]()
![]()
![]()
数据表-----> 请求的URL 前10
![]()
![]()
![]()
![]()
![]()
饼图------->浏览器分布图:
![]()
![]()
![]()
流量图:
![]()
![]()
创建运维面板:
![]()
![]()
++++++++++++++++++ 创建面板:
![]()
![]()
![]()
拖动图,进行调整位置,以及大小。自行排列