一、基础环境
系统 |
IP |
|
监控主机 |
CentOS 7 |
192.168.56.200 |
被监控主机 |
CentOS 7 |
192.168.56.201 |
二、Prometheus服务端安装
以下操作皆在监控主机(192.168.56.200)上执行。
2.0 关闭机器防火墙
# systemctl stop firewalld
# systemctl disable firewalld
2.1 安装 go 环境
由于Prometheus是由go语言开发的,所以在安装Prometheus之前需要先在监控主机上安装go环境。这里采用源码编译的方式安装。
由于国内网络环境的原因,如果能够科学的上网,可从此地址下载最新版本的安装包:https://golang.org/dl/ 。
未能科学的上网的,可从此链接下载:链接:https://pan.baidu.com/s/1gefGeXmoFmjGxSGxgCuQfw 提取码:cz6l
安装包下载以后,上传至监控主机的 /usr/local 目录下。
2.1.1 解压安装包
# tar -xvf go1.13.1.linux-amd64.tar.gz
2.1.2 配置环境变量
添加/usr/loacl/go/bin目录到PATH变量中。添加到/etc/profile 或$HOME/.profile都可以
# vim /etc/profile
// 在最后一行添加
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
// wq保存退出后source一下
# source /etc/profile
执行go version,如果显示版本号,则Go环境安装成功。
2.2 安装Prometheus
安装包下载地址:https://prometheus.io/download/#prometheus
2.2.1 安装
将下载后安装包,上传至 /usr/local 目录下
解压安装包:
# tar -xvf prometheus-2.4..linux-amd64.tar.gz
# mv prometheus-2.4..linux-amd64/ prometheus
2.2.2 启动
Prometheus的配置文件位于 /usr/local/Prometheus/prometheus.yml ,此处采用默认配置。
进入解压后的文件夹下,启动Prometheus。
# cd prometheus
# ./prometheus --config.file=/usr/local/prometheus/prometheus.yml &
2.2.3 验证
浏览器打开http://192.168.56.200:9090(IP:9090端口)即可打开普罗米修斯自带的监控页面
2.2.4 以服务的方式启动
Ctrl+C 结束掉Prometheus进程。创建Prometheus服务,让Prometheus以服务的方式,开机自启。
添加系统服务
# vim /etc/systemd/system/prometheus.service
将以下内容写入文件中
[Unit]
Description=Prometheus Monitoring System
Documentation=Prometheus Monitoring System [Service]
ExecStart=/usr/local/prometheus/prometheus \
--config.file=/usr/local/prometheus/prometheus.yml \
--web.listen-address=:9090
Restart=on-failure
[Install]
WantedBy=multi-user.target
启动服务,设置开机自启,并检查服务开启状态
# systemctl daemon-reload
# systemctl enable prometheus
# systemctl start prometheus
# systemctl status prometheus
三、安装Grafana
Prometheus自带的监控页面显示的内容没有那么直观,我们安装grafana来使监控数据看起来更加直观
3.1、安装grafana
此处安装采用源码编译的方式安装。在监控主机(192.168.56.200)/usr/local 目录下 下载安装包,并安装
# wget https://dl.grafana.com/oss/release/grafana-6.4.3-1.x86_64.rpm
# yum localinstall grafana-6.4.-.x86_64.rpm
没有wget工具的,首先安装wget工具:
# yum -y install wget
3.2、启动grafana
设置grafana服务开机自启,并启动服务
# systemctl daemon-reload
# systemctl enable grafana-server.service
# systemctl start grafana-server.service
3.3、访问grafana
浏览器访问http://192.168.56.200:3000(IP:3000端口),即可打开grafana页面,默认用户名密码都是admin,初次登录会要求修改默认的登录密码
3.4、添加Prometheus数据源
(1)点击主界面的“Add data source”
(2)选择Prometheus
(3)填写数据源设置项
URL处填写Prometheus服务所在的IP地址,此处我们将Prometheus服务与Grafana安装在同一台机器上,直接填写localhost即可
点击下方 【Save & Test】按钮,保存设置
(4)Dashboards页面选择“Prometheus 2.0 Stats”
点击Dashboards选项卡,选择Prometheus 2.0 Stats
(5)查看监控
点击Grafana图标,切换到Grafana主页面,然后点击Home,选择我们刚才添加的Prometheus 2.0 Stats,即可看到监控数据
至此Prometheus服务端及Grafana配置完成。
四、安装 node-exporter
以下操作皆在被监控主机(192.168.56.201)上操作。
4.0、关闭机器防火墙
# systemctl stop firewalld
# 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 目录下
解压安装包
# tar -zvxf node_exporter-0.18..linux-amd64.tar.gz
# mv node_exporter-0.18..linux-amd64/ node_exporter
4.2、启动node-exporter
进入解压后的node_exporter文件夹下,启动node_exporter
# cd node_exporter
# ./node_exporter
4.3、验证
在浏览器访问 http://192.168.56.201:9100/metrics ,若出现数据则服务开启成功
4.4、设置node_exporter 以服务的方式启动并设置开机自启
Ctrl+C 结束掉node_exporter进程,创建node_exporter服务,让node_exporter以服务的方式,开机自启。
添加系统服务
# vim /etc/systemd/system/node_exporter.service
将以下内容写入文件中
[Unit]
Description=node_exporter
After=network.target [Service]
ExecStart=/usr/local/node_exporter/node_exporter
Restart=on-failure [Install]
WantedBy=multi-user.target
启动服务,设置开机自启,并检查服务开启状态
# systemctl daemon-reload
# systemctl enable node_exporter
# systemctl start node_exporter
# systemctl status node_exporter
至此node_exporter配置完成。
五、修改Prometheus 配置,监控Linux机器
以下操作皆在监控主机(192.168.56.200)上进行。
5.1、修改Prometheus配置
进入Prometheus的安装文件夹,打开Prometheus配置文件
# cd /usr/local/prometheus
# vim prometheus.yml
在scrape_configs标签下,添加以下内容,配置监控
- job_name: 'Linux'
static_configs:
- targets: ['192.168.56.201:9100']
labels:
instance: Linux
以下是Prometheus.yml 文件全部内容
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every seconds. Default is every minute.
evaluation_interval: 15s # Evaluate rules every seconds. The default is every minute.
# scrape_timeout is set to the global default (10s). # Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager: # Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus' # metrics_path defaults to '/metrics'
# scheme defaults to 'http'. static_configs:
- targets: ['localhost:9090'] - job_name: 'Linux'
static_configs:
- targets: ['192.168.56.201:9100']
labels:
instance: Linux
保存退出,重启Prometheus服务
# systemctl restart prometheus
浏览器访问 http://192.168.56.200:9090/targets 查看监控信息
可以看到,Linux机器已经加入进来。
5.2、配置Grafana
添加dashboard
Grafana官方为我们提供了很多dashboard页面,可直接下载使用。浏览器访问 https://grafana.com/grafana/dashboards 下载所需要的dashboard页面
选择数据源为Prometheus,然后我们选择第一个dashboard
复制dashboard Id
然后打开我们的Grafana监控页面,打开dashboard的管理页面
点击【import】按钮
然后将我们刚才的复制的dashboard Id 复制进去
Grafana会自动识别dashboard Id 。
然后点击【change】按钮,生成一个随机的UID,然后点击下方输入框,选择我们之前创建的数据源Prometheus,最后点击【Import】按钮,即可完成导入。
导入成功后,会自动打开该Dashboard,即可看到我们刚才设置好的node监控
至此Prometheus+Grafana 安装配置,并监控Linux机器,配置完成。