最近博客更新的少了,相对而言,我在自己的个人公众号里还是挺活跃的,大家可以扫描旁边的二维码,或者微信搜索公众号:“编程一生”加关注。

  在分布式的年代,一个应用需要部署到多台服务器上。那么要查看日志文件咋办?一台台的查?这年头还真有这么干的。多服务器终端交互利器有不少。最流行的是polysh。atnodes据说“去哪儿”在用。

polysh这种跨机器的,想想就知道需要做多台机器的ssh免密码登陆,比较麻烦,所以建议一个团队用一个公用目录来装,大家统一用这个账户来操作即可。安装和使用方法大家自行百度吧。主要想说的是现在python脚本和shell脚本一样,已经成了程序员的必备技能。

  而polysh是一种思维方式。如果一件事情你觉得重复麻烦的,必然会有一个工具能代替你做事情。举个例子,刚才提到需要多台机器的ssh免密码登陆。这个时候要所有服务器的autorized_keys文件都要写入polysh所在机器的公钥。那么这时候一定有简单的办法,就是key2nodes命令(将key写入服务器节点)。

  key2nodes是SSH::Batch提供的强大的的批量工具之一。其他工具还包括atnodes和tonodes。atnodes可以在目标集合上同步批量执行命令或者脚本。tonodes可以将文件批量上传到集群制定位置。

  像查看日志这种对系统安全危害小的,又常用的服务。既然可能多服务器终端交互,自然可以不用登陆跳板机,用一个网页形式来替我们完成这个功能,我们习惯上把这个叫做实时日志。这个可能公司内部的基础设施部门自己搭建。

  更高逼格一点的基础设施就是日志中心了。

  日志中心的架构思路各个公司间总体还是差不多的。我们磁盘上有日志,日志有一些通用格式。日志中心的进程会监控日志的变更,将增量通过消息队列收集到数据平台。数据平台进行数据计算,将计算结果可视化。现在所谓的大数据大多也是这种思路嘛。

  除了上面说的本地磁盘手机之外,比较常用的收集方式还有SDK上报和APP端上报。对java来说,现在比较流行的日志组件有原生的log4j2、logback。还有scribe-log4j2来自定义ScribeAppender。还有日志格式化工具Xmd-log4j2。

  比较简单的实现思路上:消息队列用kafka,上传到ES集群,建立索引后,用kibana做可视化。我们作为使用的业务方来说,除了简单了解架构,按照文档进行相应的配置之外,还需要了解DSL(Domain Specific Languae),即领域专用语言。如果使用ES的话,这个DSL就是ES的语法。

跑题时间:

  天冷了,是低调的缩被窝的季节。

  国庆节过完happy的八天长假。上班第一天下雨,晚上照例打车可以报销我还是一个人拉着大箱子坐地铁,然后自己把箱子搬上没有电梯的6楼。我问别的女孩子,你遇到这种情况会不会觉得很凄凉。MM说会啊,女孩子应该矫情一点。我当时没有任何觉得凄凉,反而很感谢婆婆装箱子的时候被子用塑料布包起来了。晚上睡的很暖和。

  人家说好的爱情不是雪中送炭,是锦上添花。但是所有让人泪流满面的电视剧都是天时地利人和。我需要的时候,你也在那里。锦上添花的爱情听起来很美,只是锦上添上什么花都会很美,到底什么来确保你是唯一。人随着年龄的增长,自己能做的越来越多,越来越不需要别人,锦上添花可以有,雪中送炭难求。所以我觉得人应该感谢现在还年轻,一无所有的自己,起码有机会遇到那个会在自己需要的时候出现的那个人。

  越努力越幸福。很多年前看《你给的夏天》一直记着这句话。日语的,原文是“頑張れば、幸せになれる”。这半年,我的家人在各方面都给了我巨大的支持。但是,工作上,总是一波未平一波又起。别人总是在追求更好的东西。我工作上就一个目标:不失业。做起来却已经很难。别人换工作,经常是休息调整一下,我换工作,从来都是马不停蹄,没有一个工作日是处于无工作状态。这样,还是总是在担心未来会怎样。

  微信里有个“鬼脚七”的好友,前阿里高管,已经财务自由,做着自由媒体人。人家过的自然好,我却不想过这样的日子。我需要对未来的担忧,对现在的奔波,现实和理想是有碰撞的。生活太过理想化,人会很容易掉进唯心主义的漩涡。

  爸爸、妈妈因为是医生,在小县城里算是收入不错又受人尊敬的职业。但是人年纪大了,会越来越固执,觉得自己很厉害。我爸经常开口就是:“你不懂”。然后什么什么的。我妈五年前去世了,这么多年我经常会做梦梦见她还活着。然后梦里会对自己说我醒着的时候一定是弄错了,现在才是对的,看,我妈还活着。可五年前我妈活着的时候我的日子并不好过。她在家乡,我在外地。每周我给她打电话都需要很大的勇气。她总想掌控我的生活,她根本不能完全考虑我的实际情况,却要我一切都听她的。我怀孕的时候,每次打电话都是很强硬的让我做这做那。每次打完电话我都不开心。然后我就找借口跟她吵一架,不跟她打电话了。最后还是男神在小鲜肉出生的时候瞒着我给我妈打了电话。我妈从那以后对我说话谨慎多了,但是最后还是因为她的固执丧失了生命。

  我要的东西很简单,也很容易满足。女汉子一条,像个lady一样站在旁边看男孩子为我做体力活,那只是出于礼貌。就好像之前在日本的时候,因为日本的习惯,女孩子吃的太多是件不太好意思的事情。所以一个日本客人把旁边一个女孩吃的一大堆虾壳用餐巾纸盖起来了。

  但是现在,我不应该只看自己已经有的,知道自己很幸运,珍惜自己拥有的。还要更多的看到自己没有的。这样会更谦虚、谨慎,吸收更多的东西,变成一个更不固执的自己。未来的路还很长,现在,不能止步。

多服务器终端交互利器--polysh和atnodes到高逼格日志中心的更多相关文章

  1. 多服务器操作利器 - Polysh

    多台服务器下的痛苦人生 分布式架构下的系统,可以说每个服务都是分别部署在多台服务器上的,有的甚至还需要多机房,在这种架构下可以说可以很好的做到了易扩展.容灾等功能.推荐的服务部署为一服务多机器.一机器 ...

  2. PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第四组(转)

    十:联机处理-可选项终端根据卡片行为分析的结果,执行对应的处理.若卡片响应联机,则终端发起联机操作.联机处理使得发卡行后台可以根据基于后台的风险管理参数检查并授权批准或拒绝交易.除了传统的联机欺诈和信 ...

  3. PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第三组

    七:终端风险管理-必选但包含可选步骤异常文件:终端检查应用主账号是否在异常文件列表(卡号黑名单)中.商户强制联机:商户可以将当前交易强制为联机处理.最低限额:控制交易当前交易金额或同一张卡片连续几笔交 ...

  4. PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第二组(转)

    四:脱机数据认证-可选终端进行脱机数据认证来,认证卡片.记住:对于某个事情,终端与卡片谁单独也说了不算,要二者都能干才能干. 终端依据卡片(AIP)和终端(终端性能)的支持情况,决定是否使用及使用哪种 ...

  5. PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第一组(转)

    两个PPT结合起来--一些基础介绍--每一步的详细细节还要去研读文档 EMV-全球标准PBOC-国内标准 ----------------------一:必选:应用选择应用选择的方法:目录选择法.AI ...

  6. 运用socket实现简单的服务器客户端交互

    Socket解释: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. Socket的英文原义是“孔”或“插座”.作为BSD UNIX的进程通信机制,取后一种意 ...

  7. 使用XML与远程服务器进行交互

    最近在做的一个项目其中的一部分是与远程服务器进行交互,确定身份验证的合法性,于是编写了SendRequest方法 此方法发送给远程服务器XML请求,服务器经过处理后,返回XML回应,由此方法接收到后进 ...

  8. Appcn 移动开发 前台与服务器数据交互

    第一次写.嘿嘿. 言归正传,这几天开始学习移动开发,使用的是Appcan平台.Appcan平台采用HTML5+CSS3做开发 实现跨平台,正好可以满足我们的业务需求. Appacn和数据库进行交互的方 ...

  9. Ajax概述及浅谈其与服务器的交互过程

    概念: 首先AJAX不只是一个特定的客户端技术,更应算是一种技巧.Ajax技术的核心操作是用XmlHttpRequest(下称XHR)对象进行异步数据处理. 所谓异步,即通过 AJAX,JavaScr ...

随机推荐

  1. 在dropwizard中使用feign,使用hystrix

    前言 用惯了spring全家桶之后,试试dropwizard的Hello World也别有一帆风味.为了增强对外访问API的能力,需要引入open feign.这里简单在dropwizard中使用fe ...

  2. find命令基础讲解

    目录 前言 find命令 查找条件 指定搜索层级 根据文件名和inode查找 根据属名属主查找 根据文件类型查找 组合条件 根据文件大小查找 根据时间戳查找 根据权限查找 动作处理 参数替换xargs ...

  3. 获取OrangePI板子CPU温度

    cat /sys/class/thermal/thermal_zone0/temp 读取这个文件可返回CPU温度,我看网上的说法说是要除以1000才是温度,但我这返回的数字是41...

  4. bind9的一些配置

    /etc/bind/named.conf.options:options { listen-on port 53 { any; }; // 监听在主机的53端口上.any代表监听所有的主机 direc ...

  5. 【Debian 8.8】Java 8 安装以及环境变量配置

    事实上可以分为简单的三个步骤: 下载 JDK 压缩包 解压压缩包 配置环境变量 需要注意的是: 所有命令默认在 root 权限下进行! 演示环境是 Debian 8.8 64位 (阿里云学生机) 1. ...

  6. android动画的实现过程

    先上自己的测试代码,有参考apidemo中的AnimationDrawable中的方法 public class AnimateActivity extends Activity { @Overrid ...

  7. JS(三)

    上周介绍了JS中两个比较重要的东西,循环和函数,这周再给大家介绍一下BOM和DOM 一.BOM 1.首先来说一下什么是BOM,BOM即浏览器对象模型,说白一点就是与浏览器进行的交互的对象模型. 2.B ...

  8. Ubuntu16.04.1上搭建分布式的Redis集群

    为什么要集群: 通常为了,提高网站的响应速度,总是把一些经常用到的数据放到内存中,而不是放到数据库中,Redis是一个很好的Cache工具,当然了还有Memcached,这里只讲Redis.在我们的电 ...

  9. util包里的一些类的使用

    好几天没有更新我的博客了 .国庆放假出去玩了一趟,这回来应该收心回到我的事业上了,哈哈哈!废话不多说,开始学习吧!首先今天来学习一些例子,这些例子可以回顾假期遗忘的知识,还能提高自己的能力.程序也会相 ...

  10. cellForItemAtIndexPath没有调用

    前几天碰到cellForItemAtIndexPath这个数据源方法没有被调用.这是一个collectionView返回cell(item)的数据源方法. 它没有被调用的原因有下: 1.没有设置del ...