运维界12款冷门但非常牛X的工具

2023-09-07 17:58:08 浏览数 (1)

本期推荐几款相对冷门,但非常好用的工具

1、Conky

Conky 是一个轻量级的系统监视工具,可以显示系统状态、资源使用情况、网络流量等信息。它支持通过配置文件自定义显示内容和格式。

  • 安装命令:sudo yum install conky
  • 使用命令: conky -c <config_file_path>
  • 示例说明: 创建 ~/conkyrc 文件:
代码语言:javascript复制
   ${color green}SYSTEM ${hr 2}$color
   $nodename $sysname $kernel
   Uptime: $uptime
   Load: $loadavg
   CPU: ${cpu cpu}% ${cpubar}
   RAM: ${mem} / ${memmax} ${membar}
   Swap: ${swap} / ${swapmax} ${swapbar}

   ${color green}NETWORK ${hr 2}$color
   IP: ${addr enp0s3}
   Down: ${downspeed enp0s3} ${downspeedgraph enp0s3}
   Up: ${upspeed enp0s3} ${upspeedgraph enp0s3}

运行 Conky:

代码语言:javascript复制
   $ conky -c ~/conkyrc

这表明 Conky 显示了当前系统的一些基本信息和网络流量等指标。

2、Glances

Glances 是一个基于终端的系统监视工具,可以显示 CPU、内存、网络、存储等信息,还支持扩展插件。

  • 安装命令:sudo yum install glances
  • 使用命令: glances
  • 示例说明: 运行 Glances:
代码语言:javascript复制
   $ glances

这表明 Glances 显示了当前系统上的一些重要指标,包括 CPU 使用率、内存使用情况、磁盘使用情况、网络传输速率等。

3、Linux Dash

Linux Dash 是一个基于 Web 的系统监视工具,可以通过浏览器访问,显示系统资源使用情况、进程、文件系统等信息。

  • 安装命令:sudo yum install python3-linux-dash
  • 使用命令: sudo linux-dash
  • 示例说明: 运行 Linux Dash:
代码语言:javascript复制
   $ sudo linux-dash

然后在浏览器中访问 http://localhost:23333,就可以看到 Linux Dash 的监视页面。这页面列出了当前系统上的进程、CPU 和内存使用情况、文件系统信息、网络流量等指标。

4、Netdata

Netdata 是一个基于 Web 的实时性能监测工具,可以实时地显示服务器的 CPU、内存、磁盘、网络等指标,还可以细分到单个进程的性能指标。

  • 安装命令:bash &lt;(curl -Ss https://my-netdata.io/kickstart.sh)
  • 使用命令: sudo systemctl start netdata
  • 示例说明: 在安装完 Netdata 后,使用 systemctl 命令启动服务:
代码语言:javascript复制
   $ sudo systemctl start netdata

然后在浏览器中访问 http://localhost:19999,就可以看到 Netdata 的监视页面。这页面包含了当前系统的所有监测指标,以及各种统计图表和警告信息等。

5、Ntop

Ntop是一款网络流量监测工具,可以通过通过Web界面来查看网络流量和协议的信息。Ntop 官网: http://www.ntop.org/

安装

代码语言:javascript复制
sudo apt-get install ntop

启动 Ntop

代码语言:javascript复制
sudo ntop -i <network_interface>

其中,<network_interface> 是指定要监测的网络接口名。

访问 Web 界面

在浏览器中输入以下地址:

代码语言:javascript复制
http://<ip_address>:3000/

其中,<ip_address> 是指运行 Ntop 的主机的 IP 地址。

6、Graphite

Graphite 是一款开源的度量监控工具,可以收集和展示系统性能指标。Graphite 官网: https://graphiteapp.org/

安装

代码语言:javascript复制
sudo apt-get install graphite-web graphite-carbon

配置 Graphite

/etc/graphite/local_settings.py 文件中添加以下配置:

代码语言:javascript复制
TIME_ZONE = 'Asia/Shanghai'

然后创建数据库:

代码语言:javascript复制
sudo python3 /usr/share/graphite-web/graphite/manage.py syncdb

启动 Carbon 和 Graphite Web 服务

代码语言:javascript复制
sudo systemctl start carbon-cache
sudo systemctl start graphite-web

访问 Web 界面

在浏览器中输入以下地址:

代码语言:javascript复制
http://<ip_address>:80/

其中,<ip_address> 是指运行 Graphite Web 的主机的 IP 地址。

7、Munin

Munin 是一款网络监控工具,可以用于监控多个主机的系统资源、网络流量和服务状态等。Munin 官网: http://munin-monitoring.org/

安装

代码语言:javascript复制
sudo apt-get install munin-node munin

配置 Munin

编辑 /etc/munin/munin-node.conf 文件,添加以下配置:

代码语言:javascript复制
allow ^<ip_address>

其中,<ip_address> 是指 Munin 服务器的 IP 地址。

启动 Munin

代码语言:javascript复制
sudo systemctl start munin-node

访问 Web 界面

在浏览器中输入以下地址:

代码语言:javascript复制
http://<ip_address>/munin/

其中,<ip_address> 是指 Munin 服务器的 IP 地址。

8、Pingdom

Pingdom 是一款 SaaS 云监控工具,可以用于监控网站、应用程序、服务器和网络等资源的可用性和性能。Pingdom 官网: https://www.pingdom.com/

注册账号

首先需要在 Pingdom 官网上注册账号,并在控制台中创建监控任务。

使用 API

可以使用 Pingdom API 来访问 Pingdom 的监控数据。需要先在控制台中生成 API 密钥,并使用以下命令来获取指定时间段内的监控数据:

代码语言:javascript复制
curl -X GET 
-H "App-Key: <app_key>" 
-H "Authorization: Bearer <api_token>" 
"https://api.pingdom.com/api/3.1/checks/<check_id>/analysis?from=<from>&to=<to>"

其中,<app_key> 是应用程序的密钥,<api_token> 是 API 访问令牌,<check_id> 是监控任务的 ID,<from><to> 是起止时间戳。

返回结果是 JSON 格式的数据,可以使用 jq 命令来解析和格式化:

代码语言:javascript复制
curl -X GET 
-H "App-Key: <app_key>" 
-H "Authorization: Bearer <api_token>" 
"https://api.pingdom.com/api/3.1/checks/<check_id>/analysis?from=<from>&to=<to>" 
| jq .

其中,. 表示将解析结果直接输出到终端。

9、Ganglia

Ganglia是一种用于监测计算机系统、网络和应用程序的开源软件。它可以在多个主机之间共享系统性能数据,并将其呈现为可视化的图形。以下是Ganglia的使用方法和相关命令:

安装

安装Ganglia的命令会根据你的Linux发行版而有所不同。以下是一些示例:

代码语言:javascript复制
# Ubuntu/Debian
sudo apt-get install ganglia-monitor gmetad ganglia-webfrontend

# CentOS/RHEL
sudo yum install ganglia-gmond ganglia-gmetad ganglia-web

配置

在安装后,需要对Ganglia进行配置,使其能够连接到主机并收集数据。以下是一些示例配置:

  • /etc/ganglia/gmond.conf:该文件包含gmond守护进程的配置。在其中指定数据传输端口、主机名等信息。
  • /etc/ganglia/gmetad.conf:该文件包含gmetad守护进程的配置。在其中指定数据存储路径、数据源等信息。
  • /etc/httpd/conf.d/ganglia.conf:该文件包含Ganglia Web前端的Apache配置。在其中指定Web访问路径等信息。

启动

安装和配置完成后,需要启动Ganglia守护进程和Web前端。以下是一些示例命令:

代码语言:javascript复制
# 启动gmond守护进程
sudo service gmond start

# 启动gmetad守护进程
sudo service gmetad start

# 启动Web前端
sudo service httpd start

监控

Ganglia的主要用途是监控系统性能。它可以收集CPU使用率、内存使用率、网络流量等信息,并将其呈现为可视化的图形。以下是一些示例命令:

代码语言:javascript复制
# 查看当前主机的CPU使用率
gmetric -n cpu_usage -v 50 -t uint16 -u % -D "CPU usage"

# 查看当前主机的内存使用率
gmetric -n mem_usage -v 70 -t uint16 -u % -D "Memory usage"

# 查看当前主机的网络流量
gmetric -n network_traffic -v 100 -t float -u "KB/s" -D "Network traffic"

以上命令会将指定的性能数据发送到Ganglia守护进程,以便进行监控和可视化。

10、collectd

collectd是一种系统性能收集器,它可以监测主机上的CPU、内存、磁盘、网络等性能数据,并将其发送到其他系统进行分析和可视化。以下是collectd的使用方法和相关命令:

安装

安装collectd的命令会根据你的Linux发行版而有所不同。以下是一些示例:

代码语言:javascript复制
# Ubuntu/Debian
sudo apt-get install collectd

# CentOS/RHEL
sudo yum install collectd

11、Zenoss Core

Zenoss Core 是一款基于 Web 的网络管理和监控软件,支持集中的系统管理、应用程序监控、网络流量分析等功能。Zenoss Core 官网: https://www.zenoss.com/products/core-platform

安装

Zenoss Core 的安装非常复杂,建议参考官方文档或教程进行安装和配置。

访问 Web 界面

在浏览器中输入以下地址:

代码语言:javascript复制
http://<ip_address>:8080/

其中,<ip_address> 是指运行 Zenoss Core 的主机的 IP 地址。

使用命令行界面

可以使用命令行界面来进行监控和管理,示例命令如下:

代码语言:javascript复制
# 显示所有设备
zenbatchload -v devices.txt

# 显示所有事件
zenevents -l

# 显示所有性能数据
zencommand -u admin -p passwd -v <dev_name> getDataPoints

其中,devices.txt 是包含设备名称和 IP 地址的文本文件,<dev_name> 是指定设备的名称。

12、Hyperic HQ

Hyperic HQ 是一款企业级系统管理和监控工具,支持多平台、多种应用程序和网络协议。Hyperic HQ 官网: http://www.hyperic.com/

安装

Hyperic HQ 的安装非常复杂,建议参考官方文档或教程进行安装和配置。

访问 Web 界面

在浏览器中输入以下地址:

代码语言:javascript复制
http://<ip_address>:7080/

其中,<ip_address> 是指运行 Hyperic HQ 的主机的 IP 地址。

使用命令行界面

可以使用命令行界面来进行监控和管理,示例命令如下:

代码语言:javascript复制
# 在指定服务器上安装 agent
hq-agent.sh install <server_ip>

# 启动 agent
hq-agent.sh start

# 安装指定服务的插件和检测器
hq-plugin.sh -i ./plugins/*.zip

# 添加指定的服务器并进行监控
hqapi-server.sh add-resource --host=<host> --port=<port> --username=<username> --password=<password> --autoinventory

其中,<server_ip> 是指定服务器的 IP 地址,plugins/*.zip 是插件包的文件路径,<host>, <port>, <username><password> 是指定服务器的连接信息。

以上工具功能非常丰富且复杂,以上只是简述它们的客户端命令示例,如果需要深入了解和利用这些工具,建议参考每个工具的官方文档和使用手册。

0 人点赞