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

  在分布式的年代,一个应用需要部署到多台服务器上。那么要查看日志文件咋办?一台台的查?这年头还真有这么干的。多服务器终端交互利器有不少。最流行的是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. webservice04#对象与xml转换-jaxb#Stax解析xml#新建修改xml

    1,Student类 package com.yangw.xml; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement / ...

  2. 手把手教你使用spring cloud+dotnet core搭建微服务架构:服务治理(-)

    背景 公司去年开始使用dotnet core开发项目.公司的总体架构采用的是微服务,那时候由于对微服务的理解并不是太深,加上各种组件的不成熟,只是把项目的各个功能通过业务层面拆分,然后通过nginx代 ...

  3. htt p第一章概述

    http的概述 1 web客户端与服务器是如何通信 2 web资源来自的何方 3 web事务是怎样的工作的 4 http通信所使用的报文结构 5 底层tcp的传输的结构 6不同的http协议体 什么是 ...

  4. day14<常见对象+>

    常见对象(正则表达式的概述和简单使用) 常见对象(字符类演示) 常见对象(预定义字符类演示) 常见对象(数量词) 常见对象(正则表达式的分割功能) 常见对象(把给定字符串中的数字排序) 常见对象(正则 ...

  5. Java开发中遇到的问题

    head丢失 html的dtd不对 Integer数据类型 使用==比较 这个肯定错(事后才知道) sql语句处理分组的时候,在本地服务使用没问题,在服务器上出现sql异常 group by语句规范, ...

  6. kbhit()

    kbhit() 非阻塞的响应键盘输入时间   C++函数 功能和返回值:检查是否有键盘输入 ,有返回非0 ,无返回0 int khbit(void) 头文件: #include<conio.h& ...

  7. 风趣的JavaScript面向对象入门课程一

    在我们程序猿界一直流传这这么一个joke,没女票我们可以new一个.没房子没票子没车子我们同样new一个!当然这听着更像是一种自嘲,毕竟我们程序猿都爱自嘲,哈哈,废话不多说,今天就由我带着你们来入Ja ...

  8. Laravel框架使用查询构造器实现CURD

    一.什么是查询构造器? ①Laravel 查询构造器(query Builder)提供方便,流畅的接口,用来建立及执行数据库查找语法 ②使用PDO参数绑定,以保护应用程序免于SQL注入因此传入的参数不 ...

  9. MVC使用jQuery从视图向控制器传递Model,数据验证,MVC HTML辅助方法小结

    //MVC HTML辅助类常用方法记录 (1)@Html.DisplayNameFor(model => model.Title)是显示列名, (2)@Html.DisplayFor(model ...

  10. asp.net(C#)利用QRCode生成二维码

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="QRCode.aspx.cs&q ...