千夜同学 发布的文章

日志平台就是对整体服务日志的采集、处理、存储、展示的平台。

下面是一些知名的公司对日志平台的处理:

有赞统一日志平台初探

揭秘魅族日志分析平台建设

Airbnb的核心日志系统架构及主要系统模块的设计之道

如何利用开源技术构建日处理130亿+的实时日志平台
https://mp.weixin.qq.com/s?__biz=MzIzMzEzODYwOA==&mid=2665284466&idx=1&sn=2b06a529821734e36e26e642424f24fc

一个可供参考的日志平台:

07.png

分布式计算在许多领域都有广泛需求,目前流行的分布式计算框架主要有 Hadoop MapReduce, Spark Streaming, Storm。 这三个框架各有优势,现在都属于 Apache 基金会下的项目。
Hadoop MapReduce 是三者中出现最早,知名度最大的分布式计算框架,最早由 Google Lab 开发,使用者遍布全球,主要适用于大批量的集群任务,由于是批量执行,故时效性偏低,原生支持 Java 语言开发 MapReduce ,其它语言需要使用到 Hadoop Streaming 来开发。Spark Streaming 保留了 Hadoop MapReduce 的优点,而且在时效性上有了很大提高,中间结果可以保存在内存中,从而对需要迭代计算和有较高时效性要求的系统提供了很好的支持,多用于能容忍小延时的推荐与计算系统。Storm 一开始就是为实时处理设计,因此在实时分析/性能监测等需要高时效性的领域广泛采用,而且它理论上支持所有语言,只需要少量代码即可完成适配器。

- 阅读剩余部分 -

下载配置 iTerm2 的相关脚本:
这里是下载地址 https://github.com/mmastrac/iterm2-zmodem
将 iterm2-recv-zmodem.sh 和 iterm2-send-zmodem.sh 下载到本机,然后将它们放到/usr/local/bin目录下。
这两个文件赋予可执行权限:
chmod +x /usr/local/bin/iterm2-send-zmodem.sh /usr/local/bin/iterm2-recv-zmodem.sh

配置 iTerm2:
找到 iTerm2 的配置项:iTerm2的Preferences-> Profiles -> Default -> Advanced -> Triggers

配置项如下:

Regular ExpressionActionParametersInstant
rz waiting to receive.**B0100Run Silent Coprocess/usr/local/bin/iterm2-send-zmodem.shchecked
**B00000000000000Run Silent Coprocess/usr/local/bin/iterm2-recv-zmodem.shchecked

尤其注意最后一项,需要将 Instant 选项勾上,否则将不生效。
iterm2-lrzsz.png

美丽的七侠镇上有一条美食街,很多著名的饭店都开在这里,有老字号的 Apache、PHP, 最近几年火热的 Ruby on Rail,还有那些重量级的餐饮集团 Websphere、Weblogic 等。
这些饭店老板根据自己的实力,或多或少的雇佣了一些店小二来招待来客,这些小二干活都非常殷勤,没有一个偷懒耍滑,把顾客招待的舒舒服服,所以平日里饭馆运转的还不错,相安无事。
但是随着《武林外传》的拍摄和播放,七侠镇旅游业大爆发,游客像潮水一样蜂拥而至,现有的店小二招待不过来了,到了饭点,每家的门前都排起了长队,游客们吃不上饭,个个怨声载道。
看到这种情况,有些老板咬了咬牙,在人工费不断上涨的情况下,多雇了一些小二来帮忙,无奈总是赶不上顾客增长的速度。
某一天有个美国老外来到七侠镇上旅游,也看到了吃不上饭的问题,他仔细分析了一番后发现了一个秘密:原来这些店都采用了同一套叫做“全程贴心服务”的模式,这个模式很有意思:客人来了以后,马上有个店小二殷勤迎上去,带着找座位,点菜,给后厨下单。由于后厨做菜需要很长时间,店小二就在客人的旁边等着。后厨一摇铃铛,大喊一声:上菜,店小二马上端到客人面前,然后站在一边等着客人吃完。客人说:结账,小二收钱,找钱,送客,迎接下一位。通常这个时候门口都排成了好几百人了!
这个 VIP 服务实在是太贴心了!导致的结果很明显,饭店有几个店小二,就只能同时接待几个顾客。
老外一声不吭的回去了。
过了几个月,美食一条街上出现了一个巨火无比的饭馆:NodeJS
虽然这个饭店中人满为患,可门口竟然没有排队的!
更让人吃惊的是,这个店里声称:我只需要一个店小二。

- 阅读剩余部分 -

创建模块目录结构

[root@lost1 modules]# tree /etc/puppet/modules/
/etc/puppet/modules/
└── push
    ├── files
    │   └── puppet-test
    ├── manifests
    │   └── init.pp
    └── templates
4 directories, 2 files

- 阅读剩余部分 -

查看证书。

[root@lost1 ssl]# puppet cert --list --all
+ "lost1.com" (SHA256) 63:6B:DE:7E:E6:DA:68:71:90:23:42:64:19:9F:A1:36:B7:14:D8:56:3C:8E:AD:C9:E9:2E:DC:4E:81:FF:33:8F (alt names: "DNS:lost1.com", "DNS:puppet", "DNS:puppet.com")
+ "lost2.com" (SHA256) 56:BE:3A:B5:6C:5C:73:7E:31:0C:30:88:49:3E:9D:E5:37:D1:61:F9:C4:6C:66:75:46:0D:6A:4B:6D:8D:A6:99
+ "lost3.com" (SHA256) 8F:53:A5:BC:1E:BA:11:DF:AB:8E:86:C3:C9:5E:9C:F4:F2:67:E6:76:EA:E5:58:13:2D:B2:39:12:79:66:F2:A3

撤销证书。

[root@lost1 ssl]# puppet cert revoke lost2.com
Notice: Revoked certificate with serial 4
[root@lost1 ssl]# puppet cert --list --all
+ "lost1.com" (SHA256) 63:6B:DE:7E:E6:DA:68:71:90:23:42:64:19:9F:A1:36:B7:14:D8:56:3C:8E:AD:C9:E9:2E:DC:4E:81:FF:33:8F (alt names: "DNS:lost1.com", "DNS:puppet", "DNS:puppet.com")
+ "lost3.com" (SHA256) 8F:53:A5:BC:1E:BA:11:DF:AB:8E:86:C3:C9:5E:9C:F4:F2:67:E6:76:EA:E5:58:13:2D:B2:39:12:79:66:F2:A3
- "lost2.com" (SHA256) 56:BE:3A:B5:6C:5C:73:7E:31:0C:30:88:49:3E:9D:E5:37:D1:61:F9:C4:6C:66:75:46:0D:6A:4B:6D:8D:A6:99 (certificate revoked)

- 阅读剩余部分 -

清空 iptables 规则

vim /etc/sysconfig/iptables
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT

设置 ntp

[root@lost1 test]# ntpdate pool.ntp.org
24 Feb 11:24:55 ntpdate[2540]: step time server 202.112.29.82 offset -28798.519271 sec
[root@lost2 test]# ntpdate pool.ntp.org
24 Feb 11:25:00 ntpdate[2648]: step time server 202.112.29.82 offset -28798.248673 sec
[root@lost3 test]# ntpdate pool.ntp.org
24 Feb 11:25:04 ntpdate[3528]: step time server 202.112.29.82 offset -28798.070055 sec

- 阅读剩余部分 -