性能监控 之 Prometheus 三剑客安装案例
Grafana:可视化大型测量数据工具,提供了强大和优雅的方式去创建、共享、浏览数据。但当有他还不能监控服务器信息。还需要下面的两个工具。Prometheus:一个开源的监控工具,用于收集和聚合指标作为时间序列数据。但纯有这个也无法监控服务器信息,还需要一个专业的信息采集服务。Node_exporter:是prometheus官方提供的agent,项目被托管在prometheus的账号之下,需要被
目录
一、三剑客介绍
- Grafana:可视化大型测量数据工具,提供了强大和优雅的方式去创建、共享、浏览数据。但当有他还不能监控服务器信息。还需要下面的两个工具。
- Prometheus:一个开源的监控工具,用于收集和聚合指标作为时间序列数据。但纯有这个也无法监控服务器信息,还需要一个专业的信息采集服务。
- Node_exporter:是prometheus官方提供的agent,项目被托管在prometheus的账号之下,需要被安装服务器上,然后才能采集到服务器数据信息。
三剑合一后页面呈现如下:
- 三剑客安装顺序
其实三剑客安装顺序不讲究,随便安装即可,但对于初学,个人顺序如下
Grafana -> prometheus -> node_exporter
从外层到里面,grafana 需要配置prometheus的服务器地址,prometheus需要配置node_exporter的服务器地址(可配置多台,类似监控服务器集群);如何配置,在‘工具安装’后‘三剑合一’章节描述。
二、工具安装
声明:本文档里的工具均在linux服务器上安装。
安装开始前,在/usr 目录下创建一个pthreetools目录,
命令:mkdir /usr/pthreetools
进入:cd /usr/pthreetools
后续三个工具便安装在这个目录下
1、grafana安装
官网下载路径:https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1&platform=linux
(1)下载与解压:
这里下载写本文档的最新版本。
在/usr/pthreetools目录执行安装与解压
下载
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.0.2.linux-amd64.tar.gz
解压
tar -zxvf grafana-enterprise-9.0.2.linux-amd64.tar.gz
修改目录文件
mv grafana-9.0.2 grafana
(2)创建grafana的用户、数据目录、配置权限
新增一个非登录用户
useradd -s /sbin/nologin -M grafana
创建grafana数据目录
mkdir /usr/pthreetools/grafana/data
给grafana目录配置grafana用户权限
chown -R grafana:grafana /usr/pthreetools/grafana
(3)修改grafana配置文件
打开配置文件
vi /usr/pthreetools/grafana/conf/defaults.ini
i编辑下页字段
data = /usr/pthreetools/grafana/data
logs = /usr/pthreetools/grafana/log
plugins = /usr/pthreetools/grafana/plugins
provisioning = /usr/pthreetools/grafana/conf/provisioning
保存,点击esc输入
:wq
(4)创建服务启动文件
在/usr/lib/systemd/system/目录下新增一个grafana.service文件
vi /usr/lib/systemd/system/grafana.service
将下面一段输入:
[Unit]
Description=Grafana
After=network.target
[Service]
User=grafana
Group=grafana
Type=notify
ExecStart=/usr/pthreetools/grafana/bin/grafana-server -homepath /usr/pthreetools/grafana
Restart=on-failure
[Install]
WantedBy=multi-user.target
保存点击esc输入
:wq
重新载入:
systemctl daemon-reload
(5)启动grfana
启动
systemctl start grafana
查看状态
systemctl status grafana
设置可用
systemctl enable grafana
可以通过 ss -anlt查看 3000端口是否有(默认3000)
然后输入ip a查询ip
小知识点,linux的网卡配置一般是ens33,所以查看ip也看这个标识
上图ip为 192.168.30.140在同一网段中的windows系统浏览器中输入
192.168.30.140:3000
进入网站,初始账号密码是admin/admin
打开如下,暂时不配置东西
2、prometheus安装
官网下载页:
(1)下载与安装
下载(这里下载文档编写时的最新版本)
wget https://github.com/prometheus/prometheus/releases/download/v2.37.0-rc.1/prometheus-2.37.0-rc.1.linux-amd64.tar.gz
解压
tar xf prometheus-2.37.0-rc.1.linux-amd64.tar.gz
更改目录
mv prometheus-2.37.0-rc.1.linux-amd64/ prometheus
(2)配置权限
添加用户
useradd -M -s /sbin/nologin prometheus
新增数据保存目录
mkdir -p /data/prometheus
加权限
chown -R prometheus.prometheus /usr/pthreetools/prometheus /data/prometheus
(3)prometheus.yml配置(可跳过,暂时无需配置)
进入到prometheus目录下,找到prometheus.yml文件,查看:cat prometheus.yml
可以看到如下内容,先不要管这些,只需要知道最下面的targets字段是配置监控目录机器ip:port的
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default i s every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is ev ery 1 minute.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evalu ation_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"]
(4)配置prometheus的启动service文件
打开一个编辑文件
vi /usr/lib/systemd/system/prometheus.service
在里面输入
[Unit]
Description=The Prometheus Server
After=network.target
[Service]
Restart=on-failure
ExecStart=/usr/pthreetools/prometheus/prometheus --config.file=/usr/pthreetools/prometheus/prometheus.yml
RestartSec=15s
[Install]
WantedBy=multi-user.target
配置完成后,重载一下systemctl
重载:
systemctl daemon-reload
(5)启动prometheus
systemctl start prometheus
查看9090端口,prometheus默认端口
ss -anlt
或
lsof -i:9090
找个浏览器打开 id:9090
如下安装成功
3、node_exporter监控服务安装
prometheus负责汇总多个服务器的node_exporter收集的数据在grafana形象的展示出来。
所以node_exporter需要安装在监控的目标机上(本文档与grafana、prometheus安装在一台机器上,自己监控自己)
官网下载页:Download | Prometheus
(1)下载与解压
下载
解压
tar xf node_exporter-1.3.1.linux-amd64.tar.gz
改目录名
mv node_exporter-1.3.1.linux-amd64/ node_exporter
(2)配置启动service文件
vi /usr/lib/systemd/system/node_exporter.service
输入
[Unit]
Description=The node_exporter Server
After=network.target
[Service]
ExecStart=/usr/pthreetools/node_exporter/node_exporter
Restart=on-failure
RestartSec=15s
SyslogIdentifier=node_exporter
[Install]
WantedBy=multi-user.target
重载systemctl
systemctl daemon-reload
(3)启动服务
systemctl start node_exporter
查看9100端口是否启动(默认9100)
ss -anlt
如果服务太多也可以用ss -anlt |grep 9100查看
用浏览器打开ip:9100
展示如下,即安装成功
三、三剑合一
1、配置prometheus :node_exporter
打开prometheus的配置文件
vi /usr/pthreetools/prometheus/prometheus.yml
将job_name修改为group1
将targets: 数组里添加我们node_exporter服务器ip与端口(可以看出它是一个[],列表,可以配置多个服务器,以逗号分割)
配置完成
可以检查一下文件是否正常
进入个prometheus目录下
./promtool check config prometheus.yml
如下图输出SUCCESS表示配置文件正常
重启服务prometheus服务
systemctl restart prometheus
重启成功后
用浏览器打开ip:9090打开prometheus查看targets是不是有目标了
2、grafand配置展示prometheus
(1)在浏览器里打开grafana
设置-Data source - Add data souce - Prometheus
添加成功如下图
然后点击上图数字3,打开下图配置prometheus相关信息,配置好prometheus服务器Ip端口,
然后点击save&test
3、配置展示模板
(1)下载模板
先下载一个服务器信息展示模板,下面是某个模板的链接
https://grafana.com/grafana/dashboards/11074-node-exporter-for-prometheus-dashboard-en-v20201010/
Download JSON: 点击下载模板的json
Copy ID to clipboard:点击复制模板的id
(2)配置模板
在Dashboards--Import
点击 Upload Json file导入下载好的json模板,自动跳转到下图页面
填写好的Nane,选择前面配置的prometheus的Data source
点击Import,等待奇迹,
奇迹出现了
本文到此告一段落,期待大家一起精彩
喜欢的可以留下小赞赞
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)