多服务器终端交互利器--polysh和atnodes到高逼格日志中心
最近博客更新的少了,相对而言,我在自己的个人公众号里还是挺活跃的,大家可以扫描旁边的二维码,或者微信搜索公众号:“编程一生”加关注。
在分布式的年代,一个应用需要部署到多台服务器上。那么要查看日志文件咋办?一台台的查?这年头还真有这么干的。多服务器终端交互利器有不少。最流行的是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到高逼格日志中心的更多相关文章
- 多服务器操作利器 - Polysh
多台服务器下的痛苦人生 分布式架构下的系统,可以说每个服务都是分别部署在多台服务器上的,有的甚至还需要多机房,在这种架构下可以说可以很好的做到了易扩展.容灾等功能.推荐的服务部署为一服务多机器.一机器 ...
- PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第四组(转)
十:联机处理-可选项终端根据卡片行为分析的结果,执行对应的处理.若卡片响应联机,则终端发起联机操作.联机处理使得发卡行后台可以根据基于后台的风险管理参数检查并授权批准或拒绝交易.除了传统的联机欺诈和信 ...
- PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第三组
七:终端风险管理-必选但包含可选步骤异常文件:终端检查应用主账号是否在异常文件列表(卡号黑名单)中.商户强制联机:商户可以将当前交易强制为联机处理.最低限额:控制交易当前交易金额或同一张卡片连续几笔交 ...
- PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第二组(转)
四:脱机数据认证-可选终端进行脱机数据认证来,认证卡片.记住:对于某个事情,终端与卡片谁单独也说了不算,要二者都能干才能干. 终端依据卡片(AIP)和终端(终端性能)的支持情况,决定是否使用及使用哪种 ...
- PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第一组(转)
两个PPT结合起来--一些基础介绍--每一步的详细细节还要去研读文档 EMV-全球标准PBOC-国内标准 ----------------------一:必选:应用选择应用选择的方法:目录选择法.AI ...
- 运用socket实现简单的服务器客户端交互
Socket解释: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. Socket的英文原义是“孔”或“插座”.作为BSD UNIX的进程通信机制,取后一种意 ...
- 使用XML与远程服务器进行交互
最近在做的一个项目其中的一部分是与远程服务器进行交互,确定身份验证的合法性,于是编写了SendRequest方法 此方法发送给远程服务器XML请求,服务器经过处理后,返回XML回应,由此方法接收到后进 ...
- Appcn 移动开发 前台与服务器数据交互
第一次写.嘿嘿. 言归正传,这几天开始学习移动开发,使用的是Appcan平台.Appcan平台采用HTML5+CSS3做开发 实现跨平台,正好可以满足我们的业务需求. Appacn和数据库进行交互的方 ...
- Ajax概述及浅谈其与服务器的交互过程
概念: 首先AJAX不只是一个特定的客户端技术,更应算是一种技巧.Ajax技术的核心操作是用XmlHttpRequest(下称XHR)对象进行异步数据处理. 所谓异步,即通过 AJAX,JavaScr ...
随机推荐
- Java+大数据开发——HDFS详解
1. HDFS 介绍 • 什么是HDFS 首先,它是一个文件系统,用于存储文件,通过统一的命名空间--目录树来定位文件. 其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角 ...
- 04面向对象编程-02-原型继承 和 ES6的class继承
1.原型继承 在上一篇中,我们提到,JS中原型继承的本质,实际上就是 "将构造函数的原型对象,指向由另一个构造函数创建的实例". 这里,我们就原型继承的概念,再进行详细的理解.首先 ...
- maven使用私服以后,Missing artifact xxx:xxx:jar:xx的问题
这里提供的是一种针对特殊情况的的解决方案. 即在你可以顺利使用本地仓库时,在settings.xml中加上私服配置以后出现这样的问题. 解决方案: windows→preferences→Maven→ ...
- pmap 命令详解
通过查看帮助,返回了如下信息: Usage: pmap [options] pid [pid ...] Options: -x, --extended show detai ...
- thinkphp增删改查
添加数据: (添加单行数据) // 添加成功返回1,失败返回0 (添加多行数据) // 返回添加数据的条数 删除数据: 修改数据: (修改单个字段) (修改多个字段) // 修改成功返回1,失败返回0 ...
- php中常用的字符串查找函数strstr()、strpos()实例解释
string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) 1.$haystack被查找的字 ...
- 原生JS封装animate运动框架
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
- Window2008 R2(64位)使用codesmith连接Sqlite
①打开C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config目录,找到machine.config文件新增 <add name=" ...
- SqlServer和Oracle中一些常用的sql语句3 行列转换
--217, SQL SERVER SELECT Cust_Name , MAX(CASE WHEN Order_Date ='2009-08-01' THEN AR END) "2009- ...
- WPF中的imagesource 和内存图片的处理
[转载]ImageSource的使用心得 很多时候,我们会使用图片来装饰UI,比如作为控件背景等. 而这些图片可以分为两种形式,即存在于本地文件系统中的图片和存在于内存中的图片 对于这两种形式的图片, ...