新钛云服已为您服务1289天
IP地理位置用于确定IP地址的物理位置,可被用于多种实际场景,包括内容个性化与流量分析等等。根据地理位置进行流量分析可帮助大家有效分析自己的用户群体,从而了解用户来自哪里、决定应用服务器的理想地理位置并明确掌握用户定位。
本教程中,我们将共同了解如何利用Fluentd、Kafka、Logstash、Elasticsearch与Kibana配合GeoIP数据库,从而建立应用用户IP地址的可视化地理位置映射,目的效果图如下图所示:
△访问IP地图
第一步:Fluentd收集nginx日志
#配置fluentd [root@fluent ~]# vim /etc/td-agent/td-agent.conf <source> @type tail path /var/log/nginx/access_json.log pos_file /var/log/nginx/access_json.log.pos tag nginx_json.access format json time_format %d/%b/%Y:%H:%M:%S %z </source> |
第二步:将Fluentd收集到的日志存放到kafka
使用kafka集群做缓存层,而不是直接将agent收集到的日志信息写入logstash节点,让整体结构更健壮。agent负责将收集到的数据写入kafka,logstash取出数据并处理。
#配置fluentd [root@fluent ~]# vim /etc/td-agent/td-agent.conf <match nginx_json.access> @type kafka2 brokers 10.0.0.54:9092 use_event_time true <buffer topic> @type file path /var/log/td-agent/buffer/td flush_interval 1s </buffer> <format> @type json </format> topic_key topic default_topic wordsendertest2 required_acks -1 compression_codec gzip </match> |
第三步:logstash从kafka中取出日志
Logstash 是一款强大的数据处理工具,它可以实现数据传输,格式处理,格式化输出,还有强大的插件功能,常用于日志处理。