本文分两部分,一部分是elk搭建,另一部分,grafana的dashboard配置展示

【1】ELK搭建

一、es搭建

二、kibana搭建

因直接使用公有云的ES服务,包含了kibana,所以一、二部分直接跳过

之前使用logstash收集日志,因logstash比较耗内存,这里变更为使用filebeat收集日志

三、filebeat安装

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.3.2-x86_64.rpm

sudo rpm -vi filebeat-6.3.2-x86_64.rpm

vi /etc/filebeat/filebeat.yml配置filebeat

因没有使用logstash过滤,所以output直接到es中

systemctl start filebeat 

systemctl enable filebeat

2、日志配置

以收集nginx为例,便于后期es数据读取,日志这里以json形式输出

nginx配置:

log_format json_log  '{ "@timestamp": "$time_iso8601", '
                                  '"server_addr": "$server_addr", '
                                  '"http_mark": "$http_mark",'
                                  '"remote_addr": "$remote_addr", '
                                  '"body_bytes_sent": "$body_bytes_sent", '
                                  '"remote_user": "$remote_user", '
                                  '"request_method": "$request_method", '
                                  '"request": "$request", '
                                  '"request_time": $request_time, '
                                  '"upstream_response_time": $upstream_response_time, '
                                  '"upstream_addr": "$upstream_addr", '
                                  '"http_host":"$host",'
                                  '"http_referer":"$http_referer",'
                                  '"uri": "$uri", '
                                  '"http_user_agent":"$http_user_agent", '
                                  '"http_appid": "$http_appid", '
                                  '"http_deviceid": "$http_deviceid", '
                                  '"http__v": "$http__v",'
                                  '"status": "$status",'
                                  '"http_x_forwarded_for": "$http_x_forwarded_for",'
                                  '"http_devicecode": "$http_devicecode",'
                                  '"msec": "$msec",'
                                  '"http_cver": "$http_cver" }';

3、当启动filebeat时,就有数据写到nginxlog-日期的索引中,kibana创建对应的index_pattern

完成后即可在kibana的discover中可以查看到对应索引数据,收集java等服务日志同理

以上ELK算是搭建完成了

【2】grafana看板配置

以上述ELK中的es为数据源做grafana看板配置

data Sources配置如下:

数据源创建好以后就可以创建第一个dashboard了,当不知道语法时,可以从官网下载对应的模板id来模仿

官方dashboard模板:https://grafana.com/grafana/dashboards 

如何通过模板id导入至dashboard:

根据模板导入后,然后根据自己需求来改动

看板效果:

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐