一、Prometheus 是啥?
就是一个专门收集和存储监控数据 的工具,比如 CPU 使用率、内存占用、MySQL 的查询次数等。它会主动去拉取这些数据,存成时间序列(按时间记录的数据)。特点是省空间、查询灵活。
二、怎么装 Prometheus?
-
下载压缩包,解压到
/home/。 -
启动命令:
nohup ./prometheus --config.file=prometheus.yml &。 -
访问
http://服务器IP:9090就能看到它的网页界面。
三、怎么监控其他机器(比如Linux主机)?
-
被监控的机器 要装一个叫
node_exporter的小插件,它会把主机的指标(CPU、内存等)通过9100端口暴露出来。 -
启动插件:
nohup ./node_exporter &。 -
Prometheus这边 需要修改配置文件
prometheus.yml,加上被监控机的IP和端口。 -
重启Prometheus,在网页的
Status -> Targets里看到状态为UP就成功了。
四、怎么监控 MySQL 数据库?
-
先在 MySQL 里创建一个专门用于监控的用户,授权给它查询权限。
-
在被监控的机器上装
mysqld_exporter,并配置文件写好数据库的用户名和密码。 -
启动 exporter(默认端口9104)。
-
同样在 Prometheus 配置文件里加上这个 MySQL 监控的 job,重启即可。
五、Grafana 是干嘛的?怎么用?
Prometheus 自带的图表不好看,Grafana 就是做漂亮仪表盘的,能把数据用折线图、柱状图等展示出来。
-
安装 Grafana(用 yum 或者下载rpm),启动后访问
http://IP:3000,默认账号密码 admin/admin。 -
添加数据源:告诉 Grafana 去哪个 Prometheus 取数据(填上 Prometheus 的 IP:9090)。
-
做图表 :可以自己输入 PromQL 查询语句(比如 CPU 使用率),也可以直接导入现成的模板(比如 MySQL 的仪表盘),上传 JSON 文件就能自动生成一堆图表。
六、怎么配置邮件告警?
-
装一个 Alertmanager 组件,专门负责把告警发出去(比如发邮件)。
-
修改 Alertmanager 的配置文件,填上邮箱的 SMTP 服务器、发件人、授权码,以及收件人地址。
-
在 Prometheus 的配置文件里,告诉它 Alertmanager 的地址,并指定告警规则文件的位置。
-
编写告警规则:比如 CPU 使用率连续2分钟超过5%就触发告警。
-
重启 Prometheus,一旦条件满足,就会自动发邮件到指定邮箱。
总结一句话:
搭这套系统就是:装Prometheus来存数据,装各种Exporter来采集不同对象(主机、MySQL等)的数据,装Grafana来画图表,装Alertmanager来发报警邮件。一步步配好,就能轻松监控服务器的"健康状况"了。