设为首页 收藏本站
查看: 2848|回复: 0

[经验分享] AWS S3日志文件通过服务器上传到elk

[复制链接]

尚未签到

发表于 2019-1-28 12:33:54 | 显示全部楼层 |阅读模式
  通过elk查看s3产生的大量日志
  首先理清思路

  首先从s3上用s3cmd命令将logs同步下来 再将日志写到文件 再通过elk展示出来
  一、安装s3cmd命令
  S3cmd工具的安装与简单使用:
             参考文档
https://www.cnblogs.com/xd502djj/p/3604783.html
https://github.com/s3tools/s3cmd/releases  

    先下载S3cmd安装包 从github中获取
mkdir /home/tools/ && cd /home/tools/ wget https://github.com/s3tools/s3cmd/releases/download/v2.0.1/s3cmd-2.0.1.tar.gz
tar xf s3cmd-2.0.1.tar.gz
mv s3cmd-2.0.1 /usr/local/
mv /usr/local/ s3cmd-2.0.1 /usr/local/s3cmd
ln -s /usr/local/s3cmd/s3cmd /usr/bin/s3cmd  安装完成之后 使用 s3cmd –configure 设置key
              主要就是access key和 secure key 配置完成之后会生成下边的配置文件
[root@prod-sg s3cmd]# cat /root/.s3cfg
[default]
access_key = AKIAI4Q3PTOQ5xxxxxxx    aws s3的access key   必须
access_token =
add_encoding_exts =
add_headers =
bucket_location = US
ca_certs_file =
cache_file =
check_ssl_certificate = True
check_ssl_hostname = True
cloudfront_host = cloudfront.amazonaws.com
default_mime_type = binary/octet-stream
delay_updates = False
delete_after = False
delete_after_fetch = False
delete_removed = False
dry_run = False
enable_multipart = True
encrypt = False
expiry_date =
expiry_days =
expiry_prefix =
follow_symlinks = False
force = False
get_continue = False
gpg_command = /usr/bin/gpg
gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_passphrase = aviagames
guess_mime_type = True
host_base = s3.amazonaws.com
host_bucket = %(bucket)s.s3.amazonaws.com
human_readable_sizes = False
invalidate_default_index_on_cf = False
invalidate_default_index_root_on_cf = True
invalidate_on_cf = False
kms_key =
limit = -1
limitrate = 0
list_md5 = False
log_target_prefix =
long_listing = False
max_delete = -1
mime_type =
multipart_chunk_size_mb = 15
multipart_max_chunks = 10000
preserve_attrs = True
progress_meter = True
proxy_host =
proxy_port = 0
put_continue = False
recursive = False
recv_chunk = 65536
reduced_redundancy = False
requester_pays = False
restore_days = 1
restore_priority = Standard
secret_key = 0uoniJrn9qQhAnxxxxxxCZxxxxxxxxxxxx  aws s3的secret_key  必须
send_chunk = 65536
server_side_encryption = False
signature_v2 = False
signurl_use_https = False
simpledb_host = sdb.amazonaws.com
skip_existing = False
socket_timeout = 300
stats = False
stop_on_error = False
storage_class =
urlencoding_mode = normal
use_http_expect = False
use_https = False
use_mime_magic = True
verbosity = WARNING
website_endpoint = http://%(bucket)s.s3-website-%(location)s.amazonaws.com/
website_error =
website_index = index.html  

  二、s3cmd命令安装完成之后 编写脚本
#!/bin/bash
#进入S3同步目录
mkdir /server/s3dir/logs/ -p && cd /server/s3dir/logs/
#每隔5分钟将S3的日志列表放到S3.log文件中
#while true
#do
    /usr/bin/s3cmd ls s3://bigbearsdk/logs/ >S3.log
    #执行同步命令确认 S3与服务器 日志一样
    /usr/bin/s3cmd  sync --skip-existing s3://bigbearsdk/logs/ ./
#done
#当天的日志排并序追加到一个文件
    grep $(date +%F) S3.log  |sort -nk1,2 |awk -F [/] '{print $NF}' > date.log
    sed -i 's#\_#\\_#g' date.log
    sed -i 's##g' date.log
##[ -f ELK.log ] &&
#{
#    cat  ELK.log >> ELK_$(date +%F).log
#    echo > ELK.log
#    find /home/tools/ -name ELK*.log -mtime +7 |xargs rm -f
#}
#将每个文件的日志都追加到S3上传日志中
while read line
do
   echo "$line"|sed 's#(#\\\(#g'|sed 's#)#\\\)#g'| sed 's#\_#\\_#g'|sed 's##g'|sed 's#\ #\\ #g' >while.log
   head -1 while.log |xargs cat  >> /server/s3dir/s3elk.log
done < date.log    这样的话 S3日志里边的内容全都到了 s3elk.log 这个文件中  再通过elk监控日志
  未完待续。。。
  有意向加微信 Dellinger_blue




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-668711-1-1.html 上篇帖子: elk单台环境搭建(1) 下篇帖子: ELK 分析 nginx access 日志
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表