1、Grafana基础

Prometheus入门 / 2022-04-13

一、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。

image-20220118222053423

如图所示,在首页点击添加数据源

image-20220118222302515

接着选择prometheus

image-20220118222359597

配置Prometheus数据源,默认端口是9090,配置好点击右下角save&test测试是否正常

image-20220118222751522

2.2.2、配置仪表盘

在数据源里点击Dashboards

image-20220118222926636

先在Grafana官网找一个适合自己的仪表盘,主要是找到其仪表盘ID号。

image-20220118224500400

点击左侧菜单栏的加号–>import

image-20220413164620200

输入仪表盘ID号将其导入Grafana,注意,需要有网络才能下载并导入。

image-20220413165714572

选择prometheus为数据源,点击load进行导入Grafana。

image-20220413165930531

等待Grafana从Prometheus读取到时序数据后,刷新dashboards页面,选择上面部署的targets即可看到图形化数据。

image-20220413175028171

世间微尘里 独爱茶酒中