新疆团建

本文目录结构

开篇

今年(2019)团建去的新疆 ,回来发现后发现很多其他部门的人也都去的新疆 , 明显去新疆的人在增多。 新疆(古称西域)占中国国土总面积六分之一,常住人口2486.76万人,这么大的一个省与深圳市人数相当,回来最大的感觉人少、风景美、有美食和少数民族的美女真的,非常值得一去。为什么考虑去 新疆 ,也许是之前立的一个flag吧,也许也许。

常见问题

#############################################################################

时间与费用
我们行程时间为2019.6.11 - 6.16日下面有行程路线图,从深圳飞往乌鲁木齐 价钱大概在人均8000千元,费用主要集中在交通和住宿上,其中走 独库公路 费用最高人均要1200元,因为 独库公路 只能跑小车或越野车,一车4个人就4800元,但后续查看譬如飞猪网站一个车的费用在3000左右这里当时我们的旅行社报价略高。

是否安全
在召集团友的过程中,有人也会关注新疆 是否安全。回来可以说 新疆真的是非常非常非常的安全,去任何地方都要检查身份证(一个同事上厕所都被扣下查身份证),可以说没有身份证真是寸步难行。

是否需要带现金
因为在 深圳 用移动支付习惯了,出门基本不带钱包和现金,所以很关心新疆的网络信号在偏远地区是否有问题,新疆移动支付是否方便。回来感觉新疆与深圳差别不大,本地人都习惯用微信或支付宝,新疆网络信号也非常的不错与稳定。

#############################################################################

行程

行程细节

####################################################################

Read More

Datadog公有云SaaS监控服务

Datadog (https://www.datadoghq.com/) 是一款监控和统计分析工具主要应用在IT公司和DevOps团队,为这些企业或用户提供完整的SaaS监控服务(软件即服务,全称Software-as-a-Service),包括查看到整个服务的性能、基础设施状态、指标和事件告警等。 Datadog支持多种操作系统环境包括Windows、Linux\UNIX和Mac等,也支持常见的云服务提供商这些服务商包括AWS、微软、Red Hat OpenShift和谷歌云等,另外,按网络环境划分公有云、私有云和混合云,目前Datadog都能支持与管理。以下通过标签的方式来介绍Datadog的使用。


本文目录结构


Datadog酷炫视频

通过以下视频可以更快速直观的了解Datadog。

公司发展历史

Datadog 成立于2010年总部位于美国纽约,截至2017年Datadog已筹集了六轮融资,总额为1.5+亿美元。(以下数据来源天眼查 https://www.tianyancha.com/brand/b8ce0169057)

谁在用Datadog

外国很多软件服务商都在官方网站显著的位置展示了哪些牛逼的公司在用它的产品,视乎在告诉你我的软件好不好看谁在用我就知道了。Datadog也不例外,它的用户包括Twitter,Sonos,Airbnb,WeWork,Medium,诺基亚,Ubisoft,三星和Zendesk等,关于这里更多信息可以参考: https://www.featuredcustomers.com/vendor/datadog/customers。

Datadog监控的优势 vs 不足

我们先从客观角度来看很多开发者用户为什么选择Datadog见以下截图(以下数据来源 https://stackshare.io/datadog )。

综合以上数据并结合自己的观点来说一下Datadog的优势与缺点。

优势

从统计数据可以看到,排名前三的原因分别是:

  • 全监控体系包含各种应用(数据库、WEB服务等);

  • 非常简便的安装方式(很多intergrations(集成服务)在最多1~2分钟内可以部署完毕),只需要在所负责的机器上安装一个Datadog的Agent就可以实现监控数据的收集上报,当服务器规模庞大时它还支持类似Puppet软件来批量安装。

  • 开箱即用、功能分类清晰、界面交互性强、问题跟进与处理有相应的流程。
    不足
    Datadog真的非常优秀,但如果一定要鸡蛋里挑骨头说它的不足,我觉得可以分为三点:

  • 服务端代码不开源看不到具体实现的逻辑,在复杂的场景下出现异常不可控。

  • 国内购买的服务器下载Agent超时严重,需要使用代理下载。

  • 它是一款收费的SaaS监控服务。

Datadog主要的监控功能

Datadog监控功能强大覆盖面广有完整独立的监控体系,如果把监控体系比作一个金字塔,我们来看一下金字塔各层的功能与监控细节。

Agent 相关

Datadog为C/S架构,其中Server端闭源,Client端开源(Client端代码地址见:https://github.com/DataDog/datadog-agent) 。目前Client端代码主要分为两个版本分别为v5和v6版本,推荐使用最新的v6版本与老版本 v5相比,v6版使用Golang进行了重写有着更好的性能,也更加精巧同时向下兼容版本功能。v6版本同时支持收集基础设施指标,日志和接收DogStatusD指标等功能,并暴露以下几个端口(5002端口仅会监听在Windows和OSX操作系统上)向外提供服务。

端口 用途
5000 Agent服务器端口
5001 由代理CLI和GUI用于从正在运行的代理发送命令和提取信息
5002 服务于Windows和OSX上的GUI服务器。
8125 用于Dogstatsd服务器接收外指标。

Agent对服务器资源消耗以6.7.0版本测试为例,CPU平均在0.12%,磁盘(Linux350~400MB , Windows 260MB) ,带宽消耗上行86B/分钟,下行260B/分钟,可以看到整体消耗资源还是非常小的。

Read More

InfluxDB 安装

目前InfluxDB提供了多环境的支持,这些环境包含常用的UNIX/Linux、MaxOS和Windows环境等,除了源码编译外这些环境都不用额外安装Golang语言开发包。本书主要以InfluxDB1.7.4这个稳定版本来学习,软件下载地址见官方网站 https://portal.influxdata.com/downloads/。

在安装InfluxDB前还需要注意以下4点:

  • 安装时需要使用root或管理员权限;
  • 默认情况下InfluxDB监听了两个端口8086和8088,其中8086端口是客户端连接InfluxDB服务端的HTTP API,8088端口是RPC服务主要用于数据的备份与还原使用。除了这些端口外InfluxDB还提供了一些自定义插件的端口,所有的这些端口可以通过InfluxDB配置文件来修改,该文件默认安装情况下位于/etc/influxdb/influxdb.conf。关于每个端口的具体用途我们就不一一介绍,读者可以参考官方文档https://docs.influxdata.com/influxdb/v1.7/administration/ports/ 了解它们;
  • InfluxDB使用本地的UTC时间作为数据的时间戳。我们可以通过NTP(Network Time Protocol,中文翻译网络时间协议)服务作为主机之前的时间同步,如果时间出现异常,数据的时间戳也会错误。
  • InfluxDB启动后要确认防火墙(iptables)是否已经开通了8086和8088等主要端口的访问,确认方法如下:

确认防火墙是否已经开通了8086和8088的端口访问

1
2
$ sudo iptables -L -nv --line | grep 8086
$ sudo iptables -L -nv --line | grep 8088

在防火墙默认开启的情况下,以上命令如果未grep到8086和8088端口,需要增加防火墙的授权策略,开启8086和8088端口访问本机,命令如下所示:

开启8086和8088端口的访问

1
2
$ sudo iptables -I INPUT 1 -p tcp --dport 8086 -j ACCEPT
$ sudo iptables -I INPUT 1 -p tcp --dport 8088 -j ACCEPT

下面让我们开始学习在各环境下的InfluxDB的安装。

1.RedHat & CentOS 环境
我们通过官方提供的RPM包方式来安装InfluxDB,具体安装方式如下:

1
2
$ wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.4.x86_64.rpm
$ sudo yum localinstall influxdb-1.7.4.x86_64.rpm

通过sudo service命令启动InfluxDB。

1
$ sudo service influxdb start

2. Ubuntu & Debin 环境

我们通过官方提供的Deb包方式来安装InfluxDB,具体安装方式如下:

1
2
$ wget https://dl.influxdata.com/influxdb/releases/influxdb_1.7.5_amd64.deb
$ sudo dpkg -i influxdb_1.7.5_amd64.deb

通过sudo service命令来启动InfluxDB。

1
$ sudo service influxdb start

3 Max OS X & OS X 环境
在MaxOS环境下官方提供了两种方式来安装InfluxDB:

方式1:
通过压缩包来安装。

1
2
$ wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.4_darwin_amd64.tar.gz
$ tar -xvzf influxdb-1.7.4_darwin_amd64.tar.gz

使用sudo Influxd命令+配置文件的方式来启动。

1
2
3
$ cd ./influxdb-1.7.4-1/usr/bin/
$ sudo ./influxd -config ../../etc/influxdb/influxdb.conf &

方式2
通过brew来安装InfluxDB。brew是Mac下的一个包管理工具类似于CentOS下的Yum。
首先来安装brew。

1
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

通过brew命令来安装InfluxDB。

1
2
$ brew update
$ sudo brew install influxdb

启动InfluxDB。

1
$ sudo brew services influxdb start

使用brew services命令来确认启动是否成功。默认情况下会显示InfluxDB的运营状态。

1
2
3
4
$ sudo brew services list    
Name Status User Plist
elasticsearch stopped
influxdb started /Users/djangowang/Library/LaunchAgents/homebrew.mxcl.influxdb.plist

Read More

Shell企业级应用

写在前面

本书还托管在看云,地址 https://www.kancloud.cn/djangowang/linux_bash_enterprise/2110024

开篇

欢迎阅读《Shell企业级应用》,笔者平日工作有些忙大部分是业余时间来整理,由于个人能力有限如有刊误请邮件8851970@qq.com谢谢。

为什么写这本书

最近在转型,从一名运维工程师转型到产品经理,做了多年的运维写了多年的程序总是在与机器打交道,如果把我做的事情比作程序语言,之前的工作经历更多的像程序中的常量没有变化,后续更多希望与人打交道而人更像变量,我想这也可以更多的丰富我的人生经历,所以在这个背景的基础上整理了《Shell企业级应用》这本书也是对过去的一个总结,在整理资料的过程中吃惊的发现多年前甚至在上学时整理的资料目前依然适用,重新整理其实也是重新学习它的过程,这里我也在想多年前的人是在什么基础上设计出了这么nb的系统直到目前依然适用且目前还看不到边际,我们从中学到的不应该是程序而是做事情的一些方法。

我在最早接触Shell编程时应该看得是《Shell编程第三版》这本书不过很早就已经绝版了,我看到的应该是印刷的版本这本书反复看了几次,随着时间推移每看一次都会有新的收获确实是一本不错的书除了这本书外还看过一本可口可乐公司系统管理员写的Bash在企业应用的书,另外就是网上当年Chinaunix.net一些热心人士整理的文章,推荐的网络版本书等,但是发现这些书大部分情况没有结构和连贯性,所以将这些书进行了汇总并由浅入深结合自己的工作经历和经验来介绍Bash学习过程,希望对大家能有帮助。

最后,这本书送给Bash设计者和曾经的参与者也送给自己还有那些懂得珍惜时间的人。
2018.11.3 by 研究僧 * 深圳南山科技园。


1.Shell编程基础

2.变量

3.Bash符号相关

4.内建命令与外部命令

5.read命令

6.条件语句

7.Bash循环&&分支语句

8.正则表达式

9.子Shell和受限Shell

10.函数与函数的加载

11.Bash脚本风格

12.Bash脚本调试

13.sed&&awk

14.awk

15Bash杂项&&案例

16.10.2.案例

印度洋的明珠-斯里兰卡团建

本文目录结构

写在前面

一年一次的公司团建又开始了,我比往年参团要早些去年是9月今年是7月感觉像没过多久一样,其实也是正好内部成了民主团今年目的地就是标题的斯里兰卡,在没去斯里兰卡前我对他了解不是很多甚至成团后我还查了一下他的具体位置,有同事说如果要想看海又想看高山可以选择斯里兰卡也正因为这个我最终选择了斯里兰卡,以下介绍了斯里兰卡5天4晚的行程,整体分为三个部分:

  • 总结
  • 必备物品
  • 具体行程

总结

  1. 衣: 斯里兰卡虽然在热带,但是并没有想象那么热因为是一个岛国面朝大海有温度调节的作用,内陆地势又比较高相对比较凉爽。
  2. 食:很多同学说吃不惯当地食品,我个人觉得还可以当然旅游团也尽量帮我们安排了中餐,我看旅游行程中当地的导游吃的都是鸡肉、咖喱和手抓饭之类的,当然我们也会吃个人觉得适当换口味没有问题但估计如果长期居住在这就会有些不适应了。
  3. 住:整体行程旅店还是非常不错的,都有自己的游泳池和沙滩面朝印度洋非常不错,斯里兰卡是一个岛国,主要经济支柱靠旅游、农产品(茶)和港口贸易等所以旅游的设施如旅馆相对都还可以,但不能与国内旅馆比。
  4. 行:行程不是那么紧,每天早上9点出发,晚上8点到旅店,斯里兰卡如果自己去玩的话很多东西都可以忽略,但个人感觉那个海边火车、佛牙寺还是可以都值得体验一下的剩下的就是观海了因为他面朝印度洋且海浪很大适合冲浪。
  5. 文化:斯里兰卡是一个信仰比重人数较高的国家路上到处都是各种教堂与寺庙,你可以在这里了解当地的文化和背景,我还回来特意了解了一下印度教和佛教的一些区别,刷新了我之前对这里的了解。
  6. 其他:
  • 斯里兰卡属于英联邦的成员,母语是英语但是听起来有些怪,非英音非美音。
  • 去时导游说那里有点像80年代中国让我们做好心理准备,去后感觉确实比较破一些但是当地的那种文化还是非常不错的。
  • 当地人比较好客喜欢和你打招呼,当然有些景区也有人不断的在向你推销一些本地特产,哪里都有好人也有坏人,斯里兰卡总体来说还是比较好的。
  • 因为斯里兰卡人口不是很多,很多地方比较原生态有猴子、蛇和本地的一些动物旅游时还是需要注意别被骚扰到。
  • 感觉斯里兰卡消费有些高,但后来在网上查实际并不应该有那么高,所以和国内一样应该是旅游景点附近的东西相对比较贵,但这里也可以讲价钱
  • 前可以简单做一些攻略,譬如你可以看完我这篇游记,我是去前在网上找了一些游记看了看,另外也在喜马拉雅电台上找了一些斯里兰卡的音频游记听了听还是有一些准备的。

必备物品
多功能转换插头(如下截图多个usb接口很方便)、驱蚊水、防水袋、冰袖、帽子、防晒霜、小背包、雨伞、护照+电子签证、银行卡、数据线、丝巾、牙膏(当地旅店不提供)、纸巾和拖鞋等,其他物品根据自己情况而定。


Read More

宝岛台湾团建

本文目录结构

磨磨蹭蹭终于写了个大框 台湾 游记(行程时间:2017.9.19-9.24),整个感觉 台湾 值得一去,以下是一些小体会:

  1. 台湾 旅游比较成熟不会出现宰客现象,旅游设施也比较齐全。
    2.消费感觉略高于 深圳 的平均水平,一顿饭大约在30元左右。去大的餐馆是有服务费的大约是整个餐费10%。
    3.景色宜人,特别是海边。
  2. 台湾 经济感觉有些萧条,虽然平均GDP还高于大陆但感觉不可持续,希望能早日回归。
    5.去 台湾 故宫有人说比较枯燥,但我比较喜欢,去时还要做好攻略,因为每一个藏品都有他悠久的历史和藏在它身上的故事,所以要提前做攻略。
    6.貌似 台湾 除了水果也没什么特产,像凤梨酥比较有名,但是和国内去 厦门 吃也没什么区别,还比较贵。
    以下这张图是iphone里在 台湾 每个地区拍的照片汇总截图:

###################################################################

整体行程

Day1 深圳 -> 香港 -> 台南 -> 垦丁
Day2 垦丁
Day3 垦丁 -> 宜兰
Day4 宜兰 -> 台北
Day5 台北
Day6 台北 -> 香港 -> 深圳
6天行程中从 台湾 的最西南到 台北 的东南,基本玩边了半个 台湾 。 那我从第一天行程开始介绍,整个旅游过程。
###################################################################

Read More

Docker3.0项目总结

开篇

我们在2015年中的时候就在做Docker1.0(琥珀),当时主要针对离线场景到2016年初琥珀已经小有规模同时也解决了很多生产环境的问题得到大家认可。在2016年3月份中心内部开始讨论要做在线Docker版本,而这只是需求并不是目标,所以我们当时针对中间层(spp)业务进行了调研,设定了目标做业务的弹性伸缩,主要是通过Docker来解决资源的快速扭转,大家用机器时可以更方便拿到,另一方面是减少人为参与上下线,将有限的人力放到更重要的位置让大家能快速成长与学习。
围绕这一小目标, 从2016.3.31发出一封Docker邮件到目前已经有一年多了,内部经历了多次的PK,从技术选型、是否使用开源、人力的配备、项目的优先级等,外部也遭到很多的质疑,为什么搞了这么久没有上量,Docker搞了那么多版本有什么意义、Docker的长期目标是什么,是否可以保持现有体验等等。总感觉项目走在十字路口,选每条路都是对的,但每一条路都未必捷径,总是被挑战中,这里我承认有一点根本原因是,理想很丰满,现实很骨感,我们在谈理想时嘴上总挂着我们要把我们的运营系统往前在走一小步,多么美丽的理想,而落地到现实时,我们需要更多的时间、需要人力、需要每个人情怀、需要顶住外界压力、寻找更多合作团队一起努力才能达到目标。而这并非易事,本邮件主要总结我们在运作项目中遇到的问题、我们的思路、大家对项目的疑问等。

如何开发一个项目

因为我个人并不是专业的项目经理,所以项目开发的过程也是我学习的过程也在思考如何能把整个项目能做的更好能尽快达到短期小目标。前期我参考了软件工程的方法论需求分析、概要设计、详细设计、测试、维护和用户手册等,但感觉并不十分实用于互联网的项目管理,譬如详细设计基本拿到文档就可以开发写程序,而目前我们还做不到这样的详细设计。后期我参考了《打造Facebook》一书其中的一章个人感觉还是比较试用的,但再原有的基础上我也补充了一下本项目开发过程中的案例。

打造Facebook Docker项目
描绘远景,设置目标; 描绘远景,设置目标;
收集想法并排出优先级; 收集想法并排出优先级
跨团队沟通 跨团队沟通
告诉所有可能关心的人 设计产品
设计产品 指定责任人
指定责任人 定期碰头
定期碰头 了解进度,汇总报告
了解进度,汇总报告 发布产品监控数据
发布产品监控数据

描绘远景,设立目标

开篇中提到要寻找更多的合作伙伴才能达到目标,所以项目建立之初一定要描绘远景、建立短期、中期和长期目标,这样在不同的时间需要伙伴与切入点才一幕了然。以下使我们项目的一个基本项目流程图

Docker项目流程图

Read More