专栏首页阿dai_linuxPrometheus入门+grafana集成 原

Prometheus入门+grafana集成 原

开始使用Prometheus

$ systemctl start prometheus
$ netstat -lntp
tcp6       0      0 :::9090                 :::*                    LISTEN      19824/./prometheus  

在浏览器访问:http://ip:9090/graph 。Prometheus会把自身作为一个项目进行自监控,查看收集到监控项:http://172.16.180.129:9090/metrics (如果是首次启动,需要等待30s左右的时间)

使用内置表达式查看数据

地址:http://ip:9090/graph

Prometheus内置监控项 prometheus_target_interval_length_seconds ,将该监控项直接输入console查询,可获取数据:

![image-20190322132500188](/Users/adai/Library/Application Support/typora-user-images/image-20190322132500188.png)

使用prometheus监控服务器

上面用Prometheus本身的数据简单演示了监控数据的查询,这里我们用一个监控服务器状态的例子来更加直观说明。

为监控服务器CPU、内存、磁盘、I/O等信息,首先需要安装node_exporter。node_exporter的作用是用于机器系统数据收集。

安装node_exporter

node_exporter也是用Golang实现,直接使用预编译的二进制文件部署,开箱即用。

$ cd /home/prometheus && wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
$ tar zxvf node_exporter-0.17.0.linux-amd64.tar.gz 
$ mv node_exporter-0.17.0.linux-amd64 /usr/local/prometheus/node_exporter
  • 创建systemd服务 $ vim /usr/lib/systemd/system/node_exporter.service [Unit] Description=node_exporter After=network.target [Service] Type=simple User=prometheus ExecStart=/usr/local/prometheus/node_exporter/node_exporter Restart=on-failure [Install] WantedBy=multi-user.target
  • 启动node_exporter $ systemctl start node_exporter $netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp6 0 0 :::9100 :::* LISTEN 24126/node_exporter
  • 修改prometheus.yml,加入下面的监控目标(node_exporter默认的抓取地址为http://ip:9100) - job_name: 'linux' static_configs: - targets: ['localhost:9100'] labels: instance: node1

说明:prometheus.yml中一共定义了两个监控,一个是监控prometheus自身服务,另一个是监控Linux服务器。

这里给一个完整示例:

scrape_configs:

  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'linux'
    static_configs:
      - targets: ['localhost:9100']
        labels:
          instance: node1
  • 重启prometheus服务 $ systemctl restart prometheus
  • 在Prometheus Web查看监控的目标:访问Prometheus Web,在Status->Targets页面下,我们可以看到我们配置的两个Target(linux和prometheus),它们的State为UP。
  • 查看memory使用情况 ![image-20190322134529082](/Users/adai/Library/Application Support/typora-user-images/image-20190322134529082.png)

Prometheus Web界面自带的图表是非常基础的,比较适合用来做测试。如果要构建强大的Dashboard,还是需要更加专业的工具才行。接下来我们将使用Grafana来对Prometheus采集到的数据进行可视化展示。

prometheus集成grafana

在Grafana中添加Prometheus数据源:Configuration——DataSource——"add new DataSource"——Prometheus

  • http
  • 上述配置完成后需要导入node-exporter-server-metrics 的数据模板到grafana,两种导入方法:
    • 通过url导入:grafana——菜单栏加号➕——import—— 输入URL https://grafana.com/dashboards/405 —— 导入——Options (Name、Folder、Prometheus) —— import
    • 下载后导入:grafana——菜单栏加号➕——import—— 输入 下载 好的json文件 ——import

    完成上述操作后即可看到node-exporter采集的数据。

  • 在Dashboards上选Node Exporter Server Metrics模板,就可以看到被监控服务器的CPU, 内存, 磁盘等统计信息。
  • 在Dashboards上选Prometheus Status模板,查看Prometheus各项指标数据。

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 关于监控—我们只是讲道理

    监控系统,是通过持续信息采集、收敛、分析来发现问题,并对解决问题提供数据依赖的一种科学技术。通过监控技术可以实现对故障进行 “事前预警,事后追踪”。

    阿dai学长
  • Linux文件路径、cd命令、mkdir、rmdir、rm命令

    cd=change directory cd - 进入上次所在目录,类似于遥控器的“交替”命令 cd ~ 进入当前目录的家目录 cd . 当前目录 cd...

    阿dai学长
  • Linux系统命令审计 原

    (adsbygoogle = window.adsbygoogle || []).push({});

    阿dai学长
  • 监控主机: node_exporter

    在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为...

    张琳兮
  • leecode刷题(14)-- 有效的字母异位词

    给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。

    希希里之海
  • 开源监控系统Prometheus介绍

    Prometheus是CNCF的一个开源项目,Google BorgMon监控系统的开源版本,是一个系统和服务的监控系统。周期性采集metrics指标,匹配规则...

    用户2937493
  • Prometheus 监控报警系统 AlertManager 之邮件告警

    注意:这里为了快速方便启动 Prometheus、Alertmanager、Node-Exporter 服务,我使用 Docker 方式启动,所以本机需要安装好...

    哎_小羊
  • 要想数组用的 6,怎能不懂 java.util.Arrays

    java.util.Arrays 类就是为数组而生的专用工具类,基本上常见的对数组的操作,Arrays 类都考虑到了,这让我由衷地觉得,是时候给该类的作者 Jo...

    沉默王二
  • 聊一聊顺序消息

    比如事件A发生在下午3点一刻,而事件B发生在下午4点,那么我们认为事件A发生在事件B之前,他们的顺序关系为先A后B。

    林一
  • 重磅:GEO数据库挖掘教程(4)一体化分析代码(带视频+R代码分享)

    众所周知,GEO里面大部分是表达谱数据,而表达谱的数据挖掘涉及众多的分析方法和繁琐的分析步骤,这里给大家做了一个大致的流程图,以便大家有一个整体而全面的认知。简...

    用户6317549

扫码关注云+社区

领取腾讯云代金券