普罗米修斯算是一个比较老牌的探针了,不过因为其前端可视化面板不是很容易上手所以用的挺难受。这次配合开源项目Grafana,通过对接普罗米修斯的探针数据来借用Grafana强大的统计,图形功能以及社区支持。
一.安装go环境
这里偷个懒,直接用官网发布的二进制文件了,老规矩 下载
解压
配置环境变量
三步走。
先在官网找到自己对应的系统下载二进制文件,博主这里用的是x86-64的Linux。
wget https://golang.org/dl/go1.15.6.linux-amd64.tar.gz
之后解压到对应文件夹,位置随意,本文选择解压到 /usr/local
。如果跟本文不一样记得也要更改对应的环境变量。
tar -C /usr/local/ -xvf go1.15.6.linux-amd64.tar.gz
最后配环境变量。
#打开环境变量配置文件
vim /etc/profile
#加入这一句
export PATH=$PATH:/usr/local/go/bin
#保存退出后更新环境变量
source /etc/profile
之后输入 go version
,如果显示出go的版本信息就可以了。
二.安装普罗米修斯(Promethus)与监控插件node_exporter
1.下载并修改普罗米修斯
普罗米修斯的官网在这里,推荐选择最新版本安装。
#下载二进制文件
wget https://github.com/prometheus/prometheus/releases/download/v2.24.0/prometheus-2.24.0.linux-amd64.tar.gz
#解压
tar -C /usr/local/ -xvf prometheus-2.24.0.linux-amd64.tar.gz
#创建软链接
ln -sv /usr/local/prometheus-2.24.0.linux-amd64/ /usr/local/Prometheus
普罗米修斯的默认配置文件在 /usr/local/Prometheus/prometheus.yml
,这里简单介绍一下配置文件格式。
以监控使用 node-exporter
的linux机器为例,
- job_name: 'Prometheus'
static_configs:
- targets: ['192.168.0.1:9100']
labels:
instance: Prometheus
其中 job_name
决定了被监控机所在的分组,targets
为被监控机的地址和 node-exporter
端口。如果要在同一个分组下添加多台监控机器只需要添加多个 - targets
即可。
2.运行测试并创建系统服务
执行以下命令使普罗米修斯在前台启动。
/usr/local/Prometheus/prometheus --config.file=/usr/local/Prometheus/prometheus.yml
此时访问vps_ip:9090
查看是否启动成功。
之后创建系统service文件。这里可以自定义普罗米修斯的访问端口与监控数据保存文件夹。
#创建数据保存文件夹
mkdir /usr/local/Prometheus/data
#创建service文件
vim /usr/lib/systemd/system/prometheus.service
#加入以下内容
[Unit]
Description=Prometheus Monitoring System
Documentation=Prometheus Monitoring System
[Service]
ExecStart=/usr/local/Prometheus \
--config.file=/usr/local/Prometheus/prometheus.yml --web.enable-admin-api \
--web.listen-address=:9090 \
--storage.tsdb.path=/usr/local/Prometheus/data
[Install]
WantedBy=multi-user.target
最后启动普罗米修斯,查看状态,并设置开机启动。
systemctl start prometheus.service
systemctl status prometheus.service
systemctl enable prometheus.service
3.被控机配置node_exporter
首先下载最新版本的二进制文件并解压。
wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
tar -xvf node_exporter-1.0.1.linux-amd64.tar.gz -C /usr/local/
之后创建运行用户与用户组,并配置service文件。
sudo groupadd -r prometheus
sudo useradd -r -g prometheus -s /sbin/nologin -M -c "prometheus Daemons" prometheus
cat << EOF > /usr/lib/systemd/system/node_exporter.service
[Service]
User=prometheus
Group=prometheus
ExecStart=/usr/local/node_exporter-1.0.1.linux-amd64/node_exporter
[Install]
WantedBy=multi-user.target
[Unit]
Description=node_exporter
After=network.target
EOF
最后启动node_exporter,查看状态并设置开机启动。之后不要忘记去普罗米修斯的配置文件里加入对应被监控机的地址与端口。
三.使用Grafana连接Prometheus
1.安装Grafana
在官网下载最新版本二进制文件并安装。
wget https://dl.grafana.com/oss/release/grafana-7.3.7-1.x86_64.rpm
sudo yum install grafana-7.3.7-1.x86_64.rpm
运行并配置开机启动。
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable grafana-server.service
sudo /bin/systemctl start grafana-server.service
之后访问vps_ip:3000就能看到Grafana的面板了,初始的用户名与密码都是 admin
。
2.配置Grafana对接普罗米修斯数据源
登录后进入主界面,点击红圈内按钮添加第一个数据源。
之后选择第一项普罗米修斯数据源。
这里只需要添加 HTTP URLs
为本地的普罗米修斯端口就可以了,其他保持默认。
最后从面板左侧的任务栏选择 Manage
,然后点击 Improt
添加新的监控模板即可。
这里推荐几个模板:
https://grafana.com/grafana/dashboards/8919
https://grafana.com/grafana/dashboards/9276
https://grafana.com/grafana/dashboards/1860
最后,推荐修改一下Grafana的配置文件将Grafana运行在本地内网上,然后通过本地反向代理来使用SSL访问前端面板。配置文件地址为 /etc/grafana/grafana.ini
。