V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
hunk
V2EX  ›  云计算

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

  •  
  •   hunk · 165 天前 · 4170 次点击
    这是一个创建于 165 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    https://gist.github.com/Trim21/52b0932ecc300b2a766f28192ae18084
    hunk
        19
    hunk  
    OP
       164 天前
    @Trim21 谢谢谢谢!超级实用,对照了下,是这单词写错了,好低级的错误。
    终于搞定 golang 的数据通过 Grafana Agent 接入了。省事。
    network127001
        20
    network127001  
       163 天前
    @hunk 你的虚拟机都是分开的吗,还是在一个内网?可以跟 server 端搞个 ipsec 隧道,然后通过隧道的静态 IP 传数据,如果是一个内网搞个中间代理,分布式就要所有节点都建立隧道了
    joshu
        21
    joshu  
       162 天前
    隔离的内网建议先打通成一个连通的内网
    普通使用的话我觉得 prometheus+grafana 是不错的选择,配合各种 xx exporter 使用,或者自己写
    量大可能 VM 系列的组件会好管理一些
    flynaj
        22
    flynaj  
       105 天前 via Android
    zabbix server
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   311 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 19:30 · PVG 03:30 · LAX 11:30 · JFK 14:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.