查看原文
其他

监控篇 | Prometheus 安装

刘宝龙 杰哥的IT之旅 2019-05-08

点击蓝字关注这个神奇的公众号~


prometheus安装

官方给出了多重部署方案,比如:Docker容器、Ansible、Chef、Puppet、Saltstack等。

Prometheus用Golang实现,因此具有天然可移植性(支持Linux、Windows、macOS和Freebsd)。


安装包说明
prometheus-2.0.0.linux-amd64.tar.gz主程序包【必须】
alertmanager-0.12.0.linux-amd64.tar.gz报警管理
blackbox_exporter-0.11.0.linux-amd64.tar.gz
consul_exporter-0.3.0.linux-amd64.tar.gz
graphite_exporter-0.2.0.linux-amd64.tar.gz
haproxy_exporter-0.8.0.linux-amd64.tar.gzHAProxy统计信息
memcached_exporter-0.3.0.linux-amd64.tar.gz
mysqld_exporter-0.10.0.linux-amd64.tar.gzMySQL服务器指标
node_exporter-0.15.2.linux-amd64.tar.gz

客户端

pushgateway-0.4.0.linux-amd64.tar.gz
statsd_exporter-0.5.0.linux-amd64.tar.gz

安装Prometheus server

  1. shell> tar xf prometheus-2.0.0-rc.2.linux-amd64.tar.gz

  2. shell> cd prometheus-2.0.0-rc.2.linux-amd64

  3. shell> ./prometheus  --config.file=prometheus.yml    ## 启动服务验证【后续用启动脚本】

  4. shell> ./prometheus --version

  5. prometheus, version 2.0.0 (branch: HEAD, revision: 0a74f98628a0463dddc90528220c94de5032d1a0)

  6.  build user:       root@615b82cb36b6

  7.  build date:       20171108-07:11:59

  8.  go version:       go1.9.2

  • 创建用户

    创建专门用于运行prometheus的用户,主目录为 /var/lib/prometheus用作prometheus的数据目录


  1. shell> groupadd prometheus

  2. shell> useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus

  • 创建systemd服务

  1. shell>  vim /etc/systemd/system/prometheus.service

  2. [Unit]

  3. Description=prometheus

  4. After=network.target

  5. [Service]

  6. Type=simple

  7. User=prometheus

  8. ExecStart=/usr/local/prometheus/prometheus -config.file=/usr/local/prometheus/prometheus.yml -storage.local.path=/var/lib/prometheus

  9. Restart=on-failure

  10. [Install]

  11. WantedBy=multi-user.target

  • 启动Prometheus服务

  1. shell> systemctl start prometheus

  • 验证Prometheus是否启动成功

通过浏览器访问:http:<服务器IP地址>:9090,验证是否安装成功

安装node_exporter

  1. shell> tar xf node_exporter-0.15.0.linux-amd64.tar.gz

  2. shell> cd node_exporter-0.15.0.linux-amd64

  3. shell> ./node_exporter ## 启动节点

检查node启动端口和进程

node启动过程

查看node启动返回的性能指标都有哪些

使用表达式浏览器

prometheus本身自带exporter,可以通过 http://<localhost>:9090/metrics插卡从expoter中能具体抓到哪些数据

默认包括的监控指标项

如果我们只对导致HTTP代码的请求感兴趣 200,那么我们可以使用这个查询来检索这些信息:

  1. http_requests_total{code="200"}

要计算返回的时间序列的数量,您可以编写:

  1. count(http_requests_total)

使用Prometheus监控Linux服务器

监控Linux主机时,必须启动 node_exporter服务且修改 prometheus.yml,步骤如下:

  • 修改 prometheus.yml文件

  • 重启prometheus主程序

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

  1. shell> vim  /usr/local/prometheus/prometheus.yml

  2. scrape_configs:

  3.  - job_name: 'prometheus'

  4.    static_configs:

  5.      - targets: ['localhost:9090']

  6.  - job_name: 'linux'

  7.    static_configs:

  8.      - targets: ['localhost:9100']

  9.        labels:

  10.          instance: node1


访问Prometheus Web,在Status->Targets页面下,我们可以看到我们配置的两个Target,它们的State为UP。


使用Prometheus Web来验证Node Exporter的数据已经被正确的采集。

a) 查看当前主机的CPU使用情况



Prometheus Web界面自带的图表是非常基础的,比较适合用来做测试。如果要构建强大的Dashboard,还是需要更加专业的工具才行。

未完待续

关注精彩内容

扫描下方二维码哦



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存