美文网首页
巧用iTerm2一键查看所有线上服务器日志

巧用iTerm2一键查看所有线上服务器日志

作者: 土豆肉丝盖浇饭 | 来源:发表于2019-02-20 20:20 被阅读47次

本文针对使用mac的朋友

前言

当线上出问题的时候,我们会优先去看线上日志,一般都需要打开好几个应用,我们需要一个个打开控制台,连到跳板机,然后再选择对应服务器,相当的麻烦。
我在研究了mac免登陆服务器的文章后,突发奇想,然后结合iTerm2的Profiles功能解决了这个问题。

配置

expect脚本

expect这个语言,我觉得提供了和进程交互的能力吧,具体语句含义见参考。
下面有2种情况,第一种是直接连服务器,也就是需要输入密码的方式,当然在服务器把你电脑公钥放上去,密码也不用输了。第二种情况的话,大部分公司去连线上服务器,都要经过跳板机,我们公司使用的是JumpServer,跳板机如何配置也不讲了。

普通服务器配置

connect.sh

#!/usr/bin/expect
set timeout 30
spawn ssh  [lindex $argv 0]@[lindex $argv 1]
expect "password"
send "[lindex $argv 2]\r\n"//输入密码
expect "$*"
send "cd [lindex $argv 3]/\n"//选择目录
send "tail -200f [lindex $argv 4]\n"//跟踪日志
interact

直接使用方式如下

./connect.sh {username} {host} {password} {directory}  {logFile}

跳板机配置

jump.sh

#!/usr/bin/expect
spawn ssh jhost
expect "*" {send "[lindex $argv 0]\n"} //选择跳板机
expect "$*" {send "cd [lindex $argv 1] \n"}//选择目录
send "tail -200f [lindex $argv 2]\n"//跟踪日志
interact

直接使用方式如下

./jump.sh {jumpServerName} {directory}  {logFile}

iTerm2配置

iTerm2这边我们主要配置让他一次性打开多个tab连接不同的服务器,配置方式如下


tags这个配置是关键点,用来对我们打开的窗口分组,是我们实现一键打开多个服务器的关键
Badge的话,会在打开的窗口增加一个标记,区分下这台服务器干嘛的
Command就是打开这个窗口执行的脚本,也就是我上一节提供的脚本

使用方式如下


点了Open All 之后 就连接上了这6台服务器

一秒钟查看6台服务器错误日志,尤其是在有紧急bug的时候,一台台服务器敲命令去连,很烦躁。

参考

expect教程
iTerm2如何打开多个终端

相关文章

  • 巧用iTerm2一键查看所有线上服务器日志

    本文针对使用mac的朋友 前言 当线上出问题的时候,我们会优先去看线上日志,一般都需要打开好几个应用,我们需要一个...

  • 日志收集系统 - 前奏

    背景 发现线上BUG,解决步骤: 登陆线上服务器,查看线上服务器日志(服务器是集群,可能要一台一台登陆) 数以万计...

  • iTerm - 快捷键

    界面 快捷操作 巧用 Command 键, 按住⌘键: 搜索 全屏展示所有的 tab 自动完成 iterm2将自动...

  • 查看服务器日志

    服务器日志用于记录服务器的运行情况 查看服务器日志-tail:查看后面几行n 显示行数f 持续侦测后面的内容,查看...

  • 记一次线上日志维护

    LNMP环境,线上服务器出点问题,通过查看nginx日志文件解决了,看了下日志文件两年多了没有换,文件太大了不利于...

  • Mac OSX下 iTerm2+expect 实现服务器ssh自

    使用情景 频繁登录不同的云服务器 思考,是否有办法一键访问服务器? 第一步(下载使用工具) iTerm2(OSX上...

  • tomcat日志神器--kibana

    最近公司搭了套kibana的日志系统,感受比原来查看日志方便多了。记得以前查看日志是通过ssh到服务器,查看系统日...

  • ELK日志分析系统简介

    前言 当我们部署集群服务器的时候,日志文件就会散落在多台服务器上。查看日志信息就需要到各个服务器上去取和查看,我们...

  • hadoop集群一键启停组件命令汇总

    1.一键启停hadoop集群 给脚本权限: 执行命令:sh cluster.sh 2.编写所有服务器进程查看脚本 ...

  • mysql 记录一次线上出现的表锁问题

    今天突然线上业务接口出现了一直请求超时,远程到服务器查看日志,报了我们熟悉的 lock time out错误。查询...

网友评论

      本文标题:巧用iTerm2一键查看所有线上服务器日志

      本文链接:https://www.haomeiwen.com/subject/dclkyqtx.html