一、Prometheus部署配置
Prometheus是CNCF基金会继Kubernetes后第二个毕业项目,集监控系统、时序数据库功能于一身。
1.1、下载
1.2、安装
本文均以二进制安装包方式为例,Docker方式不在本文讲述范围内。
# 解压缩至指定目录
sudo tar -zxf prometheus-2.33.3.linux-amd64.tar.gz -C /usr/local/
# 创建软链接方便后续维护升级
sudo ln -s /usr/local/prometheus-2.33.3.linux-amd64 /usr/local/prometheus
# 更改属主属组
sudo chown -R sanxi:sanxi /usr/local/prometheus-2.33.3.linux-amd64
1.3、启动
prometheus默认是前台运行,所以需要自行将其挂后台运行,默认端口为9090。
# 默认使用prometheus当前目录下的prometheus.yml文件
nohup /usr/local/prometheus/prometheus > /usr/local/prometheus/prometheus.log 2>&1 &
1.4、service文件
注意,CentOS 7系列的systemctl 219版本的service文件不能带引号,否则报错;本人systemctl版本为250可以带引号。
像上面那样每次手动敲命令启动与关闭还是挺麻烦的,可以考虑将其做成用systemd控制的service文件。
[Unit]
# 描述文字
Description=Prometheus Server 2.33.3
# 文档链接
Documentation=https://github.com/prometheus
# 依赖启动项,即需要在网络启动后再启动prometheus。
After=network.target
[Service]
Type=simple
# 需要root权限
User=root
NotifyAccess=all
KillMode=process
WorkingDirectory=/usr/local/prometheus
ExecStop=/bin/kill -TERM $MAINPID
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml"
[Install]
WantedBy=multi-user.target
1.5、node_exporter部署
node_exporter是prometheus开发的专门用来采集Linux服务器的agent,service文件可以参照prometheus,默认端口为9100。
# 官网下载
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
# 解压
sudo tar -zxf node_exporter-1.3.1.linux-amd64.tar.gz -C /usr/local/
# 更改属主属组
sudo chown -R sanxi:sanxi /usr/local/node_exporter-1.3.1.linux-amd64/
# 创建软链接
sudo ln -s /usr/local/node_exporter-1.3.1.linux-amd64 /usr/local/node_exporter
1.6、添加prometheus配置
启动node_exporter后,需要编辑prometheus.yml,把新部署的node_Exporter加入配置文件,然后重启prometheus server即可。
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", "localhost:9100"]
二、Grafana部署配置
Grafana也是CNCF基金会旗下的Go语言可视化面板项目,多用于大规模指标数据的可视化展示,尤其适用于时序数据展示。
2.1、Grafana部署
2.1.1、下载
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.4.5.linux-amd64.tar.gz
2.1.2、解压安装
# 解压安装
sudo tar -zxf grafana-enterprise-8.4.5.linux-amd64.tar.gz -C /usr/local/
# 创建软链接
sudo ln -s /usr/local/grafana-8.4.5 /usr/local/grafana
2.1.3、更改属主属组
sudo chown -R sanxi:sanxi /usr/local/grafana-8.4.5
2.1.4、启动
nohup /usr/local/grafana/bin/grafana-server > /usr/local/grafana/bin/grafana.log 2>&1 &
2.1.5、service文件
可参照上面prometheus的service文件编写
2.2、Grafana基本配置
2.2.1、配置数据源
Grafana默认帐号密码是admin,第一次登录成功后,会提示更改密码,默认访问端口为3000。
如图所示,在首页点击添加数据源

接着选择prometheus
配置Prometheus
数据源,默认端口是9090
,配置好点击右下角save&test
测试是否正常
2.2.2、配置仪表盘
在数据源里点击Dashboards
先在Grafana官网找一个适合自己的仪表盘,主要是找到其仪表盘ID
号。
点击左侧菜单栏的加号–>import
输
输入仪表盘ID号将其导入Grafana,注意,需要有网络才能下载并导入。
选择prometheus为数据源,点击load进行导入Grafana。
等待Grafana从Prometheus读取到时序数据后,刷新dashboards页面,选择上面部署的targets即可看到图形化数据。