标签:处理 总结 分享 访问 elk5.4 ruby 帮助 key 高度
一、项目背景在目前小程序为主的大背景下,有客户大部分业务在腾讯云,使用的大部分为容器服务,在大规模的使用容器下,需要对容器内业务的日志采集及分析,在腾讯云对应容器服务的日志提供了两种消费方式:Kafka、日志服务CLS。
但是对应业务线众多,在腾讯云容器服务只能指定十条日志收集规则,完全满足不了大规模日志收集场景,客户已经指定分业务两种消费方式均使用了起来,Kafka&日志服务,但是在Ckafka查看日志发现最高每分钟20W条消息,尽管已经最大程度的提升了消费端的能力(消费端使用Logstash,然后重新将数据导入ELK集群中使用),但是在每分钟20w条的大数据下,查看CKafka内部有大量未消费条目存在,长此以往,CKafka性能及存量均无法满足,且和腾讯咨询发现目前该地域Ckafka已经售完,需要一周时间来底层扩容。
针对大量日志在Ckafka未消费,且腾讯无法开出Ckafka的背景下,先为客户提出三种解决方案:
先进行简单容器服务创建测试应用
例如日志格式:
__CONTENT__: {"docker":{"container_id":"894905ad526dd90f548bf35ece4b81f4d68359722d7ec719f3b81628da32fe20"},"kubernetes":{"container_name":"nginx","host":"172.16.9.11","labels":{"pod-template-hash":"1074266372","qcloud-app":"nginx"},"log":"default_nginx","master_url":"https://192.168.255.1:443","namespace_name":"default","pod_id":"5d4ae59f-9f6c-11e8-89c8-5254000e53ff","pod_name":"nginx-54c86bb7c6-wvm6z"},"log":"192.168.1.1 - - [25/Aug/2018:13:17:14 +0000] \"GET / HTTP/1.1\" 200 612 \"-\" \"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36\" \"-\"\n","stream":"stdout","time":"2018-08-25T13:17:14.310411833Z"}
根据container_name来进行正则日志过滤:.*\"container_name\":\"([^\"]+)\".*
注意:这里根据腾讯云官网给的仅有的一个实例进行测试无法通过,经过多次测试均为已经投递但是数据没有从cls到cos内部,经过后面自己测试结果如下:
__CONTENT__
详细操作方法可参考:COSFS操作
sudo yum install automake gcc-c++ git libcurl-devel libxml2-devel fuse-devel make openssl-devel
git clone https://github.com/tencentyun/cosfs /usr/cosfs
cd /usr/cosfs
./autogen.sh
./configure
make
sudo make install
写入配置文件:
echo <bucketname>:<SecretId>:<SecretKey> > /etc/passwd-cosfs
chmod 640 /etc/passwd-cosfs
cosfs your-bucketname your-mount-point -ourl=cos-domain-name -odbglevel=info
your-bucketname 需要替换为用户真实的信息;
your-mount-point 替换为本地需要挂载的目录(如 /mnt);
cos-domain-name 为存储桶对应的访问域名,形式为 http://cos.<Region>.myqcloud.com (适用于XML API),其中 为地域简称,如: ap-guangzhou 、 eu-frankfurt 等.
查看文件
input {
file {
path => "/cosdata/access-log2018/08/*"
}
}
output {
elasticsearch {
hosts => "127.0.0.1:9200"
}
stdout { codec => rubydebug }
}
标签:处理 总结 分享 访问 elk5.4 ruby 帮助 key 高度
原文地址:http://blog.51cto.com/kaliarch/2164385