| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 用 JuiceFS 备份 Nginx 日志可以这么简单 -> 正文阅读 |
|
[系统运维]用 JuiceFS 备份 Nginx 日志可以这么简单 |
在我们线上的生产环境中要备份的东西很多,各种服务日志、数据库数据、用户上传数据、代码等等。用 JuiceFS 来备份可以节省你大量时间,我们会围绕这个主题写一系列的教程,整理出一套最佳实践,方便大家。 今天第一篇就写写最常用的 Nginx 日志备份。 如何用 JuiceFS 备份 Nginx 日志生产环境中的 Nginx 经常作为反向代理,配置多台,用来对接后面的各种应用服务。日志主要有两类,访问日志 (access.log) 和错误日志 (error.log)。 日志是分散在每个 Nginx 节点的磁盘上的,每台机器自己的磁盘并不安全,而且分散的日志也难以维护和使用。所以,我们都会将日志汇总在一个更靠谱的存储系统中,一方面长期存储安全可靠,一方面也方便做分析使用。 在日志的存储上需要里,容量扩展性强,稳定安全,方便运维操作,价格便宜,最好按使用量付费是重点,对于存储性能的要求会低一些。目前常用的有 NFS、HDFS、对象存储等,把这些存储与 JuiceFS 做个比较: 说到日志的收集方式,主要有两种:定时收集 和 实时收集,我们在下面分别说明。JuiceFS 使用客户自己的对象存储保存文件数据,所以也自然继承了对象存储的好处,在此之上,我们提供了高性能的元数据服务和完整的 POSIX 兼容,使用上又比对象存储便利的多。 定时收集通常按照 小时、天,把日志拷贝到一个统一的存储点。这方面的工具集很多,我们用 Linux 默认安装的 logrotate 举例说明。 首先,要在 JuiceFS 创建一个文件系统,假设叫 super-backup。 第一步,每台机器安装 JuiceFS 客户端,挂载到 下载 JuiceFS 客户端
挂载文件系统
在自动化配置管理中使用 JuiceFS 也同样方便,具体方法请在上手指南中查看 如何通过命令行认证 和 开机自动挂载,我们支持 Docker 中挂载 和 Kubernates 中挂载。 第二步,在每台机器上用 logrotate 配置日志的滚动策略,修改
到此,Nginx 日志就可以每天 rotate 并保存到 JuiceFS 中了。增加 Nginx 节点时,只需要在新增节点上做同样的配置即可。 如果使用 NFS,在 logrotate 中的配置是基本一样的。但是 NFS 有几个不足之处:
再分享几个 Tips:
说完定时汇总,下一节我们再说说日志实时收集。 实时收集日志的实时收集已经有了很多开源工具,常用的有 Logstash、Flume、Scribe、Kafka 等。 在集群不是很大的时候,日志收集、分析、索引、展示有个全家桶方案 ELK,其中用 Logstash 做日志收集和分析。 需要下面的部署方式:
这里不讲 Logstash 在收集、分析、过滤环节的配置了,网络上有很多文章可查,说一下输出环节。 把 Logstash 收集处理好的日志保存到 JuiceFS 只要在配置的 output 部分设置一下:
存储到 NFS 也可以用上面的配置,缺点和上文定时收集部分提到的相同。 如果要保存到对象存储、HDFS,需要再配置 Logstash 的第三方插件,大部分是非官方的,随着 Logstash 版本的升级,使用时可能需要折腾一下。 最简单的实时收集方案其实还有更简单的实时日志收集方法,就是直接让 Nginx 把日志输出到 JuiceFS 中,省去了维护和部署日志收集系统的麻烦。使用这个方案可能会担心 JuiceFS 出问题时影响 Nginx 的正常运行,有两方面可以帮大家减少一些顾虑:
给 Nginx 日志加一份异地备份定时收集和实时收集都讲完了,在 super-backup 中存储的 Nginx 日志如何做个异地备份呢? 只要两步:
这样可以全自动的在另外一个对象存储中同步一份数据,有效防止单一对象存储的故障或者所在区域的灾难。 你一定会问:JuiceFS 挂了怎么办?元数据访问不了,光有对象存储里的数据也没用啊。 我们还有一个重要功能 – 兼容模式的 JuiceFS,所有的文件会按原样保存在对象存储中,脱离 JuiceFS 的元数据服务,也仍然可以访问里面的文件。对于备份这类一次写入不做修改的场景适合使用。 如有帮助的话欢迎关注我们项目 Juicedata/JuiceFS 哟! (0?0?) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 5:29:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |