你的生产环境还在“裸奔”吗?给服务器上个监控吧

Posted 看,未来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你的生产环境还在“裸奔”吗?给服务器上个监控吧相关的知识,希望对你有一定的参考价值。

文章目录

看开局这张图,心动了不?


安装 promethues

1、从 https://prometheus.io/download/ 找到最新版本的Prometheus Sevrer软件包。
2、下载解压,看到如下目录结构(那个data是自己建的,用于存放运行数据)

3、启动服务:

./prometheus --config.file=prometheus.yml

其会默认加载当前路径下的prometheus.yaml文件。当然我们也可以手动指定配置文件地址。


over。此时打开浏览器输入 localhost:9090 就可以打开:

这个页面是配置完的,先不急。
如果要自己指定 ip 的话可以修改 promethues.yml 文件,在底部有 ip+端口,把那个 localhost 改成目标IP即可。


安装 NodeExporter

prometheus 只是一个存储数据的地方,就像 mysql 的服务端,本身并不收集数据,数据需要导入。(换个角度,它就是一个数据中心,NodeExporter 是为它收集数据的小弟 之一,主要负责采集机器的 CPU、内存、磁盘等信息。)

此外,promethues 还有很多其他的收集信息的小弟,如收集MySQL信息的、redis信息的等等

我们从 https://prometheus.io/download/ 获取最新的 Node Exporter 版本的二进制包。

下载解压后运行 Node Exporter:

./node_exporter

默认是9100 端口。
访问 http://localhost:9100/metrics 可以看到以下页面:


配置 Prometheus 的监控数据源

现在我们运行了 Prometheus 服务器,也运行了业务数据源 NodeExporter。但此时 Prometheus 还获取不到任何数据,我们还需要配置下 prometheus.yml 文件,让其去拉取 Node Exporter 的数据。

编辑prometheus.yml 并在 scrape_configs 节点下添加以下内容:

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  # 采集node exporter监控数据
  - job_name: 'node'
    static_configs:
      - targets: ['localhost:8080']

之后重启 promethues。


安装配置 Grafana

Prometheus UI 提供了快速验证 PromQL 以及临时可视化支持的能力,但其可视化能力却比较弱。一般情况下,我们都用 Grafana 来实现对 Prometheus 的可视化实现。

我们只需要在 Grafana 上配置一个 Prometheus 的数据源。接着我们就可以配置各种图表,Grafana 就会自动去 Prometheus 拉取数据进行展示。

在官网上有安装方式:https://grafana.com/grafana/download

启动:systemctl start grafana-server

登录

Grafana 默认使用 3000 端口启动,我们访问:http://localhost:3000 查看对应页面:

初始账号密码都是admin,首次登录之后会让你修改密码。


添加数据源

之后我们去设置菜单添加 Prometheus 数据源:


配置面板

这里我选择使用人家现成的。

绿的不点,在文本栏里输入代号:9276,想用其它模板可以自己去 Grafana 的官网上挑:https://grafana.com/grafana/dashboards/
选个模板点进去基本都有 ID 和 JSON,自己机灵点。


报警机制

如果我们要使用 Prometheus 进行监控告警,那么 Grafana 也能够实现。

Grafana 的告警渠道有很多,这里我们以邮件告警为例。

首先需要在 Grafana 的配置文件,默认是 conf/default.ini 文件。

[smtp]
enabled = true
host = smtp.exmail.qq.com:465
user = xxx@qq.com
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = xxxx
cert_file =
key_file =
skip_verify = false
from_address = xxx@qq.com  //必须与上面的 user 属性一致
from_name = Grafana
ehlo_identity =

host 这里是你邮箱所在运营商的 SMTP 服务器。user 属性是发件人的邮箱地址。password 是发件人邮箱的登陆密码。from_address 与 user 属性一样,都是发件人的邮箱地址。from_name 是发件人的显示名称。

修改完成之后,保存配置文件,之后重启 Grafana。接着通过 Alerting 菜单添加告警渠道。

之后填写「提醒通道」名称、类型,之后点击「Send Test」按钮测试一下。

正常的话,会受到一封测试邮件,这表明邮件配置已经完成。

(监控这部分后面会做调整)。

参考教程:https://www.cnblogs.com/chanshuyi/category/1862951.html

以上是关于你的生产环境还在“裸奔”吗?给服务器上个监控吧的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop进阶命令使用介绍

代码混淆,不再让生产环境代码裸奔

老王,快给你的SpringBoot做个埋点监控吧!

快给你的Spring Boot做个埋点监控吧!

老王,快快给你的 Spring Boot 做个埋点监控吧!

kafka大量堆积故障复盘(生产环境)