技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> vpsee
    想打造 New Relic 那样漂亮的实时监控系统我们只需要 InfluxDB/collectd/Grafana 这三个工具,这三个工具的关系是这样的: 采集数据(collectd)-> 存储数据(InfluxDB) -> 显示数据(Grafana)。 InfluxDB 是 Go 语言开发的一个开源分布式时序数据库,非常适合存储指标、事件、分析等数据,看版本号(v0.8.8)就知道这个项目还很年轻; collectd 就不用介绍了吧,C 语言写的一个系统性能采集工具; Grafana 是纯 Javascript 开发的前端工具,用于访问 InfluxDB,自定义报表、显示图表等。
    Linux 平台上的性能工具有很多,眼花缭乱,长期的摸索和经验发现最好用的还是那些久经考验的、简单的小工具。系统性能专家 Brendan D. Gregg 在最近的 LinuxCon NA 2014 大会上更新了他那个有名的关于 Linux 性能方面的 talk (Linux Performance Tools) 和幻灯片。 和 Brendan 去年的 talk 比较,今年增加了测试和优化两部分。下面的三张图片分别总结了 Linux 各个子系统以及监控、测试、优化这些子系统所用到的工具。
    误删文本文件的话可以尝试用 grep 恢复,误删 exe/doc/png/jpg/gif 之类的文件的话,可以用第三方 ext2/ext3 文件恢复工具 TestDisk, PhotoRec 等帮助恢复文件。
    使用虚拟机的一个好处就是可以带着虚拟机镜像文件到处走,需要的时候新建一个虚拟机加载相应的镜像文件就可以了。不过在 VirtualBox 上貌似有个问题,已使用过的镜像文件拷贝到其他硬盘不能直接用,需要给镜像文件生成新的 UUID,原因是这个 UUID 已经在本机的 VirtualBox 里注册过了。
    使用 Django 或 Flask 这种框架开发 web app 的时候一般都会用内建服务器开发和调试程序,等程序完成后再移交到生产环境部署。问题是这些内建服务器通常都不支持 HTTPS,我们想在开发的时候就能够使用和测试 HTTPS,不想还没测试就部署到生产环境,所以我们需要内建服务器能支持 HTTPS. 这个问题可以通过一个外部程序 stunnel 来解决,stunnel 的作用是通过 OpenSSL 库对 TCP 会话进行加密,建立起一个安全通道,保护没有加密功能或未加密的程序。
    我们使用 Xen 虚拟机的时候一般都是用桥接(bridging)的方式把虚拟机(domU)直接暴露在网络上,就像网络上单独的一台服务器一样,这种方式简单好用,不用在 dom0 做任何的端口转发也不用任何 iptable 规则。不过除了 bridging 以外,Xen 还支持 routing 和 NAT 的方式配置虚拟机网络。
    以前在学校下载电影 IP 老是被封,后来进化到管理员封物理网卡地址(MAC),每隔一段时间就得换个 MAC 地址。听说苹果在最新将要发布的 iOS 8 上增加了 MAC 地址随机化功能,也就是说在扫描 Wi-Fi 的时候会随机生成 MAC 地址,扫描完成后才会给出真实 MAC 地址,这个功能可以更好的保护用户的隐私和安全。
    标题真拗口,详细一点应该是,在一个文本文件里有一个主机名(和 IP 地址)列表,通过 vi/vim 的上下键选择某个主机名(IP 地址)后,点击回车键就可以完成相应的 SSH 登陆。 不管 chef/puppet/salt/ansible 这类自动化配置工具多么智能,我们总有需要登陆到单台服务器上找问题的时候。总不能每次去翻 doc/txt 文档找相应的 IP 地址和用户名吧,找到 IP 地址和用户名后、copy 出来、切换窗口、再 ssh?有点累~~
    现在每年增加的信息量比过去几百年还要多,不过好书还是那么少,经过历史考验的经典书就更少了,每个领域的经典书就那么几本,作为初学者应该首先看完该领域的经典书,然后再看其他的流行好书。
     操作一台服务器的时候可以 ssh,操作多台服务器可以开多个窗口多个 ssh,那操作很多台服务器呢? 我们的一个 Oracle Gird Engine 集群上大概有60多台 Ubuntu 服务器作执行节点,这些服务器操作系统和软件配置完全一样(上线后由 puppet 统一配置),有时候我们需要在这些服务器上做同样的操作,这个时候特别适合使用 PSSH 这种 ssh 批量操作工具。 当然,如果对 Python 不恐惧的话也可以用 Fabric 批量执行服务器任务。
    平时很少用 VPN,需要的时候一般用 ssh -D 搞定,或者 sshuttle 也是个不错的工具。自己配置 OpenVPN 虽然不是很麻烦,但对第一次配置 VPN 的新手来说还是挺费神费事的,如果急用或者怕麻烦的话可以选用 OpenVPN 的商业收费版本 OpenVPN Access Server,其免费的 license 可以支持2个 VPN 用户的同时在线,对个人用户来说足够用了。
    自动同步本地服务器(或 VPS)上的目录到另一台或多台远程服务器的办法和工具有很多,最简单的办法可能是用 rsync + cron(参考:用 VPS 给博客做镜像),这种办法有个问题就是 rsync 只能在固定时间间隔里被 cron 调用,如果时间间隔设的太短,频繁 rsync 会增加服务器负担;如果时间间隔设的太长,可能数据不能及时同步。今天介绍的 lsyncd 采用了 Linux 内核(2.6.13 及以后)里的 inotify 触发机制,这种机制可以做到只有在需要(变化)的时候才去同步。lsyncd 密切监测本地服务器上的参照目录,当发现目录下有文件或目录变更后,立刻通知远程服务器,并通过 rsync 或 rsync+ssh 方式实现文件同步。lsyncd 默认同步触发条件是每20秒或者每积累到1000次写入事件就触发一次,当然,这个触发条件可以通过配置参数调整。
    个人不推荐新手一开始就使用一键安装工具,一键安装工具隐藏了细节,不利于学习。不过自己动手配过几次系统、熟悉了 Linux 以后再回过头来看,使用一些一键安装工具还是很方便的,一键安装工具除了能安装必要的软件外还有一些附加功能,比如 “关闭 SELINUX”、“更改 SSH 端口”、“增加一个 vhost” 等。这里介绍的一键安装工具 Centmin Mod 是由原 Centmin 脚本改良而来,貌似原 Centmin 停止更新了。
    最近有台 NFS 服务器挂机,可以 ping 通,但不能 ssh 登陆,也不能通过本地终端登陆,只能重启了。我们一般处理文件服务器这种类型的重启都格外小心,不到迫不得已不会直接硬重启。Linux 运行过程中(为了提高性能)会把大量的数据暂时放在内存缓存中,而不是实时同步写入到磁盘,Linux 根据情况只有在需要(触发某条件)的时候才写入磁盘,所以这个时候挂机,数据还留在内存,没有办法及时写到磁盘,强制断电重启会造成数据不一致、部分数据丢失、文件系统损坏等。
    相信长期浸泡在终端和代码的小伙伴们都有一套自己喜爱的配色方案。以前一直在用简单、适合阅读的 Terminal.app 配色方案,换到 MacBook Pro with Retina display 后发现这个配色时间看长了眼睛有点累。不断有人推荐 Solarized,看了一些截图,感觉还不错,决定试一下。
    我们的服务器由 Puppet 配置管理工具来管理,服务器上线后由 puppet 完成初始化和配置等一系列工作(比如,静态 IP 配置,DNS 设置,NFS/SAN 挂载,LDAP/Kerberos 登录,安全加固配置,内核参数优化,防火墙规则配置等等),等初始化完成后开始运行,运行一段时间后有一些需要自动和手动操作的任务(比如升级、重启、备份等),这时候我们使用 Fabric 来批量执行这些临时任务。
    大家有时候会发现 ssh 挂在那里没有响应了,可能是客户端的问题,也可能是服务器端的问题,也可能是客户端和服务器之间的网络问题;可能是客户端电脑休眠后连接断了、可能是网络断了、可能是 WiFi 信号不好、可能是网络延迟大了、可能是服务器挂了、也可能是服务器上的 sshd 进程挂了,…,可能是技术问题,也可能是非技术问题,可以找出无数可能。
[ 共17篇文章 ][ 第1页/共1页 ][ 1 ]
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1