监控系统神器- 普罗米修斯 prometheus 快速入门 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ggvm
V2EX    分享发现

监控系统神器- 普罗米修斯 prometheus 快速入门

  •  
  •   ggvm 2022-09-07 00:25:17 +08:00 3482 次点击
    这是一个创建于 1180 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近负责的项目比较细碎,需要监控一堆主机、服务可用性、业务指标等。在本 V2EX 论坛搜索监控系统, 虽然说有各种推荐,但各种评论指向 prometheus ,于是花了一些时间,研究一下 prometheus + grafana 结合,觉得方案非常不错,为了帮助大家节省时间,把一些部署经验总结如下。

    prometheus 是一个开源的监控系统解决,可以独立运行,并提供了可视化的界面。prometheus 可以应对常见的主机、数据库、网络监控,同时也可以监控自定义的指标。更厉害的事,prometheus 生态有大量的现成解决方案。

    做网络监控系统的同学,在自己发明轮子之前,最好先研究一下普罗米修斯。以免白白浪费时间造了一个早已存在的轮子。

    阅读本文基本无需写代码,只需要理解相关概念,所有工程人员均可搭建一个基本可用的监控系统。以后你在选择监控系统的时候,就没有必要找各种付费产品或者一些完成度很低的小作坊产品。事实上,主机差评君使用一个 1C1G 的机器,已经完全可以搭建一个可用的监控系统,很多开源产品非常复杂,搭建好一个系统 4C4G 的系统资源都相当吃紧。

    本文展示详细的使用步骤,帮助大家节省部署时间。

    prometheus 的安全是相对繁琐的,所以我们尽量使用 docker 去简化步骤。我们将主要安装两个服务,一个是 prometheus ,主要负责序列数据存储和提供数据源;二是 grafana ,主要负责 UI 展示和序列数据分析。

    新建 monitor 文件夹,并进入我们的步骤

    一 安装普罗米修斯 prometheus 1 拉取 docker image

    docker pull prom/prometheus #下载配置文件例子 wget https://raw.githubusercontent.com/prometheus/prometheus/main/documentation/examples/prometheus.yml 上面的配置文件很简单,就是 prometheus 在监控自己这个节点

    docker run --name myPrometheus -d -p 9090:9090 -v pwd/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus 运行上面的命令,把 prometheus 运行起来

    如果 打开 http://ip:9090 看到 web 界面,就是运行起来了。

    可以到这里,下载一个 node_exporter 这里可以上报节点主机的状态

    https://prometheus.io/download/

    下载好 node_exporter 之后,请你运行他,看到一堆输出

    ts=2022-09-06T13:25:33.142Z caller=node_exporter.go:115 level=info collector=uname ts=2022-09-06T13:25:33.142Z caller=node_exporter.go:115 level=info collector=vmstat ts=2022-09-06T13:25:33.142Z caller=node_exporter.go:115 level=info collector=xfs ts=2022-09-06T13:25:33.142Z caller=node_exporter.go:115 level=info collector=zfs ts=2022-09-06T13:25:33.142Z caller=node_exporter.go:199 level=info msg="Listening on" address=:9100 ts=2022-09-06T13:25:33.144Z caller=tls_config.go:195 level=info msg="TLS is disabled." http2=false 其中最重要的是看到 9100 。这里有 node_exporter 端口。

    访问 http://ip:9100//metrics

    看到输出了一堆节点信息,这就对了。

    修改 pro 的配置文件,增加一段节点配置信息。

    配置好了之后,重启 docker 实例

    docker logs myPrometheus

    在上面的框内,输入 up ,并点击 execute ,看到了我们刚才添加的节点,表示成功了。

    这个 prometheus 虽然提供了 UI 界面,但是 UI 展示并不是他的强项,一般使用 grafana 来进行数据系列的展示。

    二 使用 grafana 展示数据 安装 grafana

    docker run --name myGrafana
    -d -p 3000:3000
    grafana/grafana 如果没有问题后,访问 http://公网 IP:3000 。 使用 admin : admin 登陆,并修改密码。

    在主界面,configuration / add data source

    第一个就是普罗米修斯

    添加 prome 的 http://xxx:port 进去设置,并测试。

    grafana 的目的是展示我们的 node_exporter 上的数据。所以我们到 grafana 的主界面上,import 一个 id 为 8919 的模版。

    8919 是一个 grafana.com 上网友贡献的模版,直接可以使用。 需要找模版,也是到 grafana.com 去。

    导入后,一个吊炸天的 主机监控结果就出来了。

    后续设置告警规则,也可以在 grafana 上进行设置。

    到此,已经使用 prometheous 和 grafana 进行了一个非常简单又专业的监控系统设置。

    后面的内容,主要是给大家举多几个例子加深理解。

    预计将包括:

    1 mysql 等数据的监控

    2 自定义指标的监控

    敬请期待关注 https://zhuji188.com/571.html 后续更新

    6 条回复    2022-09-07 17:22:04 +08:00
    Jzdoxc
        1
    Jzdoxc  
       2022-09-07 01:19:24 +08:00 via iPhone
    插眼,明天给 unraid 试试
    ggvm
        2
    ggvm  
    OP
       2022-09-07 10:58:33 +08:00
    @Jzdoxc 值得关注
    julyclyde
        3
    julyclyde  
       2022-09-07 11:55:44 +08:00   1
    好像也没发现什么新东西啊
    咋就分享出来了呢?
    GoodRui
        4
    GoodRui  
       2022-09-07 13:42:44 +08:00 via iPhone
    插眼,感觉又得从零开始学习了…
    ckxZzz
        5
    ckxZzz  
       2022-09-07 14:56:37 +08:00
    可以讲讲自动发现那方面的规则
    jun4rui
        6
    jun4rui  
       2022-09-07 17:22:04 +08:00
    @Jzdoxc unraid 市场自带,直接安装吧。因为我刚装好
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2822 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 13:51 PVG 21:51 LAX 05:51 JFK 08:51
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86