我在Netdata上构建了一个监控栈

首先

给你介绍一个很方便用来监控服务器的工具 —— Netdata。

Netdata是一种什么东西

Netdata 是一种服务器监控工具。最近监控方面很多人都在使用 Prometheus,但是 Netdata 使用了与 Prometheus 有些不同的设计方法。

項目PrometheusNetdata設定ファイル必要不要対象サーバ複数のリモートサーバローカルサーバのみ集計するメトリクスエクスポータを使用して集計あらゆるメトリクスを自動で集計メトリクスの保存期間長期間短期間可視化主に Grafana を利用同梱の Web ダッシュボードを利用利用用途メトリクスのヒストリ管理リアルタイム監視

使用 Prometheus 可以查看服务器集群的整体指标,使用 Netdata 可以查看每个服务器的实时指标。通过这种方式来使用是根据 Netdata 文档的设想。

undefined

仪表盘非常酷炫。

undefined

Netdata会自动收集几乎所有您希望查看的指标。

    • CPU 使用率

 

    • メモリ使用量

 

    • スワップ

 

    • ディスク I/O

 

    • ネットワーク

 

    • スレッド数

 

    • プロセス数

 

    • 各種 RDB の稼働状況

 

    • Apache/Nginx の稼働状況

 

    • コンテナの稼働状況

 

    その他 Tomcat/WSGI/Fluentd/Hadoop など多数

怎么开始

由于有预先准备好的Docker镜像,所以可以轻松启动。

$ docker run -d --name=netdata \
  -p 19999:19999 \
  -v /etc/passwd:/host/etc/passwd:ro \
  -v /etc/group:/host/etc/group:ro \
  -v /proc:/host/proc:ro \
  -v /sys:/host/sys:ro \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  --cap-add SYS_PTRACE \
  --security-opt apparmor=unconfined \
  netdata/netdata

当您成功启动后,可以通过访问 http://localhost:19999 来查看上述类似的仪表板。

普罗米修斯出口器(Prometheus エクスポータ)

由于Netdata只保存最近1小时的指标,因此不适用于长期指标监控。但是,Netdata配备了Prometheus Exporter功能,因此与Prometheus配合使用即可实现长期指标存储。而且,它还可以自动汇总各种指标,可以用作通用的导出器。

您可以通过访问以下URL,以Prometheus可读取的格式导出指标数据。

http://localhost:19999/api/v1/allmetrics?format=prometheus

只需将此 URL 登记到 Prometheus 中,就能够在 Grafana 中可视化过去的度量数据。

Shell出口

指标还可以作为环境变量导入。

$ eval "$(curl -s http://localhost:19999/api/v1/allmetrics)"
$ set | grep "^NETDATA_SYSTEM_CPU"
NETDATA_SYSTEM_CPU_GUEST=0
NETDATA_SYSTEM_CPU_GUEST_NICE=0
NETDATA_SYSTEM_CPU_IDLE=95
NETDATA_SYSTEM_CPU_IOWAIT=0
NETDATA_SYSTEM_CPU_IRQ=0
NETDATA_SYSTEM_CPU_NICE=0
NETDATA_SYSTEM_CPU_SOFTIRQ=0
NETDATA_SYSTEM_CPU_STEAL=0
NETDATA_SYSTEM_CPU_SYSTEM=1
NETDATA_SYSTEM_CPU_USER=4
NETDATA_SYSTEM_CPU_VISIBLETOTAL=5

当使用环境变量来获取指标时,即使不使用各种Linux命令,也可以参考指标,这样可以使Shell脚本编写更加简洁。

将Confluence嵌入

我个人没有使用过,但是Netdata的仪表板可以嵌入到Confluence中,我会介绍一下。

如果可用HTML插件,您可以在Confluence中嵌入图表,如下所示。

undefined

请参考此处的网址 https://docs.netdata.cloud/web/gui/confluence/,了解详细的使用方法。

其他的 API

Netdata具备许多其他方便的API。

    • メトリクスを CSV/JSON で取得

 

    Google charts 連携

我认为这些都很方便。请参考下面的每个 API 的使用方法。

    • API: https://docs.netdata.cloud/web/api/

Swagger: https://registry.my-netdata.io/swagger/

整理筆記

Netdata的安装门槛低,可以与各种工具进行协作,实现现代化的监控功能,欢迎您尝试一下。

广告
将在 10 秒后关闭
bannerAds