监控内网 Linux 性能数据,哪些比较省心?

2022-08-16 10:43:27 +08:00
 hunk

有个需求,是一批美国家宽的 centos 主机,pppoe 拨号比较恶心。 我想采集运行数据,以便监控和告警。 转了一圈,比较看好七牛的智能日志平台,但需要申请。 阿里云的云监控可以收集云以外的数据,但运行 agent 脚本,不成功。推测是哪里被屏蔽了。 zabbix 需要自己找机器搭建,似乎是最终方案。 借鉴下各位的经验,谢谢!

5807 次点击
所在节点    云计算
22 条回复
flexbug
2022-08-16 10:58:35 +08:00
用 grafana lab
beshe
2022-08-16 11:10:22 +08:00
直接在那边建 zabbix server ,然后 ansible 一批过装上 agent ,然后喝茶刷剧,哈哈
plko345
2022-08-16 11:23:52 +08:00
首选 Prometheus+Grafana
hunk
2022-08-16 12:14:37 +08:00
@flexbug @plko345 Grafana 方案需要在客户端运行 http 服务,我要面对的情况是动态 ip ,不确定。
只能由客户端推送数据比较靠谱。
Itoktsnhc
2022-08-16 12:18:05 +08:00
Prometheus 可以用 pushgateway 嘛。另外不知道 netdata 这种可不可以
Trim21
2022-08-16 12:37:59 +08:00
grafana agent 可以采集本地信息然后 remote write 到远程机器上,用 cortex 之类的支持 remote write 的 prometheus 替代品就好了。这样只要一台公网 ip 机器用来收集。
AS4694lAS4808
2022-08-16 13:38:22 +08:00
grafana + prometheus ,监控通过插件已经足够强大了,自己花点心思就能满足好看的需求,懒得配置 grafana 面板也有不少别人配好的可以直接套用。
AS4694lAS4808
2022-08-16 13:42:32 +08:00
aladdinding
2022-08-16 14:22:50 +08:00
@hunk 找个有固定 Ip 的做反向代理 端口映射
network127001
2022-08-16 17:59:07 +08:00
zabbix 部署最方便了,要求不高都不用 grafana 做展示,自带就够了。Prometheus 要调的东西太多了 哪里省心
hunk
2022-08-16 22:39:24 +08:00
@Trim21 @Itoktsnhc 请问二位 grafana agent 的用法,我现在的想法是通过 curl 获取机器的公网 ip ,然后通过 agent 上报给 prometheus,通过 agent 该如何处理?监控机器的性能倒是有现成插件,相对简单,涉及比较个性化的数据,就头大了。
hunk
2022-08-16 22:40:10 +08:00
@network127001 zabbix 部署用 docker 方便还是直接安装?下午也看了下,各种 db ,怕和现有的冲突,没继续装下去。
proxychains
2022-08-16 23:33:50 +08:00
prometheus + node-exporter + consul + gargana
Trim21
2022-08-17 04:14:54 +08:00
@hunk IP 这个,弄个域名设置个 DNS 不就好了。

agent 是从监控数据的端口拉取数据之后用的 remote write 推送数据的。个性化的监控数据跟 node-exporter 一样开个新进程,让 agent 从本地机器的对应进程上去拉,然后推到远程的数据库上。
network127001
2022-08-17 10:59:04 +08:00
@hunk 用软件包部署,docker 不方便采集宿主机的数据,不知道新版本有没有解决,数据库就是 mysql 呀,新建个 db 导入 sql 文件就行了,zabbix+php+nginx+mysql
hunk
2022-08-17 14:06:12 +08:00
@network127001 昨天用软件包部署了,但 agent 端没连上。server 端部署在防火墙后非 80 端口。感觉还需要些时间折腾下。

@Trim21 内网上 PPPOE 拨号,IP 不固定,比较扯。我大体理清思路,agent 是抓取本地的 metrics 数据上传。我尝试了腾讯云的,抓取成功。就是 grafana agent 的语法有些不清楚,查看官方文档也不甚理解,不知道如何配置,我写了个 golang 的数据端,测试自定义数据的采集。
Trim21
2022-08-17 14:30:36 +08:00
@hunk 抓取本地的不是直接用 localhost 吗?这个过程中不需要你下位机的 ip 地址啊…
Trim21
2022-08-17 15:08:42 +08:00
grafana agent 的文档是不太行,给你贴下我之前写的配置文件做参考吧

https://gist.github.com/Trim21/52b0932ecc300b2a766f28192ae18084
hunk
2022-08-17 15:41:33 +08:00
@Trim21 谢谢谢谢!超级实用,对照了下,是这单词写错了,好低级的错误。
终于搞定 golang 的数据通过 Grafana Agent 接入了。省事。
network127001
2022-08-18 10:44:08 +08:00
@hunk 你的虚拟机都是分开的吗,还是在一个内网?可以跟 server 端搞个 ipsec 隧道,然后通过隧道的静态 IP 传数据,如果是一个内网搞个中间代理,分布式就要所有节点都建立隧道了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/873130

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX