用途 系统 IP
监控主机 CentOS 7 192.168.233.136
被监控主机 CentOS 7 192.168.233.137
  • 所需软件
    Prometheus Grafana安装 - 图1

二、Prometheus服务端安装

以下操作皆在监控主机(192.168.233.136)上执行。

2.0 关闭机器防火墙

生产应该打开防火墙,只需要暴露需要使用的端口即可

  1. # systemctl stop firewalld
  2. # systemctl disable firewalld

Prometheus Grafana安装 - 图2

2.1 安装 go 环境

由于Prometheus是由go语言开发的,所以在安装Prometheus之前需要先在监控主机上安装go环境。这里采用源码编译的方式安装。

由于国内网络环境的原因,如果能够科学的上网,可从此地址下载最新版本的安装包:https://golang.org/dl/

未能科学的上网的,可从此链接下载:链接:https://pan.baidu.com/s/1gefGeXmoFmjGxSGxgCuQfw 提取码:cz6l

安装包下载以后,上传至监控主机的 /usr/local 目录下。

Prometheus Grafana安装 - 图3

2.1.1 解压安装包

  1. # tar -xvf go1.13.1.linux-amd64.tar.gz

2.1.2 配置环境变量

添加/usr/loacl/go/bin目录到PATH变量中。添加到/etc/profile 或$HOME/.profile都可以

  1. # vim /etc/profile
  2. // 在最后一行添加
  3. export GOROOT=/usr/local/go
  4. export PATH=$PATH:$GOROOT/bin
  5. // wq保存退出后source一下
  6. # source /etc/profile

执行go version,如果显示版本号,则Go环境安装成功。

Prometheus Grafana安装 - 图4

2.2 安装Prometheus

安装包下载地址:https://prometheus.io/download/#prometheus

2.2.1 安装

将下载后安装包,上传至 /usr/local 目录下

Prometheus Grafana安装 - 图5

解压安装包:

  1. # tar -xvf prometheus-2.4.0.linux-amd64.tar.gz
  2. # mv prometheus-2.4.0.linux-amd64/ prometheus

2.2.2 启动

Prometheus的配置文件位于 /usr/local/Prometheus/prometheus.yml ,此处采用默认配置。

进入解压后的文件夹下,启动Prometheus。

  1. # cd prometheus
  2. # ./prometheus --config.file=/usr/local/prometheus/prometheus.yml

2.2.3 验证

浏览器打开http://192.168.56.200:9090(IP:9090端口)即可打开普罗米修斯自带的监控页面

Prometheus Grafana安装 - 图6

2.2.4 以服务的方式启动

Ctrl+C 结束掉Prometheus进程。创建Prometheus服务,让Prometheus以服务的方式,开机自启。

添加系统服务

  1. # vim /etc/systemd/system/prometheus.service

将以下内容写入文件中

  1. [Unit]
  2. Description=Prometheus Monitoring System
  3. Documentation=Prometheus Monitoring System
  4. [Service]
  5. ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --web.listen-address=:9090
  6. Restart=on-failure
  7. [Install]
  8. WantedBy=multi-user.target

启动服务,设置开机自启,并检查服务开启状态

  1. # systemctl daemon-reload
  2. # systemctl enable prometheus
  3. # systemctl start prometheus
  4. # systemctl status prometheus

Prometheus Grafana安装 - 图7

三、安装Grafana

Prometheus自带的监控页面显示的内容没有那么直观,我们安装grafana来使监控数据看起来更加直观

3.1、安装grafana

此处安装采用源码编译的方式安装。在监控主机(192.168.56.200)/usr/local 目录下 下载安装包,并安装

  1. # wget https://dl.grafana.com/oss/release/grafana-6.4.3-1.x86_64.rpm
  2. # yum localinstall grafana-6.4.3-1.x86_64.rpm

如果没有wget工具的,首先安装wget工具:

  1. # yum -y install wget

3.2、启动grafana

设置grafana服务开机自启,并启动服务

  1. # systemctl daemon-reload
  2. # systemctl enable grafana-server.service
  3. # systemctl start grafana-server.service

3.3、访问grafana

浏览器访问http://192.168.56.200:3000(IP:3000端口),即可打开grafana页面,默认用户名密码都是admin,初次登录会要求修改默认的登录密码

Prometheus Grafana安装 - 图8

Prometheus Grafana安装 - 图9

3.4、添加Prometheus数据源

(1)点击主界面的“Add data source”

Prometheus Grafana安装 - 图10

(2)选择Prometheus

Prometheus Grafana安装 - 图11

(3)填写数据源设置项

URL处填写Prometheus服务所在的IP地址,此处我们将Prometheus服务与Grafana安装在同一台机器上,直接填写localhost即可

Prometheus Grafana安装 - 图12

点击下方 【Save & Test】按钮,保存设置

Prometheus Grafana安装 - 图13

(4)Dashboards页面选择“Prometheus 2.0 Stats”

点击Dashboards选项卡,选择Prometheus 2.0 Stats

Prometheus Grafana安装 - 图14

(5)查看监控

点击Grafana图标,切换到Grafana主页面,然后点击Home,选择我们刚才添加的Prometheus 2.0 Stats,即可看到监控数据

Prometheus Grafana安装 - 图15

Prometheus Grafana安装 - 图16

Prometheus Grafana安装 - 图17

Prometheus Grafana安装 - 图18

至此Prometheus服务端及Grafana配置完成。

四、安装 node-exporter

node-exporter 是采集机器硬件一些指标参数的小工具,例如收集CPU占用,内存占用,网络io等参数,然后暴露http服务端口出来,供prometheus采集。

官网和开源社区提供了很多其他组件的exporter,例如监控mysql有mysql-exporter,监控NGINX有NGINX-exporter。可以在官网进行查看。

以下操作皆在被监控主机(192.168.56.201)上操作。

4.0、关闭机器防火墙

生产应该开启,只暴露需要使用的端口即可

  1. # systemctl stop firewall
  2. # systemctl disable firewalld

4.1、安装node-exporter

首先下载node-exporter安装包,下载地址:https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-arm64.tar.gz

将下载的安装包上传至被监控主机(192.168.56.201)的 /usr/local 目录下

Prometheus Grafana安装 - 图19

解压安装包

  1. # tar -zvxf node_exporter-0.18.1.linux-amd64.tar.gz
  2. # mv node_exporter-0.18.1.linux-amd64/ node_exporter

4.2、启动node-exporter

进入解压后的node_exporter文件夹下,启动node_exporter

  1. # cd node_exporter
  2. # ./node_exporter

4.3、验证

在浏览器访问 http://192.168.56.201:9100/metrics ,若出现数据则服务开启成功

Prometheus Grafana安装 - 图20

4.4、设置node_exporter 以服务的方式启动并设置开机自启

Ctrl+C 结束掉node_exporter进程,创建node_exporter服务,让node_exporter以服务的方式,开机自启。

添加系统服务

  1. # vim /etc/systemd/system/node_exporter.service

将以下内容写入文件中

  1. [Unit]
  2. Description=node_exporter
  3. After=network.target
  4. [Service]
  5. ExecStart=/usr/local/node_exporter/node_exporter
  6. Restart=on-failure
  7. [Install]
  8. WantedBy=multi-user.target

启动服务,设置开机自启,并检查服务开启状态

  1. # systemctl daemon-reload
  2. # systemctl enable node_exporter
  3. # systemctl start node_exporter
  4. # systemctl status node_exporter

Prometheus Grafana安装 - 图21

至此node_exporter配置完成。

五、修改Prometheus 配置,监控Linux机器

以下操作皆在监控主机(192.168.56.200)上进行。

5.1、修改Prometheus配置

进入Prometheus的安装文件夹,打开Prometheus配置文件

  1. # cd /usr/local/prometheus
  2. # vim prometheus.yml

在scrape_configs标签下,添加以下内容,配置监控

  1. - job_name: 'Linux'
  2. static_configs:
  3. - targets: ['192.168.56.201:9100']

以下是Prometheus.yml 文件全部内容

  1. # my global config
  2. global:
  3. scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  4. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  5. # scrape_timeout is set to the global default (10s).
  6. # Alertmanager configuration
  7. alerting:
  8. alertmanagers:
  9. - static_configs:
  10. - targets:
  11. # - alertmanager:9093
  12. # Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
  13. rule_files:
  14. # - "first_rules.yml"
  15. # - "second_rules.yml"
  16. # A scrape configuration containing exactly one endpoint to scrape:
  17. # Here it's Prometheus itself.
  18. scrape_configs:
  19. # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  20. - job_name: 'prometheus'
  21. # metrics_path defaults to '/metrics'
  22. # scheme defaults to 'http'.
  23. static_configs:
  24. - targets: ['localhost:9090']
  25. - job_name: 'Linux'
  26. static_configs:
  27. - targets: ['192.168.56.201:9100']

保存退出,重启Prometheus服务

  1. # systemctl restart prometheus

浏览器访问 http://192.168.56.200:9090/targets 查看监控信息

Prometheus Grafana安装 - 图22

可以看到,Linux机器已经加入进来。

5.2、配置Grafana

添加dashboard

Grafana官方为我们提供了很多dashboard页面,可直接下载使用。浏览器访问 https://grafana.com/grafana/dashboards 下载所需要的dashboard页面

Prometheus Grafana安装 - 图23

选择数据源为Prometheus,然后我们选择第一个dashboard

复制dashboard Id

Prometheus Grafana安装 - 图24

然后打开我们的Grafana监控页面,打开dashboard的管理页面

Prometheus Grafana安装 - 图25

点击【import】按钮

Prometheus Grafana安装 - 图26

然后将我们刚才的复制的dashboard Id 复制进去

Prometheus Grafana安装 - 图27

Grafana会自动识别dashboard Id 。

然后点击【change】按钮,生成一个随机的UID,然后点击下方输入框,选择我们之前创建的数据源Prometheus,最后点击【Import】按钮,即可完成导入。

Prometheus Grafana安装 - 图28

导入成功后,会自动打开该Dashboard,即可看到我们刚才设置好的node监控

Prometheus Grafana安装 - 图29

至此Prometheus+Grafana 安装配置,并监控Linux机器,配置完成。