标签: 运维

  • 2024年7款最佳SSH客户端软件下载

    2024年了,你是不是正在寻找适用于Windows、Mac 和 Linux 的最佳 SSH 客户端工具?

    SSH 客户端是一个用于连接到远程服务器的应用程序。SSH客户端用于实现安全登录、传输文件、执行命令等。

    在之前我已经使用过多个SSH远程连接工具,有免费的,有收费的,因此结合它们的优缺点和体验感,我们为大家推荐以下7个可以满足日常用户和高级团队的 SSH 客户端工具!

    什么是 SSH?

    SSH 代表安全外壳协议(Secure Shell Protocol,简称SSH),是一种加密的网络传输协议,可在一种在不安全的网络环境中,通过加密机制和认证机制,实现安全的远程访问以及文件传输等业务。

    SSH 的创建是为了取代 Telnet。PuTTY 是最早流行的 Windows SSH 客户端。Windows操作系统不提供SSH客户端;它仅在 Windows 10 中作为可选功能提供。

    2024年7款最佳SSH客户端软件

    1、 SecureCRT

    https://www.vandyke.com/products/securecrt/

    SecureCRT价格:

    30 天的免费试用版和付费版。

    SecureCRT是一款具有许多高级功能的商业产品,可在 Windows、Linux 和 Mac 上使用。

    SecureCRT通过提供快速连接选项(无需配置即可连接)和 Windows 风格的熟悉界面来帮助每个用户,从而使访问变得更加方便。

    除了使用 SecureCRT 使数据隧道和文件传输变得更加容易之外,用户还将拥有安全的远程访问。

    使用 SecureCRT 可以轻松管理、配置和组织所有会话。可以使用 SSH 从单个客户端访问所有网络设备。

    SecureCRT的主要功能使其成为许多管理用户的热门选择,尤其是 Linux 和 Mac 用户。唯一的缺点是它不是免费的。

    SecureCRT提供 30 天的免费试用版和付费版。

    SecureCRT优点:

    • 提供 30 天免费试用。
    • 可在 Windows、Mac 和 Linux 上跨平台使用,使其成为比其他工具更灵活的选择
    • 提供额外功能,同时保持轻量级别
    • SecureCRT 可自动执行重复任务。
    • 提供选项卡式、多重、平铺和克隆会话。
    • 支持SSH1、SSH2协议以及Telnet、Rlogin、TAPI、Serial、RAW。
    • 可以访问多个会话的最近会话列表拖放。
    • 会话外观可以定制。
    • SecureCRT 是轻量级的。
    • 能够集成到脚本中。
    • 会话和凭据被存储。

    SecureCRT缺点:

    • 它不是一个完全免费的软件。
    • 必须购买付费版本才能获得更多扩展访问权限。

    =>访问 SecureCRT 网站

    2、Xshell

    https://www.netsarang.com/en/xshell/

    Xshell价格:

    Xshell 有三种定价计划,即 Xshell 7(99 美元)、Xshell 7 plus(119 美元)和 XManager Power Suite(349 美元)。

    Xshell也是商业SSH 客户端之一,不过使用Xshell的人最多,开始玩Linux的时候,基本都用过Xshell。Xshell有许多不同的身份验证方法、协议和算法来处理任何情况。

     

    Xshell工具仅可安装在 Windows 上。但是,可以通过它来联系运行 Windows、Linux 和 macOS 的设备。

    还可以直接在 Xshell 中访问 WSL、Powershell、CMD 等工具。

    此外,Xshell还支持常用命令的自定义别名。Xshell 的界面直观且是选项卡式,可以创建快速命令按钮。

    Xshell与 PuTTY 和类似产品的不同之处在于能够为每个终端会话设置不同的参数,为多个会话创建通用脚本。

    Xshell优点:

    • Xshell 提供深度定制,允许设置按键映射和快速命令以优化效率
    • 通过端到端加密算法和多种身份验证方法提供广泛的安全性
    • 支持多种视图、会话管理和文本编辑器
    • 免费,并有多种收费计划
    • CMD、WSL、Powershell 等
    • 即时隧道
    • VB、Java 和 Python 脚本支持

    Xshell缺点:

    • Xshell 只能在 Windows 上运行
    • 对于刚接触 SSH/PuTTY 的用户来说可能会很复杂

    =>访问 Xshell 网站

    3、MobaXterm

    https://mobaxterm.mobatek.net/

    MobaXterm价格:

    • MobaXterm 的家庭版:免费。
    • MobaXterm的专业版:每位用户的费用为 69 美元。

    MobaXTerm是一款多功能的SSH客户端,以其高速的连接、美观的用户界面、其他工具所没有的附加功能而深受欢迎。

    MobaXTerm几乎提供了所有重要的远程网络工具或协议(如SSH、X11、RDP、VNC、FTP、MOSH等),以及Windows 桌面上的Unix命令(bash、ls、cat、sed、grep、awk、rsync等),登录之后默认开启sftp模式。

    一般程序员、IT管理员使用 MobaXTerm 会比较多,它不依赖于现有的 PuTTY 安装,既有免费版又有收费版。

    如果需要远程管理系统,MobaXterm应该是首选客户端。由于 MobaXterm 是一款轻量级便携式应用程序,因此程序员、网站管理员、IT 管理员或任何需要远程管理系统的人都可以从 USB 记忆棒中启动它。

    我发现 MobaXterm 真是一个非常有用的工具,并且选项卡式的用户界面使一切都井井有条,对于 IT 专业人员来说是一个高效的工具。

    MobaXterm优点:

    • MobaXterm 的家庭版是免费的
    • 轻量级便携式应用程序
    • 非常适合从 Windows 系统访问 Linux/Unix 系统
    • 界面简单,易于操作
    • 支持X-11转发,非常适合远程用户
    • 支持多种远程连接协议(SSH、XDMCP、RDP、VNC、FTP、MOSH)
    • 支持UNIX 命令(bash、ls、cat、sed、grep、awk、rsync)
    • 嵌入式 X 服务器
    • 它是一个可通过插件扩展的平台

    MobaXterm缺点:

    • 必须为专业版付费才能获得附加的功能
    • 当主机没有响应时可能会崩溃

    4、 WinSCP

    https://winscp.net/eng/index.php

    WinSCP 价格: 免费

    WinSCP 是一个免费的开源工具

    WinSCP是一种流行的安全文件传输软件(SFTP 客户端和 FTP 客户端等),但它还有一个 SSH 客户端,帮助通过网络进行远程连接。

    由于它具有非常人性化的图形界面,初学者可以轻松使用WinSCP。它允许您在安装软件之前选择要使用的主要界面。

    用户还可以将其用作远程编辑器。该工具允许您拥有所有常规 SSH 身份验证类型,如公钥、密钥等。

    WinSCP 使用 FTP、FTPS、SCP、SFTP、WebDAV 或 S3 文件传输协议。

    WinSCP 优点:

    • WinSCP 是完全免费的
    • 轻量、简单的界面
    • 主要用于SFTP和SCP文件传输
    • 提供在本地计算机和远程服务器之间复制文件的功能
    • 提供了更多功能,例如脚本和任务自动化、后台传输等
    • 存储会话信息
    • 自动同步
    • 提供图形用户界面和集成文本编辑器
    • 允许对文件进行所有常见操作
    • 提供所有常规 SSH 身份验证类型

    WinSCP 缺点:

    • 缺乏某些复杂的文本编辑工具。
    • WinSCP 仅支持 Windows。
    • 低速性能和数据传输。

    5、Solar-PuTTY

    https://www.solarwinds.com/free-tools/solar-putty

    Solar-PuTTY价格: 免费

    Solar-PuTTY由热门软件供应商SolarWinds开发,是一款免费的 SSH 客户端。

    Solar-PuTTY 是除 PuTTY 之外唯一不需要安装软件的 SSH 客户端之一。只需下载 .exe 并运行即可启动它。

    如果您是 PuTTY 的粉丝,但希望它有更好的方式来组织保存的会话和凭据,并且想要免费的东西,那么 Solar-PuTTY 值得试用。

    Solar-PuTTY 可助您专业地管理远程会话;您可以通过一个具有直观的选项卡式界面来控制该工具。

    尽管不需任何付费,但该工具提供了管理设备所需的重要功能。总的来说,它比PuTTY更强大,也更先进。

    Solar-PuTTY优点:

    • 完全免费使用
    • 不需要安装
    • 与 SCP 和 SFTP 集成,赋予其比 PuTTY 更多的功能
    • 提供安全的凭证存储以实现快速、频繁的访问
    • 连接中断时可以自动重新连接
    • 多个选项卡可实现无缝地多任务处理
    • 支持SSH和Telnet
    • 轻松访问保存的连接的详细信息
    • 可以保存每个会话的凭据和私钥。
    • 可以在建立连接后自动执行所有脚本。

    Solar-PuTTY缺点:

    • 与 PuTTY 一样,Solar-PuTTY工具是为技术专业人员设计的,使用前需要基本的网络知识
    • 不适合新手。
    • 它仅适用于 Windows 设备。

    6、 Termius 

    https://termius.com/

    Termius价格: 每月 8.33 美元

    与 MobaXterm 和 SecureCRT 类似,Termius 是一款付费的 SSH 客户端工具。

    Termius 以其优雅的设计和移动支持而闻名。这是一个跨平台 SSH 客户端工具,可在 Windows、Linux 和 Mac 上运行。

    这种可靠的商业工具使跨设备的所有数据同步变得更加容易,因为它使用端到端加密。

    Termius还为Android和IOS提供了出色的终端体验,可以使用集成的SFTP客户端上传和下载文件。

    Termius 从所有服务器收集命令,您将在输入过程中得到建议。

    在全球范围内,数百万工程师使用 Termius 连接到远程服务器、与团队沟通连接详细信息、提高工作效率并节省时间。

    Termius优点:

    • 优秀的用户界面
    • 提供对桌面和移动设备的支持
    • 使用自动完成功能来节省时间
    • 可以使用片段来保存常用命令
    • 在您的所有设备上安全地同步数据。
    • 允许您使用集成的 SFTP 客户端上传和下载文件。
    • Termius 更加高效。
    • 所有设备均可从终端轻松访问。

    Termius缺点:

    • 付费版本需要按月订阅

    7、 PuTTY

    PuTTY价格: 免费

    PuTTY是著名的开源和免费软件之一。虽然这个历史悠久的工具最初是为 Windows 开发的,但现在它也可以在 Linux 和 Mac 上运行。

    PuTTY 使用 SSH 协议提供身份验证和文件传输。它还支持Telnet、Serial、SFTP、SCP、Rlogin网络协议。

    PuTTY是最简化的SSH客户端软件;每个人都可以使用它。

    PuTTY最适合需要使用 SSH 协议通过网络远程访问服务器的个人和团队,但它没有提供许多其他高级功能。

    如果用户只有几个设备或主机,那么可能只需连接到 PuTTY就够用了。虽然网络连接不良时可能会导致延迟,但是通常响应速度很快。

    不过,一旦开始扩展功能,我建议还是研究一下本文中的其他选项。

    例如,Solar-PuTTY 和 mRemoteNG 等免费选项在后端使用 PuTTY,同时在前端还增加了便利性。

    也就是说,如果您喜欢精美的图形界面,那么PuTTY客户端不适合您,因为它是基于文本的。

    另一方面,我发现PuTTY客户端缺乏本机工具,因此它需要依赖第三方应用程序来执行高级流程。

    PuTTY优点:

    • PuTTY是完全免费且开源的。
    • PuTTY 支持多种常见网络协议,例如 Rlogin、SSH、Telnet。
    • 适用于 32 位和 64 位客户端。
    • 能够保存会话配置、日志记录和代理设置。
    • PuTTY 是一个轻量级应用程序
    • 支持 SSH1 和 SSH2 协议。
    • PuTTY 无需安装即可运行,因为它是便携式的。

    PuTTY缺点:

    • 不支持会话选项卡。
    • 没有配备许多高级功能。
    • 不适合始终连接到许多设备的工作
    • 没有内置编辑器
    • 不支持标签模式
    • 默认设置不友好,很多功能都要额外配置才行,例如自动登录功能;

    最后总结一下吧!

    SSH 是一种高度灵活的协议,可让用户安全地连接到远程计算机。

    了解 SSH 的优缺后,所有列出的 SSH 客户端管理器都是根据用户的选择和要求进行的最优方案。

    如果你不确定选择哪个 SSH 客户端,那么 PuTTY 是一个很好的解决方案,因为它简单,而且不需安装。

    即使删除之后,PuTTY 也不会影响您的计算机。PuTTY 的最大缺点之一是它不提供在选项卡中打开会话的功能。

    因此,我也推荐了最佳 SSH 客户端和 PuTTY 替代品。虽然其中有些是免费的,但有些是付费的,尤其是在涉及高级功能的时候。

    免费工具包括 Solar PuTTY(最好的免费 SSH 客户端管理器)、WinSCP、SmarTTY、FileZilla 和 mRemoteNG。

    商业工具包括 MobaXterm(最好的付费 SSH 客户端管理器)、ZOC、Xshell。

    我希望本文能够帮助你选到合适的 Windows、Linux 和 macOS SSH 客户端。

  • 齐治堡垒机数据中心运维安全管理:容易出错的TOP10问题

    关于数据中心的运维安全管理,客户最关心哪些问题?齐治客服(400电话、在线服务)将过去一年中被问及最多的10个堡垒机相关问题及解答进行整理,与客户、合作伙伴分享。

    1. MAC升级至13.0无法调起accessclient。
    解决方法:
    • 安装3311-sp6版本以上的accessclient插件;
    • 在terminal终端执行“xcode-select –install” ,重新安装xcode。
    2.Web页面告警提示:当前节点后台root账号仍使用默认密钥,请及时修改。
    解决方法:
    •登录堡垒机Web界面,确保系统设置 > 系统状态处,sshd外部访问参数已开启,并获取用户登录RIS的默认私钥;
    •打开Xshell或其他支持SSH协议的工具,设置协议为SSH,主机为RIS IP,端口为8022,方法选择Public Key,用户名为root,用户密钥选择已获取的私钥,点击连接,输入console的登录密码后按回车,即可进入console主菜单;
    •在主菜单输入S并按下回车键,进入SSHD Management,输入2并按回车,进入Generate root key;
    •在收到Enter passphrase (empty for no passphrase):提示后,输入该密钥的密码并按回车,如果不设置密码,直接按回车,再次输入passphrase值并按回车,如果不设置密码,直接按回车;
    •输入2并按回车,执行Download root key,下载登录私钥;
    •输入3,执行Delete root key并按回车,删除旧的密钥;
    •再次登录并刷新堡垒机Web界面,告警消失,后续系统管理员只能通过新生成的私钥登录Console控制台。
    3.使用文件传输功能传输某一文件报错:资产认证超时。
    解决方法:
    检查目标资产的/etc/ssh/sshd_config中的UseDNS设置,可以尝试设置成NO,并重启sshd服务。
    4.更换堡垒机IP地址需要重新做授权吗?
    回答:
    软件部署的授权是通过IP控制的,如果更换IP需要重新申请授权。
    5.如何配置本地密码+手机令牌方式登录堡垒机Web?
    回答:
    • 使用超级管理员登录堡垒机Web,点击右上角账号选择“系统设置”,点击登录认证选择双因素;
    • 定义双因素名称为xxx,第一重选择本地密码,第二重选择手机令牌;
    • 编辑对应用户,选择身份验证方式为刚定义过的双因素名称xxx;
    • 用户在微信关注小程序“TOTP动态验证”,登录堡垒机Web输入第一重本地密码后,会弹出二维码,用小程序扫码完成后单击“完成绑定”,在RIS输入手机令牌(6位数字),单击提交即可登录进Web界面。

    6.MAC13访问字符会话报错:add ‘HostkeyAlgorithms+ssh-dss’to ~/.ssh/config。
    解决方法:
    在terminal终端”~/.ssh/config”文件中添加”HostkeyAlgorithms +ssh-dss”字段,注意需加到首行,若加到末尾会导致不生效。
    7.发布Firefox闪退。
    解决方法:
    • 确认appserver中Firefox的路径是否拖入正确,正确路径为“WebDriver安装路径\bin\rdpapp.bat”;
    • 安装对应的Firefox版本,RIS3311-SP及以下版本支持 55-59版本,RIS3311-F及3312以上支持88版本。
    8.使用sftp协议传输文件,超过1GB后无法正常传输。
    解决方法:
    编辑规则模板,调整SFTP上传单文件限制值,可调整范围为1-50G。

    9.如何更换字符会话访问方式?
    回答:
    • 全局:超级管理员登录web界面,点击右上角账号,下拉选中“系统设置”,在访问设置处,修改字符终端的访问方式;
    • 个人:用户登录web界面,点击右上角账号,下拉选中“账号管理”,在会话访问处,修改字符终端的访问方式。
    10.如何使用用户自己的安全证书?
    回答:
    •通过知名CA或者自建CA为RIS生成SSL证书;
    •使用超级管理员登录堡垒机web界面,点击右上角账号选择“系统设置”,选择安全证书,上传的证书私钥对应的密码,无密码则留空,上传扩展名为crt的RIS服务器证书及扩展名为key的服务器证书对应的私钥;
    •重启RIS,使系统可以正常运行 (注意:HA部署模式下,需分别重启主、备节点)。
  • 齐治特权账号管理PAM:实现账号全生命周期动态治理

    数据中心不管有多少台设备,特权账号的数量都至少是设备数量的十倍。随着业务的发展,数据中心资产的迭代,特权账号随时都可能发生变化。这个时候,用静态管理的方法,设一个或几个专人梳理一张或几十张账号管理表格,既浪费人力资源、管理资源,效率低下,也不可能在面对成千上万账号,且天天有各种变更,而且还需要定期改密等等工作的时候,真正实现账号的准确、实时管理。

    齐治从多年的堡垒机、特权账号管理PAM的开发、实施和实践中总结认为,账号需要通过自动化、高效的手段,进行动态治理。而动态治理方式,应该贯穿账号的全生命周期,从创建账号开始,到账号统一纳管,再到日常维护、使用以及最后的回收,都应该采用科学、高效、自动化的方法。
     

    账号创建的动态治理:根据权限分类 自动化完成创建

    运维人员大都有一个常规但是很繁琐的工作:创建账号。因为某些系统的新增、变化,或者某些人的加入、职位变更等,运维人员经常需要为资产或人创建账号。如果缺少流程规则,事情就变成了:今天来了新增账号的工单或者只是一个邮件、电话,运维人员就赶紧创建一个账号;明天来了一个同事打了声招呼说等着急用,运维人员只好停下手边的工作,先把账号的事干了再说。这样毫无规则、毫无节奏的手工创建账号会带来两个不好的后果,一则,这些新建账号成为了盲盒,创建的时候因为着急,又手工操作,经常会忽略掉创建规则、权限管理等重要问题;二则,运维人员的工作被频繁打扰成碎片。

     

    用户如果使用了齐治的特权账号管理系统PAM,这些账号的创建就可以由系统自动完成,实现动态治理。运维人员首先需要做的是按照日常业务的特性,制定账号创建规范,以满足业务需求,这包括什么人,能创建什么类别的账号,这些账号的权限如何,审批流程又是怎样的等等。规范制定完毕后,账号创建就走入自动化的流程,哪个资产或者哪个人,需要创建新账号,按照流程在系统里申请就可以。这样,既从创建之初就将所有账号进行收敛和按规则分类管理,也通过自动化流程解放了运维人员。

    账号纳管的动态治理:通过API打通系统 实现全纳管

    数据中心中一个常见的现象是,不同团队负责维护不同系统,比如ERP、CRM这种复杂系统由几个人负责上线及日常的运维。在手工进行账号纳管的状态下,各个团队在自己的系统上线过程中,一次性创建很多账号,之后在运维过程中,可能也会陆续有新的账号创建。这些新账号,根据数量不同,定期做成一张、几张或十几张表格,交给运维人员一张张录入,进行统一纳管。
    那么,问题就来了。且不说这些账号创建的时候是否符合规则,就是这些表格的手工创建、录入,难免有错误,比如某个字符录错了,某个密码少了一位等等,运维人员录入以后再一个个核验,费时费力,还容易出现纰漏。

    齐治特权账号管理PAM强调账号纳管的统一动态管理。PAM通过API将账号传递渠道全部打通,各个应用、资产里形成的新账号、修改的账号等,自动按照规则传递到运维人员处,并完成自动配置工作。这样,自动化纳管所有账号,为以后的统一管理、校验、改密等全流程管理打下良好的基础。

    账号维护的动态治理:自动将账号分配到任务单中 管理员只需清点结果

    账号的日常巡检,如果是手工、静态管理,一般的流程是:运维人员建立任务单将相关账号关联起来,进行统一巡检。但是在巡检过程中,有些账号已经发生了改变,比如密码更改了,权限调整了,这个时候再手工创建任务单,对发生改变的账号再次进行管理,可是再管理过程中,又有一些其他账号发生了变化。这样就陷入一个无法走出的漩涡:用一个静态的方法,去管理动态的问题,状态一直在变化,根本找不到静态的时间点和场景。最后管理员自己都糊涂了:哪些账号维护巡检过了,哪些账号巡检过程中又发生了变化,什么任务重复执行了,什么任务因为账号变化压根已经无效,不应该再执行。

     

    齐治特权账号管理PAM在实际应用中,坚持对账号维护进行动态治理。换句话说,所有账号纳管进PAM之后,PAM自动将新增或有更改的账号分配到相应的管理任务中,无需手工干预及调整。管理员每天按时对任务执行结果进行清点即可。

    账号使用的动态治理:配置动态授权规则 自动授权

    账号创建、管理起来,最终是要使用的。在使用过程中,要首先对账号进行授权,不允许它做授权之外的事情。系统及资产使用的账号,齐治PAM采用内嵌账号管理的方式进行调用,而人使用的账号则直接管理。
    一般来说,机用账号,因为绑定具体业务系统,相对稳定,鉴权规则和方式也比较固定,静态管理还算可行。但是,人的授权就比较复杂。人的需求是变动的,权限要求也更多且容易变化,需要次次审核和授权。所以PAM会通过动态授权、变更工单、API等多种途径,满足动态申请、自动授权的场景。
    账号回收的动态治理:统计和分析账号 自动锁定和删除

    账号都是有生命周期的。人的流动,业务的迭代,都会累计很多过期、无用的账号,就需要运维人员进行清理。在静态管理的环境下,运维人员最难做的事情是找到这些账号,比如在上万甚至几十万账号里查找一年都没有用过的账号,再挨个进行辨别;或者查询已经离岗的人对应的账号。一旦明确这些账号是谁,在哪里之后,再手工进行回收和清理。
    账号回收的动态治理,就是齐治特权账号管理PAM管理账号的一部分。PAM通过对账号使用数据进行统计和分析,帮助运维人员定位出长久不用的僵尸账号、幽灵账号,自动化进行锁定和删除工作。
    对于日益庞大、复杂的数据中心来说,账号的统一、动态、全生命周期、自动化管理,是避免账号漏洞、解放运维管理人员的最佳路径。齐治特权账号管理PAM在多年的成功应用实践中,总结出了账号全生命周期动态管理的方法,并加以实践。在某银行案例中,PAM成功管理96万+账号,实现了账号高效、有序管理。
  • 堡垒机:如何回收员工/运维的数据库账号密码?

    最近数据安全的话题在安全圈非常火热,有客户说数据安全话题有点大,他就关心一个问题:怎么样才能把员工手里的数据库账号和密码收回来?这个问题都解决不了,如何谈数据安全?
    确实,很多数据因为数据库账号问题在裸奔。数据库的账号用在三个场景:
    1.应用系统访问数据库用的应用账号。
    2.DBA(数据库管理员)运维用的账号。
    3.应用运维用的账号。
    这三类账号,都可能散布到员工、外包人员手中,甚至是外部入侵者手中。要回收这些账号,还是要从管理上入手,看一下齐治科技的解决方案建议。
    优化数据库运维管理机制

    通常,我们通过传统堡垒机来进行数据库的运维,DBA、应用运维的数据库运维都有数据库访问权限,传统堡垒机可以通过代填的方式,避免数据库账号密码被人为掌握。
    然而实际情况很难杜绝员工用数据库账号密码通过堡垒机访问数据库,原因是:
    1.有些客户端工具的账号密码代填,很难用堡垒机实现;
    2.员工知道应用系统的账号和密码后,可以通过堡垒机的应用发布客户端访问数据库。
    在不影响IT业务运行的前提下,唯一的方法就是找到某种效率与安全平衡的机制。我们建议从人员的安全性角度思考:DBA是专业的数据库人员,风险可控,让其最大限度地减少数据库账号密码的使用;而应用运维人员,则必须从专用的数据库堡垒机上免密登录访问数据库。
     

    过渡方案

    然而,对于有些客户来说,数据库账号密码本来就是掌握在应用运维人员手中,甚至包括开发、外包,回收难、工作量大,这种情况我们的建议设置回收过渡方案:
    1.关闭堡垒机上的数据库资产权限;
    2.允许在数据库堡垒机中自建数据库连接,SQL指令权限严格控制,按需自助提权;
    3.逐步回收账号密码,托管在数据库堡垒机上之后,授予应用运维所需的SQL指令、库表权限。
    这种机制下,即使应用运维人员掌握数据库账号密码,但是由于数据库堡垒机仅授权最低的SQL操作权限,降低了很大一部分风险。
    最终方案

    回收所有运维账号之后,通过使用数据库堡垒机,便可以形成以下管理机制:

    1.数据库受限通道:托管应用运维账号,应用运维人员有权访问,权限控制到SQL增删改查指令和库表,进行日常的数据库访问操作。真正意义上实现了用户与数据库的“操作”隔离:用户的操作先提交给数据库堡垒机,数据库堡垒机进行SQL语义解析与安全检查后,再连接真实的数据库进行安全的操作,这些操作都是被管控和审计的。
    2.数据库特权通道:托管DBA运维账号,DBA人员有权访问,同时作为应用运维人员在特殊情况下的应急访问通道。加了数据库堡垒机之后,DBA原来的权限和工具都是不变的。
    这种机制下,应用运维人员只有最低的SQL指令、库表访问权限,进一步降低了数据安全风险。数据库堡垒机从身份认证、权限管控、数据库操作、数据保护(动态脱敏和数据导出控制)、操作审计等多个维度控制人的数据库操作行为。
    此时,可以部署齐治特权账号管理系统PAM对应用运维账号、DBA运维账号、应用系统账号进行分阶段的改密回收,从而系统性消除数据库账号密码安全隐患。

    齐治的传统堡垒机,结合数据库专用堡垒机DSG、特权账号管理系统PAM,能够支持客户优化现有的数据库账号密码管理机制,最大限度减少人为的数据库账号暴露面,为客户的数据安全提供最基础的支撑。

    手机铃声响后提示忙音:对不起,您拨打的电话正在通话中?8个原因

  • linux运维学习之netstat命令常见故障错误排查汇总

    netstat命令简介

    Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

    输出信息含义

    执行netstat后,其输出结果为

    Active Internet connections (w/o servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State
    tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED
    tcp 296 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED
    tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED
    tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED
    tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE
    
    Active UNIX domain sockets (w/o servers)
    Proto RefCnt Flags Type State I-Node Path
    unix 1 [ ] STREAM CONNECTED 16178 @000000dd
    unix 1 [ ] STREAM CONNECTED 16176 @000000dc
    unix 9 [ ] DGRAM 5292 /dev/log
    unix 1 [ ] STREAM CONNECTED 16182 @000000df
    

    从整体上看,netstat的输出结果可以分为两个部分:

    一个是Active Internet connections,称为有源TCP连接,其中”Recv-Q”和”Send-Q”指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

    另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。

    Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。

    常见参数

    -a (all)显示所有选项,
    -t (tcp)仅显示tcp相关选项
    -u (udp)仅显示udp相关选项
    -n 拒绝显示别名,能显示数字的全部转化成数字。
    -l 仅列出有在 Listen (监听) 的服務状态

    -p 显示建立相关链接的程序名
    -r 显示路由信息,路由表
    -e 显示扩展信息,例如uid等
    -s 按各个协议进行统计
    -c 每隔一个固定时间,执行该netstat命令。

    提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

    实用命令实例

    1、列出所有端口 (包括监听和未监听的)

    列出所有端口 netstat -a

    # netstat -a | more
     Active Internet connections (servers and established)
     Proto Recv-Q Send-Q Local Address           Foreign Address         State
     tcp        0      0 localhost:30037         *:*                     LISTEN
     udp        0      0 *:bootpc                *:*
     
    Active UNIX domain sockets (servers and established)
     Proto RefCnt Flags       Type       State         I-Node   Path
     unix  2      [ ACC ]     STREAM     LISTENING     6135     /tmp/.X11-unix/X0
     unix  2      [ ACC ]     STREAM     LISTENING     5140     /var/run/acpid.socket
    

    列出所有 tcp 端口 netstat -at

    # netstat -at
     Active Internet connections (servers and established)
     Proto Recv-Q Send-Q Local Address           Foreign Address         State
     tcp        0      0 localhost:30037         *:*                     LISTEN
     tcp        0      0 localhost:ipp           *:*                     LISTEN
     tcp        0      0 *:smtp                  *:*                     LISTEN
     tcp6       0      0 localhost:ipp           [::]:*                  LISTEN
    

    列出所有 udp 端口 netstat -au

    # netstat -au
     Active Internet connections (servers and established)
     Proto Recv-Q Send-Q Local Address           Foreign Address         State
     udp        0      0 *:bootpc                *:*
     udp        0      0 *:49119                 *:*
     udp        0      0 *:mdns                  *:*
    

    2、列出所有处于监听状态的 Sockets

    只显示监听端口 netstat -l

    # netstat -l
     Active Internet connections (only servers)
     Proto Recv-Q Send-Q Local Address           Foreign Address         State
     tcp        0      0 localhost:ipp           *:*                     LISTEN
     tcp6       0      0 localhost:ipp           [::]:*                  LISTEN
     udp        0      0 *:49119                 *:*
    

    只列出所有监听 tcp 端口 netstat -lt

    # netstat -lt
     Active Internet connections (only servers)
     Proto Recv-Q Send-Q Local Address           Foreign Address         State
     tcp        0      0 localhost:30037         *:*                     LISTEN
     tcp        0      0 *:smtp                  *:*                     LISTEN
     tcp6       0      0 localhost:ipp           [::]:*                  LISTEN
    

    只列出所有监听 udp 端口 netstat -lu

    # netstat -lu
     Active Internet connections (only servers)
     Proto Recv-Q Send-Q Local Address           Foreign Address         State
     udp        0      0 *:49119                 *:*
     udp        0      0 *:mdns                  *:*
    

    只列出所有监听 UNIX 端口 netstat -lx

    # netstat -lx
     Active UNIX domain sockets (only servers)
     Proto RefCnt Flags       Type       State         I-Node   Path
     unix  2      [ ACC ]     STREAM     LISTENING     6294     private/maildrop
     unix  2      [ ACC ]     STREAM     LISTENING     6203     public/cleanup
     unix  2      [ ACC ]     STREAM     LISTENING     6302     private/ifmail
     unix  2      [ ACC ]     STREAM     LISTENING     6306     private/bsmtp
    

    3、显示每个协议的统计信息

    显示所有端口的统计信息 netstat -s

    # netstat -s
     Ip:
     11150 total packets received
     1 with invalid addresses
     0 forwarded
     0 incoming packets discarded
     11149 incoming packets delivered
     11635 requests sent out
     Icmp:
     0 ICMP messages received
     0 input ICMP message failed.
     Tcp:
     582 active connections openings
     2 failed connection attempts
     25 connection resets received
     Udp:
     1183 packets received
     4 packets to unknown port received.
     .....
    

    显示 TCP 或 UDP 端口的统计信息 netstat -st 或 -su

    # netstat -st 
    # netstat -su
    

    4、在 netstat 输出中显示 PID 和进程名称 netstat -p

    netstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中,这样 debugging 的时候可以很方便的发现特定端口运行的程序。

    # netstat -pt
     Active Internet connections (w/o servers)
     Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
     tcp        1      0 ramesh-laptop.loc:47212 192.168.185.75:www        CLOSE_WAIT  2109/firefox
     tcp        0      0 ramesh-laptop.loc:52750 lax:www ESTABLISHED 2109/firefox
    

    5、在 netstat 输出中不显示主机,端口和用户名 (host, port or user)

    当你不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。

    同样可以加速输出,因为不用进行比对查询。

    # netstat -an
    

    如果只是不想让这三个名称中的一个被显示,使用以下命令

    # netsat -a --numeric-ports
    # netsat -a --numeric-hosts
    # netsat -a --numeric-users
    

    6、持续输出 netstat 信息

    netstat 将每隔一秒输出网络信息。

    # netstat -c
     Active Internet connections (w/o servers)
     Proto Recv-Q Send-Q Local Address           Foreign Address         State
     tcp        0      0 ramesh-laptop.loc:36130 101-101-181-225.ama:www ESTABLISHED
     tcp        1      1 ramesh-laptop.loc:52564 101.11.169.230:www      CLOSING
     tcp        0      0 ramesh-laptop.loc:43758 server-101-101-43-2:www ESTABLISHED
     tcp        1      1 ramesh-laptop.loc:42367 101.101.34.101:www      CLOSING
    

    7、显示系统不支持的地址族 (Address Families)

    netstat --verbose
    

    在输出的末尾,会有如下的信息

    netstat: no support for `AF IPX' on this system.
    netstat: no support for `AF AX25' on this system.
    netstat: no support for `AF X25' on this system.
    netstat: no support for `AF NETROM' on this system.
    

    8、显示核心路由信息 netstat -r

    # netstat -r
     Kernel IP routing table
     Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
     192.168.1.0     *               255.255.255.0   U         0 0          0 eth2
     link-local      *               255.255.0.0     U         0 0          0 eth2
     default         192.168.1.1     0.0.0.0         UG        0 0          0 eth2
    

    注意:使用 netstat -rn 显示数字格式,不查询主机名称。

    9、找出程序运行的端口

    并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。

    # netstat -ap | grep ssh
     tcp        1      0 dev-db:ssh           101.174.100.22:39213        CLOSE_WAIT  -
     tcp        1      0 dev-db:ssh           101.174.100.22:57643        CLOSE_WAIT  -
    

    找出运行在指定端口的进程

    # netstat -an | grep ':80'
    

    10、显示网络接口列表

    # netstat -i
     Kernel Interface table
     Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
     eth0       1500 0         0      0      0 0             0      0      0      0 BMU
     eth2       1500 0     26196      0      0 0         26883      6      0      0 BMRU
     lo        16436 0         4      0      0 0             4      0      0      0 LRU
    

    显示详细信息,像是 ifconfig 使用 netstat -ie:

    # netstat -ie
     Kernel Interface table
     eth0      Link encap:Ethernet  HWaddr 00:10:40:11:11:11
     UP BROADCAST MULTICAST  MTU:1500  Metric:1
     RX packets:0 errors:0 dropped:0 overruns:0 frame:0
     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000
     RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
     Memory:f6ae0000-f6b00000
    

    11、IP和TCP分析

    查看连接某服务端口最多的的IP地址

    wss8848@ubuntu:~$ netstat -nat | grep "192.168.1.15:22" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -20
    18 221.136.168.36
    3 154.74.45.242
    2 78.173.31.236
    2 62.183.207.98
    2 192.168.1.14
    2 182.48.111.215
    2 124.193.219.34
    2 119.145.41.2
    2 114.255.41.30
    1 75.102.11.99
    

    TCP各种状态列表

    wss8848@ubuntu:~$ netstat -nat |awk '{print $6}'
    established)
    Foreign
    LISTEN
    TIME_WAIT
    ESTABLISHED
    TIME_WAIT
    SYN_SENT
    

    先把状态全都取出来,然后使用uniq -c统计,之后再进行排序。

    wss8848@ubuntu:~$ netstat -nat |awk '{print $6}'|sort|uniq -c
    143 ESTABLISHED
    1 FIN_WAIT1
    1 Foreign
    1 LAST_ACK
    36 LISTEN
    6 SYN_SENT
    113 TIME_WAIT
    1 established)
    

    最后的命令如下:

    netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
    

    分析access.log获得访问前10位的ip地址

    awk '{print $1}' access.log |sort|uniq -c|sort -nr|head -10
    
  • 数据中心运维安全管理TOP10问题——堡垒机特权账号管理PAM篇

    关于数据中心的运维安全管理,客户最关心哪些问题?齐治客服(400电话、在线服务)将过去一年中被问及最多的10个PAM相关问题及解答进行整理,与客户、合作伙伴分享。

    1. Windows使用RPC方式改密报错“wait arm timeout”。
    解决方法:
    • 目标资产上已打开TCP的135、139和445端口,且防火墙允许PAM访问这些端口;
    • 在Windows资产的服务列表,查看Remote Procedure Call是否处于运行中;
    • 在Windows资产的进程列表,查看是否存在lsass.exe进程。
    2.如何消除僵尸账号?
    回答:
    •托管到 PAM 的账号,实际超过90天未登录,巡检后会标记为僵尸账号;
    •若要消除僵尸账号,则需要纳管这些账号,并修改白名单重新触发巡检,或者针对这些僵尸账号触发登录,或者确认不需要,在目标资产上清理这些账号。
    3.删除账号提示:该资产被应用身份关联,请解除绑定后再编辑。
    解决方法:
    台账>应用身份,在应用配置中取消关联账号变更禁用选项。

    4.台账账号维护的分项统计显示为空。
    解决方法:
    该功能依赖资产属性,若不配置资产属性,则无法正常显示。
    5.一个资产托管多个特权账号,改密逻辑是什么?
    回答:
    针对一个资产托管多个特权账号,改密时会根据特权账号的创建时间顺序,依次尝试使用各个特权账号进行改密。
    6.改密提示“没有可改密的条目”。
    解决方法:
    •  查看账号是否存在可改密属性;
    • 查看是否在账号管理页面进行密码登录测试;
    • 尝试删除重建账号;
    • 确认是否存在历史密码失败记录。
    7.执行改密后进行巡检,仍然提示账号超过3个月未改密。
    解决方法:
    在账号巡检,编辑任务明确,确认巡检任务是否勾选了账号信息收集,如果未勾选不会更新异常信息。
    8.部分资产登录过程很长,通过 PAM 登录提示 timeout when matching xxx。
    解决方法:
    • 先尝试后台手工登录目标资产,预估实际登录需要的时间;
    •  登录堡垒机Web界面,根据实际登录需要的时间,在“资产适配”处调大交互超时时间。
    9.使用API接口申请密码工单,请求提示 404 错误。
    解决方法:
    404 代表请求地址不存在,确认请求方法是否为 POST及API地址是否正确。
    10.配置PAM从RIS同步后,RIS侧的数据未同步或未完全同步至PAM侧。
    解决方法:

    •使用超级管理员身份登录PAM的Web界面,在系统设置>系统>基本设置>第三方,检查以下配置项:

    ①检查配置的第三方名称是否和PAM后台插件中config.ini文件的ServerName一致;

    ②检查配置的第三方IP地址与端口是否正确;

    ③检查配置的插件信息分别在PAM后台的/var/lib/sync/$ServerName和/usr/lib/systemd/system目录下是否存在,其中$ServerName为第三方系统名称。
    •检查 PAM 后台配置文件 config.ini 中的 aca.token 与 ACA 后台 /etc/shterm/api_tokens 中的是否一致。
    •检查 ACA 后台配置文件 /etc/shterm/api_tokens 中的允许地址是否为正确的 PAM 端地址,HA或多站等场景,请将所有实地址以及虚地址都进行配置,多个地址之间使用逗号分隔。
    •ACA 后台配置完成后,需要重启 tomcat 服务,才能使该静态 token 生效,允许 PAM 端通过该 token 进行数据请求。
  • 特权账号管理系统PAM实施交付做好的3件事

    特权账号管理系统有别于传统的安全产品,是一个与第三方高度交互的系统,其交付过程存在周期长、涉及部门多、衍生需求多的特点。其建设过程需要客户安全部门、运维部门和开发部门的共同参与,否则交付起来举步维艰。特权账号管理系统的实施应深入了解客户的IT管理架构、岗位职责、管理文化,并设计一套全面完善的特权账号管理实施方案。
    在明确项目里程碑和方案之后便真正进入到项目实施阶段。凭借多年特权账号管理项目的实践经验,齐治总结出特权账号管理系统PAM实施需要注意的三个核心问题。
    明确管理对象

    在交付实施过程中,要确保账号、密码、密钥等PAM管理的对象能被正常、正确交付。不同客户这些敏感信息的分布都不一样,有的在机器里,有的在人手里,于是收集信息便成了这个阶段最重要的工作内容。通常情况下,实施团队需要跨部门、走流程才能把第一手的信息采集回来。所以,项目经理要时时刻刻盯着采集进度,及时梳理和反馈进展,出现问题马上处理以免耽误整体项目进度。
    明确管理的人

    账号在完成纳管之后,使用账号密码的人(比如:系统管理员、数据库管理员、第三方代维人员),必须得熟悉新的账号申请和使用流程,甚至包括应急处理流程。因为新的系统上线会或多或少改变现有运维人员的使用习惯,有一些人能接受改变,有一些人不愿接受改变。所以,项目推进困难有时是因为遇到人为阻力。
    还有更糟糕的情况:运维人员甚至没听说过要上一套新系统,就被要求配合这项工作,配合那项工作。因此,项目经理需要提前组织和拉通这些跨部门沟通的问题,从而统一思想,要让方案不能只停留在产品和技术层面。管理规范和管理流程最终是需要人来配合执行的,所以不要忽视被管理的人。客户方面最好有高层的支持与推动,有足够的力度推进项目实施,让不愿意改变使用习惯的人员乐于接受一些工作方式上的转变。

     

     

    在一家金融客户的特权账号管理项目实施过程中,客户与齐治共同设立了一个专门的核心委员会,由客户的高层领导和齐治的项目经理、专家共同组成,负责解决一些策略层面的问题,并且定期审查项目的进度。客户还采取了一些激励措施,让使用者的绩效与新系统的应用有一定程度相关性,这也对项目实施起到了很好的推进作用。

    及时测试和验证

     

    及时的测试和验证,是项目实施过程中非常重要的环节,而且频率越高越好。一方面是因为收集完成之后的账号密码几乎都会出现不全、不准、不正确的问题,按照10%的错误率,验证1000个账号需要处理100个错误账号信息,可能一周就能全部解决,但如果一次性验证10000个账号,需要一次性处理1000个错误账号,可能需要一个月来专门处理,效率降低的同时也会严重影响项目进度。
    另一方面也要分阶段去验证新的管理流程是否能跑得通,因为项目最终的目的是去落实新的管理规范,在方案阶段一些细节和效果是看不到的。所以在项目实施阶段做及时的验证也有助于随时发现问题和调整策略,以免最终发现整个方向走偏或走散。
    好的实施方案应该从一开始就做详尽的调研和设计,而不是在实施开始后才慢慢地修修补补。特权账号管理涉及企业历史管理问题、岗位互斥问题、监管要求问题等,只有在做了深度评估和调研后才能设计出最贴合客户需求的实施方案。在PAM交付过程中,以上核心问题需要在实施方案制定阶段就提前布局,并在实际交付过程中严格落实。
  • 齐治堡垒机与ITSM集成,运维自动化管控变更流程

    堡垒机是企业数据中心管理的网关系统,通过身份认证、授权、访问控制以及审计四大功能,对运维操作进行合理、合规管控。

    而ITSM则是企业管理流程方法论,企业通过ITSM平台,将ITSM在内部落地与实践,保证项目、变更等的流程完整性。
    简单来说,在企业管理中,ITSM提供的是一套流程图,这套流程图会详细分解,一项工作应该如何一步步由谁、什么时候、如何、什么质量完成。很显然,数据中心内部管理也要符合ITSM流程,这其中,每次新流程的生成、旧流程的调整和变更,都绕不过堡垒机这个数据中心的网关系统。
    ITSM和堡垒机对接 各司其职

    数据中心属于高敏感地带,因此数据中心内部管理的变更,必须有严格规范的流程审批制度。ITSM平台提供了企业级的流程审批工具,其中就包括数据中心运维审批流程。
    堡垒机如果实现了和ITSM平台的对接,即可以按标准、按流程实现有效的IT运维权限管控。这其中,ITSM平台负责对运维人员的操作对象、操作权限、操作内容进行审批,堡垒机负责实现对应的权限管控。
    总结来说,ITSM是标准,是流程,是结果,而堡垒机是数据中心落实这个结果的工具,两者各司其职,互相配合。
    齐治堡垒机强大API 实现与ITSM平台的对接

    齐治堡垒机提供了功能强大的临时授权API,其内容涵盖了:有效时间,可并发提交的权限主体,比如申请人、资产、账号、协议等。
    如果需要变更数据中心内部流程,用户只需在ITSM平台中提交变更申请,审批完成后,更改后的流程通过API推送至堡垒机,堡垒机自动完成新流程的变更与同步,并同时更改对应的权限管控。
    如果数据中心需要创建临时流程,用户在ITSM平台中提交临时权限申请,审批完成后,临时流程将对应人员、设备、时间等信息通过API接口推送至堡垒机,生成临时访问权限。
    这样,ITSM平台和堡垒机自动对接,实现了数据中心一体化管理的闭环。
    成功案例分析

    齐治科技帮助众多用户实现了ITSM平台与堡垒机的对接。
    以某大型车企为例,通过ITSM平台与堡垒机的对接,实现了200+人员(运维、开发、外协)对4000+资产的运维管控,对接实现了以下便捷工作:
    01
    无缝集成:ITSM审批与齐治堡垒机无缝集成,用户在ITSM页面可以完成资源申请、审批、资源访问所有操作,同时堡垒机中审计记录与ITSM工单关联,确保所有操作记录一事一申请;

    02
    弹性授权:基于齐治堡垒机强大丰富的接口,用户一改传统的预授权模式,所有的权限均需申请、审批,自动化弹性进行;

    03
    审计合规:ITSM与齐治堡垒机集成后,可确保每一条操作与一条完成的审批流程对应,能做到责任人、审批人、操作原因有迹可查。

    齐治堡垒机与ITSM平台的自动化对接,不只是节约了运维人员的时间,更重要的是,闭环完成了数据中心内部创建、变更等流程的统一管理,规避风险,提高效率。
  • 齐治堡垒机PAM特权账号管理系统怎么梳理几十万账号?

    你的数据中心有多少账号,这些账号都是什么权限,有多少幽灵账号、僵尸账号,同一个账号是否能访问不同资产,如果更改了会不会有影响?

    要想管理数据中心的账号,首先要摸家底,也就是把目前有多少账号,账号状态、账号权限,可管理资产等等一网打尽。
    不同用户的应用场景不同,账号梳理的难度、重点也不同,齐治PAM特权账号管理系统,帮助用户梳理账号、厘清账号,为账号的统一管理打下良好基础。
    场景一:账号清单分散 难收集

    庞大的数据中心账号,管理员众多,使用者也众多。开发、运维、安全等等部门都在数据中心开设有账号及相应权限。如果想把这些账号摸清楚,收上来,是一件难事。
    首先,收集账号的沟通成本高。手工线下收集,需要挨个找管理员整理核对上报。大的数据中心,部门多,人多,只沟通这些数据就占据大量的时间和精力,成本高。
    第二,账号收集不全不准。账号数量多,人工维护需要的人力也多,数据中心人员难免流动,存在离职、调岗等等,即使工作交接时有excel表,也没法一一核对,遗漏、遗失、错行、错字、误录入在所难免,时间一长,账号无人知道,密码丢失,用起来才发现excel里记错了时有发生,给后期的系统维护留下了隐患。
    第三,账号变化快。数据中心里频繁有或大或小的资产调整,比如新设备上架,老设备下架,系统迁移,虚拟化重新配置、合并或拆分,这些大大小小的调整,无一不在挑战原本就脆弱的账号管理。之前的老账号还没厘清,又面临频繁的资产变更,注销老账号、产生新账号等等,新的账号体系里到底增加了谁,取消了谁,权限是怎样变动的,就算是每次都手工记录,也会有信息不完整、不及时,甚至出现错误的时候。 
    PAM解决之道
    第一招:自动发现

    齐治PAM特权账号管理具有账号梳理功能。针对沟通成本高、账号收集不全不准的问题,PAM提供自动发现+账号工单有限发现相辅相成的服务,能够将漏报账号、漏报资产从系统上自动确认,并一键移交给管理员。

    针对账号变化快的问题,齐治PAM提供自动巡检功能,发现有问题的账号,比如无法登录、权限被篡改、网络不通等问题,统一及时汇总给管理员,实现随时发现,随时处理。

    场景二:账号依赖关系错综复杂  难梳理

    数据中心的任何一台设备、一套系统都不是绝对独立存在的,必然会和其他设备或系统有或强或弱的耦合关系,比如几台服务器组成一个集群,集群统一管理的账号和密码,势必涉及到单台服务器。
    系统管理中,“不敢乱动”是管理员的紧箍咒,设备、系统之间的耦合关系,牵一发而动全身的可能性,让不清楚情况、不了解实际的变更如履薄冰。
    账号管理中,如果以为仅仅是变更了一台设备的账号、密码和权限,不会有什么问题,那就大错特错了。资产之间的耦合关系,让账号和密码在跨资产时也有耦合,登录A设备的密码,与登录B设备的是一套,变更了A忘记了B,等到想登录B时,发现上不去了。值得庆幸的情况是,管理员记得A和B的耦合关系,更改A时就顺便更改了B。但更多情况是,ABCF……等等都耦合,管理员记得了其中几个,忘记了另外几个,等到用时发现已经无法顺利管理资产了。
    PAM解决之道
    第二招:等价关联

    PAM的解决方案是支持等价资产,配置等价账号,梳理各种账号同步关系。

    当多个账号的密码需要同步时,PAM支持配置等价账号高级功能。例如资产部署的集群,管理员将集群中所有节点加入到PAM,可以将这些节点的账号设置为等价账号。如果其中某个节点的资产账号修改了密码,则密码将同步到其他节点的资产账号。需要专门指出的是,在相同账号名且以密码类型登录的前提下,等价账号可以跨资产类型。

    场景三:账号权限合规难核查

    数据中心有多少种账号?恐怕管理员也仅仅能分个大类。比如从是否可写的角度说,分为可读可写的账号,只能读不能写的账号。从级别高低说,分为高级别、畅通无阻哪都能去的特权账号,低级别仅在某几台设备上可用的普通账号。从使用者角度来说,分为设备自动读取访问的机用账号,数据中心工作人员使用的人用账号等等。
    这么多类别的账号,开通、配置、修改、关闭时,既可能更改属性,又可能更改权限,如果纯手工劳动,就只能请出excel表来做详细记录,开通时如何配置的,中间是否有变更,是否到期,该什么时候关闭。时间一长,工作量一大,这几乎是个难以准确完成的任务。
    PAM解决之道
    第三招:自动巡检

    不同用户的不同账号有特殊的管理诉求,PAM可以通过各种账号属性的配置来满足这些管理诉求。
    在具体配置中,PAM包含了账号类型、是否可改密、切换来源、私钥、互备账号等配置选项,来满足账号管理的个性化需求。以账号类型为例,分为特权账号(权限最高的账号,比如Linux中的root、Windows中的Administrator),以及普通账号(特权账号以外的账号)。再比如为应用内嵌账号管理准备的互备账号功能,具有同样权限的两个账号,应用通过其中任意一个账号登录资产(例如数据库),都能正常执行操作(例如查询数据库)。
    通过账号高级属性进行标识,方便了管理员的日常管理和统计。
    在以上三个场景之外,PAM还提供标准的restful API接口对接用户的各种第三方管理系统,自动同步现有的资产信息库。同时,尊重管理员的工作习惯,PAM提供excel模版的导入和导出,以便管理员日常统一整理和收集账号信息。
    特权账号是进入数据中心各个资产的钥匙,钥匙很多,功能各不相同,权限各不相同。齐治PAM特权账号管理系统,可以详细分析各场景下管理员遇到的实际困难,用全面、安全、自动化的手段,实现管理的标准化、流程化,不仅大大解放管理员的手工操作,还实现了管理的准确化和个性化。
    超过5年500+客户验证,齐治PAM特权账号管理系统在单一客户处实现了96万+账号的统一管理,安全性、准确性、权威性均在业内前列。
  • 一位Linux运维工程师对运维规则的 10 条经验总结

    作为一个IT工程师,在阅览技术书籍时,看到作者对运维规则的总结,反复阅读几遍后,发现其内容言简而意赅,质朴而真谛。些许认知是我自个儿明白,而无法用言语总结的;些许是让我自个儿从无知到认知的;些许是我想要做而目前作为一个运维小哥而无法做到的~

    总之,阅览后如获珍宝。当然,作为一个运维小哥,以下内容及规则(涉及系统大体)自个儿能驾驭的是少之又少,但丝毫不影响我的向学之心!那是我的工作之心所向,那是我傲娇之心所追,更是对自己能力提升的同时而注重的自我升华。

     

    以下是本人根据书籍内容及些许的自我认同而提炼出的部分精髓(至少自己是这样认为,^_^),个人感觉,有一部分适用于运维人员,而有一部分适用于技术管理人员。相信也存在许多像我一样的IT小哥哥小姐姐,所以希望做个分享,希望能让有需之人观后有感!为啥我要总结出这两种人群的适应内容呢?呃,毕竟,不想当将军的士兵不是好士兵~

     

    对于运维而言,平台、工具、知识、经验,意识等都固然重要,其都在某种程度上决定了运维质量。而对于运维规则,也不可小觑,整好了也许会有四两拨千斤的效果哦!

     

    以下内容是本人摘录技术书籍内容,同时加上了些许个人感知及个人言语,不喜勿喷哦!

    1、勿重复劳作

    不要重复劳动力,也不要什么都从外部获取,如工具、代码、框架等。需要考虑的是在合适的时间以合适的成本切入,投资回报率也是需要考虑的。

     

    一般来说,每个公司都存在重复造轮子的现象,而且许多人都热衷于此,可能需要用这样的项目来证明自己,而却忽略了投入/产出比这个重要的指标。如果能够充分利用社区的成果,利用公司已有的成熟框架,那么可大大加快自己的项目进度,因此,为什么非要自己做一个呢?也许有些人考虑的是重复造轮子,可以真正锻炼到团队,毕竟一个从头开始的项目,所积累的经验往往比一般项目多得多,有助于个人的成长和公司后续项目。

     

    2、允许出错

    人非圣贤,孰能无过,运维也是如此!出错并不可怕,关键是要建立机制,让错误能够尽可能快速地被修复,限制错误影响的范围,同时要归纳总结,从错误中让个人成长,让组织成长。

     

    当然,允许出错并不表示事无巨细,均可犯错。允许出错是建立在大体层面上已尽可能的完善了整体制度,规范了运维流程等情况下出现的无可预知的错误!

     

    只要存在硬件载体,就必然伴随着各种各样的故障。有时为了追求高可用性,设计复杂的架构,或者准备过多的冗余设施,往往会导致解决方案的成本剧增,而解决方案的复杂性,也会为后期的改造及维护增加难度。国内众多公司都号称可用性高达99.99%,甚至高精度的小数点后面多加好几个9。然而,某巨头企业的云产品导致小公司数据丢失,某巨头企业应对活动日出现页面异常等等场景,让我们情不自禁的感叹~~

    3、设置备用

    备用角色在运维工作中可能只被人看到日常运维的价值,而当主要角色因事请假、过度劳累、因故离职等时期,备用角色价值凸显,他可让正在进行的项目不被打断,正在进行的工作不陷入被动。高效培养备用角色,其需文档、流程和规范的支持,故运维规范等也是重中之重!

    4、定位瓶颈

    不监控,无运维。此话说明监控的重要性,对于一些资源的争用,通过监控系统能够直观的反映。而对于一些隐藏较深的资源瓶颈和系统瓶颈,往往需要利用工具,靠经验去分析和判断。作为运维,需要有意识的尽可能地通过监控系统去发现问题,让监控系统变得越来越智能,越来越少地依赖于人的经验。

    高级工程师和初级工程师有一个很大的区别,高工知道如何去定位瓶颈所在。他们不仅知道如何使用工具,还知道何时、何地、为什么要使用这个工具。这样,才可能在问题爆发之前,就定位到瓶颈所在。

    当然,定位瓶颈,单一化的运维知识可能满足不了需求,因为数据可能要经过很多环节,如本地电脑、浏览器、DNS服务、负载均衡设备、应用服务器等。

    所以,应该尽可能的涉猎不同领域的多元化的知识。

    5、重视工具/平台

    许多互联网公司都有基础平台的技术部门,专门负责开发基础平台、工具和服务,提供给各个应用研发团队使用。但这往往是一个短期内难以见到效益的事情。对于业务规模不大的公司来说,更多的时候是在做一些技术储备的事情。基础平台部门往往是伴随着公司的高速发展而壮大的,研发出来的产品如果没人用,自然就得不到改进,然后就更加没有人使用,如此恶性循环。其情境往往考验高层的决心,考虑是否需要继续坚持保留适当比例的底层平台开发人员呢?

    应用软件的研发和平台工具的研发毕竟是不一样的,如果基础不牢,可能造成更大的业务风险。所以长远来看,使用部分人力(高素质的工程师)做平台和工具,其实是节省成本的!

    硅谷的一些公司,让优秀的人去做平台和工具,并提供最好的待遇,给予足够的尊重,对于他们的衡量标准也应该不同!

    6、分工明确

    大规模的系统架构体系的维护,离不开训练有素的工程师,他们需要有许多知识、经验和技巧,也必然分工明确,如开发运维平台的、专门数据操作的、性能调优的、源码优化的等等。优秀的团队可能还有项目经理、质量管控、文档编者、成本分析、培训教育等各个专业领域的人,不同岗位的人员在自己的专业领域发挥优势,各司其职,才能使整个项目的光彩洋溢地淋淋尽致~

    7、善于分享

    应该多参与业内技术交流,对于一些问题,也许有些公司能有更好的解决方案,如果你分享了经验,同行们也会分享经验。从某种角度上看,两者是竞争者的关系,但是如果需要发展,就要看看业内的竞争对手在做什么,要跳出公司的格局去看待技术和管理问题。

    同时,参与业内的技术论坛不仅仅是关注行业技术趋势的一种手段,也是一种招聘方式,通过认识更多人,扩大影响力,吸引更多人加入自己所在公司。自我人脉扩展的同时也充实了公司的发展,何乐而不为呢?

    8、重视例会

    许多管理者忽略了周会与例会的重要性。若长期不重视,整个团队就可能变得松散,没有凝聚力。

    周会的一个重要作用是讨论分工。随着机器规模的扩大,人员的增加,团队管理者都需要分工明确,责任到人,才能促使员工尽可能的恪尽职守。

    周会也可讨论彼此的工作进度、交流未完成工作的对策、互相了解团队成员的工作状态、传达上层领导的指示、交流技术与分享等等~~~

    总之,每个人的工作饱和度及个性等差异化,如果没有有效的沟通,关系可能就会像从果核中慢慢腐烂到表皮的水果,彼此互有抱怨。因此,固定一段时间进行正式的交流并成为习惯是值得推荐的沟通方式,同时也可使得同事关系融洽,人员氛围优升~

    9、绩效束缚

    关键绩效指标(KPI)是指用于评测组织中与关键目标或关键成功因素,许多公司到了一定规模后,都把KPI考核作为一项主要的管理工具。

     

    而事实是绩效是一种工具,人却是复杂的,管理人更是一件复杂的事情,要想面面俱到,很难靠绩效这个工具来简化所有的问题。当然,很多东西量化之后,就显得比较好管理。对于产品经理、运营人员、销售人员等等而言,量化指标,往往是看的见的数字。而对于运维及部分职位,可能就很难有一个量化指标!

     

    绩效的设计应该是帮助个人发展,帮助员工赢的尊重的,而不是用于桎梏个人的。当个人的价值观和企业的价值观起些许冲突时,但凡一个好企业,往往具有包容性;而当冲突严重时,同时个人又不能妥协时,可以考虑换个环境,避免继续在一起的双方损失。

     

    在书《赢》中,管理大师杰克·韦尔奇运用绩效造就了伟大的文化,而不容忽视的背景是,他花了许多年创立了坦诚沟通的企业文化。如果没有坦诚、没有沟通、绩效可能会成为破坏企业文化的杀手。在推动工作进展的时候,不是去考虑对公司是否真的有帮助,而是主要去考虑自己的绩效,是一个非常不好的倾向。自己现有的工作成果,工作输出,决定了自己后续的工作方向~~~

     

    10、优化设计

    应该有意识地优化流程设计以提高工作效率和服务质量。随着公司业务的发展,运维部门也会随之扩张,如果缺乏合理的流程或缺乏高层次的人才,那么往往会出现一个问题:人数增多了,效率反而下降了!因为随着公司规模的扩大,所管理和维护的资源急剧膨胀,出于安全和其他因素考虑,设计了各种各样的流程,以便得到正确的执行结果,但有时这些流程可能会导致效率下降,部门内部的沟通成本也越来越高,这都需要运维人员对流程本身建立反馈和优化的机制,有意识地不断优化流程!

  • Linux 系统运维常用40条命令汇总

    1、删除0字节文件

    find -type f -size 0 -exec rm -rf {} \;
    2、查看进程
    按内存从大到小排列
    PS -e -o "%C : %p : %z : %a"|sort -k5 -nr

    3、按 CPU 利用率从大到小排列

    ps -e -o "%C : %p : %z : %a"|sort -nr

    4、打印 cache 里的URL

    grep -r -a jpg /data/cache/* | strings | grep "http:" | awk -F'http:' '{print "http:"$2;}'

    5、查看 http 的并发请求数及其 TCP 连接状态:

    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
    6、 sed -i '/Root/s/no/yes/' /etc/ssh/sshd_config sed 在这个文里 Root 的一行,匹配 Root 一行,将 no 替换成 yes。

    7、如何杀掉 MySQL 进程

    ps aux |grep mysql |grep -v grep  |awk '{print $2}' |xargs kill -9 (从中了解到awk的用途)
    killall -TERM mysqld
    kill -9 `cat /usr/local/apache2/logs/httpd.pid`   试试查杀进程PID

    8、显示运行 3 级别开启的服务:

    ls /etc/rc3.d/S* |cut -c 15-   (从中了解到cut的用途,截取数据)

    9、如何在编写 SHELL 显示多个信息,用 EOF

    cat << EOF+--------------------------------------------------------------+|       === Welcome to Tunoff services ===                |+--------------------------------------------------------------+EOF

    10、for 的巧用(如给 MySQL 建软链接)

    cd /usr/local/mysql/binfor i in *do ln /usr/local/mysql/bin/$i /usr/bin/$idone

    11、取 IP 地址

    ifconfig eth0 |grep "inet addr:" |awk '{print $2}'| cut -c 6-  或者ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'

    12、内存的大小:

    free -m |grep "Mem" | awk '{print $2}'

    13

    netstat -an -t | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort

    14、查看 Apache 的并发请求数及其 TCP 连接状态:

    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

    15、因为同事要统计一下服务器下面所有的 jpg 的文件的大小,写了个 SHELL 给他来统计。原来用 xargs 实现,但他一次处理一部分。搞的有多个总和……,下面的命令就能解决。

    find / -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'

    CPU 的数量(多核算多个CPU,cat /proc/cpuinfo |grep -c processor)越多,系统负载越低,每秒能处理的请求数也越多。

    16、CPU负载

    cat /proc/loadavg

    检查前三个输出值是否超过了系统逻辑 CPU 的4倍。

    17、 CPU负载

    mpstat 1 1

    检查 %idle 是否过低(比如小于5%)。

    18、内存空间

    free

    检查 free 值是否过低,也可以用 # cat /proc/meminfo

    19、SWAP 空间

    free

    检查 swap used 值是否过高,如果 swap used 值过高,进一步检查 swap 动作是否频繁:

    vmstat 1 5

    观察 si 和 so 值是否较大

    20、磁盘空间

    df -h
    检查是否有分区使用率(Use%)过高(比如超过90%)如发现某个分区空间接近用尽,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录:
    du -cks * | sort -rn | head -n 10

    21、磁盘 I/O 负载

    iostat -x 1 2

    检查I/O使用率(%util)是否超过 100%

    22、网络负载

    sar -n DEV

    检查网络流量(rxbyt/s, txbyt/s)是否过高

    23、网络错误

    netstat -i

    检查是否有网络错误(drop fifo colls carrier),也可以用命令:# cat /proc/net/dev

    24、网络连接数目

    netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n

    25、进程总数

    ps aux | wc -l

    检查进程个数是否正常 (比如超过250)

    26、可运行进程数目

    vmwtat 1 5

    列给出的是可运行进程的数目,检查其是否超过系统逻辑 CPU 的 4 倍

    27、进程

    top -id 1

    观察是否有异常进程出现。

    28、网络状态,检查DNS,网关等是否可以正常连通

    29、用户

    who | wc -l

    检查登录用户是否过多 (比如超过50个)   也可以用命令:# uptime。

    30、系统日志

    # cat /var/log/rflogview/*errors

    检查是否有异常错误记录   也可以搜寻一些异常关键字,例如:

    grep -i error /var/log/messagesgrep -i fail /var/log/messages

    31、核心日志

    dmesg

    检查是否有异常错误记录。

    32、系统时间

    date

    检查系统时间是否正确。

    33、打开文件数目

    lsof | wc -l

    检查打开文件总数是否过多。

    34、日志

    # logwatch –print
    配置 /etc/log.d/logwatch.conf,将 Mailto 设置为自己的 email 地址,启动 mail 服务(sendmail或者postfix),这样就可以每天收到日志报告了。
    缺省 logwatch 只报告昨天的日志,可以用 # logwatch –print –range all 获得所有的日志分析结果。
    可以用 # logwatch –print –detail high 获得更具体的日志分析结果(而不仅仅是出错日志)。

    35、杀掉80端口相关的进程

    lsof -i :80|grep -v “ID”|awk ‘{print “kill -9”,$2}’|sh

    36、清除僵死进程

    ps -eal | awk '{ if ($2 == "Z") {print $4}}' | kill -9

    37、tcpdump 抓包,用来防止80端口被人攻击时可以分析数据

    tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts

    38、然后检查IP的重复数并从小到大排序 注意 “-t\ +0”   中间是两个空格

    # less pkts | awk {'printf $3"\n"'} | cut -d. -f 1-4 | sort | uniq -c | awk {'printf $1" "$2"\n"'} | sort -n -t\ +0

    39、查看有多少个活动的 php-cgi 进程

    netstat -anp | grep php-cgi | grep ^tcp | wc -l

    40、查看系统自启动的服务

    chkconfig --list | awk '{if ($5=="3:on") print $1}'

    41、kudzu 查看网卡型号

    kudzu --probe --class=network

    常用正则表达式

    1.匹配中文字符的正则表达式: [\u4e00-\u9fa5]

    评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

    2.匹配双字节字符(包括汉字在内):[^\x00-\xff]

    评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

    3.匹配空白行的正则表达式:\n\s*\r

    评注:可以用来删除空白行

    4.匹配 HTML 标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />

    评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

    5.匹配首尾空白字符的正则表达式:^\s*|\s*$

    评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

    6.匹配Email地址的正则表达式:

    \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

    评注:表单验证时很实用

    7.匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*

    评注:网上流传的版本功能很有限,上面这个基本可以满足需求

    8.匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

    评注:表单验证时很实用

    9.匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}

    评注:匹配形式如 0511-4405222 或 021-87888822

    10.匹配腾讯QQ号:[1-9][0-9]{4,}

    评注:腾讯QQ号从10000开始

    11.匹配中国邮政编码:[1-9]\d{5}(?!\d)

    评注:中国邮政编码为6位数字

    12.匹配×××:\d{15}|\d{18}

    评注:中国的×××为15位或18位

    13.匹配ip地址:\d+\.\d+\.\d+\.\d+

    评注:提取 IP 地址时有用

    14.匹配特定数字:

    ^[1-9]\d*$   //匹配正整数^-[1-9]\d*$  //匹配负整数^-?[1-9]\d*$  //匹配整数^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)^-[1-9]\d*|0$  //匹配非正整数(负整数 + 0)^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$  //匹配正浮点数^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$  //匹配非负浮点数(正浮点数 + 0)^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0)

    评注:处理大量数据时有用,具体应用时注意修正

    15.匹配特定字符串:

    ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串^[a-z]+$ //匹配由26个英文字母的小写组成的字符串^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串

    评注:最基本也是最常用的一些表达式

  • 经常使用五个Linux运维流量监控工具推荐

    运维监控工具千千万,仅开源的解决方案就有流量监控(MRTG、Cacti、SmokePing、Graphite 等)和性能告警(Nagios、Zabbix、Zenoss Core、Ganglia、OpenTSDB等)可供选择。

    并且每种软件都有自己的特点和功能,各自的侧重点和目标不完全相同,在设计理念和实现方法上也大同小异,但都具有共同特征。例如,采集数据、分析展示、告警以及简单的故障自动处理。最终都能达到对 IT 系统服务可用性的一个完全展示。

    下面我们将针对目前行业内常用的五种监控工具(Cacti、Nagios、Zabbix、Grafana、Prometheus)详细介绍各自的特点。

    1、Cacti
    Cacti(英文含义为仙人掌)是一套基于 PHP、MySQL、SNMP 和 RRDtool开发的网络流量监测图形分析工具。


    它通过 snmpget 来获取数据,使用 RRDtool 绘图,但使用者无须了解 RRDtool 复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、主机设备以及任何一张图,还可以与 LDAP 结合进行用户认证,同时也能自定义模板,在历史数据的展示监控方面,其功能相当不错。

    Cacti 通过添加模板,使不同设备的监控添加具有可复用性,并且具备可自定义绘图的功能,具有强大的运算能力(数据的叠加功能)。

    2、Nagios
    Nagios 是一个企业级的监控系统,可监控服务的运行状态和网络信息等,并能监视所指定的本地或远程主机参数以及服务,同时提供异常告警通知功能等。

    Nagios 可运行在 Linux 和 UNIX 平台上,同时提供一个可选的基于浏览器的Web 界面,以方便系统管理人员查看网络状态、各种系统问题,以及日志等。Nagios 的功能侧重于监控服务的可用性,能及时根据触发条件告警。


    目前,Nagios 也占领了一定的市场份额,不过从观察来看,Nagios 并没有与时俱进,已经不能满足于多变的监控需求,架构的扩展性和使用的便捷性有待增强,其高级功能集成在商业版 Nagios XI 中。

     

    3. Zabbix
    Zabbix 是一个分布式监控系统,支持多种采集方式和采集客户端,有专用的Agent(代理),也可以支持 SNMP、IPMI、JMX、Telnet、SSH 等多种协议,它将采集到的数据存放到数据库,然后对其进行分析整理,达到条件触发告警。


    Zabbix拥有良好的扩展性,同时它的功能十分丰富,可以监控CPU负荷、内存使用、磁盘使用、网络状况、端口监视、日志监视等。

    但是因为消耗资源较多的缘故,如果监控的主机非常多时,可能会出现监控超时、告警超时等现象。

    4、Prometheus
    Prometheus 作为一个数据监控解决方案,它由一个大型社区支持,有来自700多家公司的6300个贡献者,13500个代码提交和7200个拉取请求。


    Prometheus具有以下特性:

    多维的数据模型(基于时间序列的Key、Value键值对)
    灵活的查询和聚合语言PromQL
    提供本地存储和分布式存储
    通过基于HTTP的Pull模型采集时间序列数据
    可利用Pushgateway(Prometheus的可选中间件)实现Push模式
    可通过动态服务发现或静态配置发现目标机器
    支持多种图表和数据大盘
    图片
    5、Grafana
    Grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现。


    Grafana支持许多不同的数据源。每个数据源都有一个特定的查询编辑器,该编辑器定制的特性和功能是公开的特定数据来源。官方支持以下数据源:Graphite,Elasticsearch,InfluxDB,Prometheus,Cloudwatch,MySQL和OpenTSDB等。

    每个数据源的查询语言和能力都是不同的。你可以把来自多个数据源的数据组合到一个仪表板,但每一个面板被绑定到一个特定的数据源,它就属于一个特定的组织。

    最后
    每个监控工具的优势和能力都是不同的。你可以根据实际应用需求,选择适合的监控工具。阿里云内部超全K8s/ECS/RDS/OSS/DevOps/DTS实战手册,提供下载!