Rancher Labs公司产品  http://rancher.com/

Rancher Labs 公司目前有2个产品。

  • Rancher Docker容器管理平台
  • RancherOS 一种适合Docker运行的Linux发行版,类似于CoreOS

Rancher Docker容器管理平台

如果说原生的Docker是一个一个集装箱,Rancher可以比喻成集装箱船,平台化管控,带着应用航行。

rancher 承载 docker

rancher 承载 docker

 

Docker环境安装

以下是在CentOS7的环境下安装Rancher

Docker官方安装方式

curl -sSL https://get.docker.com/ | sh

在国内环境下利用DaoCloud加速安装Docker环境

curl -sSL https://get.daocloud.io/docker | sh
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://你的daocloudID.m.daocloud.io #设置国内镜像加速下载
systemctl start docker.service #CentOS7 启动docker
systemctl enable docker.service #CentOS7 开机自启动docker
docker version #查看docker版本
docker info #查看docker信息
sudo service docker status #查看docker状态

安装Rancher Management Server 管理端

docker run -d --restart=always -p 8080:8080 rancher/server

安装Rancher Agent 被控端

主控端IP:8080 http://192.168.33.11:8080/ > Add Host
复制第五步的内容到被控机安装

sudo docker run -e CATTLE_HOST_LABELS='center=localdev&host=dev'  -d --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.0.2 http://192.168.33.11:8080/v1/scripts/31B86F01A71423902C9F:1474722000000:zRPBZeQo9rLTzrnTvhdfKRyBh3o

说明

安装好“Rancher Agent 被控端”后,就可以在 “Rancher Management Server 管理端” 管理、部署docker了
rancher没多少中文资料,直接看官方文档

扩展

Rancher支持&文档
Rancher 实战红宝书
DockerInfo Rancher
Docker编排工具调研:Rancher
都说要做细分,Rancher Labs想通过大而全的功能,帮助Docker完成在大型企业的落地
容器服务如何在企业客户落地?Rancher解决之道分享

 

微型电脑intel Skull Canyon NUC6i7kyk 骷髅峡谷配置单/性能测试

总体感觉:性价比并不高,买它不是图性价比,而是喜欢这小东西

集成显卡:玩守望屁股(守望先锋)也是可以的

CPU温度:总体讲温度有点高,空载的时候温度有40-50°,满负荷的时候温度能达到100°,注意做好降温处理

 

我的配置单详情

主机:intel Skull Canyon NUC6i7kyk

内存:Kingston HyperX Impact DDR4 2400MHz 16G   *  2

硬盘:Samsung SSD SM951-NVMe 512GB

显示器:戴尔(DELL) U2417HA 23.8英寸带臂架四面超窄边IPS屏显示器

键盘:  海盗船K70 惩戒者 红光

鼠标:罗技G302

 

某宝购买记录

微型电脑intel Skull Canyon NUC6i7kyk 骷髅峡

微型电脑intel Skull Canyon NUC6i7kyk 骷髅峡

某国产大师跑分

微型电脑intel Skull Canyon NUC6i7kyk 骷髅峡 鲁大师跑分综合

微型电脑intel Skull Canyon NUC6i7kyk 骷髅峡 鲁大师跑分综合

完整的评测包含非常详细的跑分,评测

微型电脑最强音,Intel NUC Skull Canyon NUC6i7KYK 开箱拆解评测

 

介绍

ELK是业界标准的日志采集,存储索引,展示分析系统解决方案
logstash提供了灵活多样的插件支持不同的input/output
主流使用redis/kafka作为日志/消息的中间环节
如果已有kafka的环境了,使用kafka比使用redis更佳
以下是一个最简化的配置做个笔记,elastic官网提供了非常丰富的文档
不要用搜索引擎去搜索,没多少结果的,请直接看官网文档

采用的ELK/kafka版本

elasticsearch-2.x
logstash-2.3
kibana-4.5.1

Kafka 0.9.0.1

应用/网络 环境

Nginx机
10.0.0.1

Kafka群集
10.0.0.11
10.0.0.12
10.0.0.13

ElasticSearch机
10.0.0.21

整体说明

数据流向

日志/消息整体流向
logstash => kafka => logstash => elasticsearch => kibana

安装

elk所有安装都可以使用rpm二进制包的方式,增加elastic官网的仓库repo就可以用yum安装了

elasticsearch看这里
https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-repositories.html

logstash看这里
https://www.elastic.co/guide/en/logstash/current/installing-logstash.html

kibana看这里
https://www.elastic.co/guide/en/kibana/current/setup.html

安装概览

nginx机 10.0.0.1
运行nginx的日志格式化为json
运行logstash输入input从nginx json,输出output到kafka

kafka群集 10.0.0.11 10.0.0.12 10.0.0.13
kafka群集Topic为logstash

elasticsearch机10.0.0.21
运行elasticsearch
运行logstash输入input从kafka,输出output到elasticsearch

Nginx机

nginx日志格式化为json

在nginx的 http{} 中定义一个名为logstash_json格式化,格式化日志为json

log_format logstash_json '{ "@timestamp": "$time_local", '
'"@fields": { '
'"remote_addr": "$remote_addr", '
'"remote_user": "$remote_user", '
'"body_bytes_sent": "$body_bytes_sent", '
'"request_time": "$request_time", '
'"status": "$status", '
'"request": "$request", '
'"request_method": "$request_method", '
'"http_referrer": "$http_referer", '
'"body_bytes_sent":"$body_bytes_sent", '
'"http_x_forwarded_for": "$http_x_forwarded_for", '
'"http_user_agent": "$http_user_agent" } }';

在server{} 中增加记录logstash_json日志,可以用原有的日志输出共存

access_log /data/wwwlogs/iamle.log log_format;
access_log /data/wwwlogs/nginx_json.log logstash_json;

logstash日志采集配置

/etc/logstash/conf.d/nginx.conf

input {
file {
path => "/data/wwwlogs/nginx_json.log"
codec => "json"
}
}
filter {
mutate {
split => [ "upstreamtime", "," ]
}
mutate {
convert => [ "upstreamtime", "float" ]
}
}
output {
kafka {
bootstrap_servers => "10.0.0.11:9092"
topic_id => "logstash"
compression_type => "gzip"
}
}

Kafka群集

新建一个Topic

新建一个Topic叫做
logstash

Topic
每条发布到Kafka集群的消息都有一个类别,这个类别被称为topic。(物理上不同topic的消息分开存储,逻辑上一个topic的消息虽然保存于一个或多个broker上但用户只需指定消息的topic即可生产或消费数据而不必关心数据存于何处)

ElasticSearch机

logstash把数据从kafka存到elasticsearch的配置

其中选取kafka群集任意一个有zk的ip做连接使用
topic_id就是kafka中设置的topic logstash
/etc/logstash/conf.d/logstashes.conf

input {
kafka {
zk_connect => "10.0.0.13:2181"
topic_id => "logstash"
}
}
filter {
mutate {
split => [ "upstreamtime", "," ]
}
mutate {
convert => [ "upstreamtime", "float" ]
}
}
output {
elasticsearch {
hosts => ["10.0.0.21"]
index => "logstash-iamle-%{+YYYY.MM.dd}"
document_type => "iamle"
workers => 5
template_overwrite => true
}
}

补充说明

以上是主要的配置,就差kibana的查看/展示了

kibana

我这里kibana和elasticsearch是同一台机器
官方yum方式安装的kibana配置文件在
/opt/kibana/config/kibana.yml
需要改2个地方,监听端口和es的连接信息

server.host: "10.0.0.21"
elasticsearch.url: "http://10.0.0.21:9200"

启动kibana /etc/init.d/kibana start后可以通过 http://10.0.0.21:5601 访问

kibana的使用的多看官网文档,网上中文的资料不多,关于elk有一本饶琛琳写的
ELKstack 中文指南
https://www.gitbook.com/book/chenryn/kibana-guide-cn/details
kibana Discover 过滤静态文件
NOT \/static AND NOT \/upload\/

elasticsearch

官方yum方式安装的elasticsearch配置文件在
/etc/elasticsearch/elasticsearch.yml
需要配置下监听ip,默认是127.0.0.1

network.host: 10.0.0.21
path.data: /data

elasticsearch安装了head插件后可以看到es状态
http://10.0.0.21:9200/_plugin/head/

安全问题

特别要注意elk所有软件的端口监听,切勿暴露监听到公网上去,另外即便是内网你也得注意配置内网的访问限制

抓取mysql执行的sql语句

tcpdump -i eth1 -s 0 -l -w - dst  port 3306 | strings

抓取mysql通讯的网络包(cap用wireshark打开)

tcpdump -n -nn -tttt -i eth0 -s 65535 'port 3306' -w 20160505mysql.cap

各种远程抓包方法

 -s 0 -w /tmp/sniff.pcap port  # On the remote side
mkfifo /tmp/fifo; ssh-keygen; ssh-copyid root@remotehostaddress; sudo ssh root@remotehost "tshark -i eth1 -f 'not tcp port 22' -w -" > /tmp/fifo &; sudo wireshark -k -i /tmp/fifo;
ssh user@server.com sudo tcpdump -i eth0  -w - 'port 80'| /Applications/Wireshark.app/Contents/Resources/bin/wireshark -k -i -
ssh root@HOST tcpdump -iany -U -s0 -w - 'not port 22' | wireshark -k -i -

参考资料
analyze traffic remotely over ssh w/ wireshark

微服务(MicroServices)资料整理

微服务单篇文章

解析微服务架构

微服务实战

英文

中文

S++

S++通过对传统服务的定义进行扩展,重新定义了服务这个最基本的概念,第一个plus加入业务与技术分离,第二个plus加入服务多态这两个新的特点。这使得S++继承了SOA和微服务的优点,更进一步的降低了服务的复杂度、提高了服务的抽象度,使得服务更加易于管理和使用。后面我们会看到,基于S++定义衍生出的各种特点在业务和架构层面对传统技术造成的巨大冲击和改进,必然使S++替代传统的SOA和微服务,成为未来企业应用开发和集成技术的主流。

S++理论系列文章

 

RPC REST相关

安全

其他

乐视电视超3 x40 蓝牙连接 小米电视音响2代

步骤1  乐视电视开机, 小米电视音响2开机(ps:低音炮和Soundbar音响之间无线自动连接)  

步骤2 乐视电视遥控器>设置>配件>蓝牙设置>蓝牙开启>找到 小米家庭音响 配对

步骤3 乐视电视遥控器>设置>声音>扬声器>选择 外接音响 (ps:电视的声音已经输出到小米音响上了, 乐遥控器上的声音控制无效 按键会显示 请在外接音响上调节音量)

小米电视音响2代 音量调节方法

① 直接在Soundbar上物理按键调节音量

② 手机APP上调节 音量和低音炮  安卓下载网址 http://app.mi.com/detail/64097?ref=search 

在小米电视音响和乐视电视已经连接的情况下,手机上的 小米家庭音响 app 可以控制调整小米电视音响的音量和低音炮

小米电视音响

小米电视音响