首页 > 信息速递 > 正文

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 后续更新

MySQL 数据库监控

运行mysql专用的exporter

docker run -d --name mysqldExporter \
-p 9104:9104 \
-e DATA_SOURCE_NAME="root:12435678@(gateway01.ap-northeast-1.prod.aws.tidbcloud.com:4000)/"  \
prom/mysqld-exporter

然后看docker 的logs

docker logs mysqldExporter

看到mysqlExport成功启动后,记录下启动端口,再配置到prometheus

重启pro的docker,刷新一下,可以看到exporter工作正常

再配置到grafana上去。

到grafana官网去找一个适合 prometheus的mysql模版,选择一个id 12826

这个看起来比较完善

导入,即可。

猜你喜欢
发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论信息