Prometheus+Grafana安装配置inux服务器监控

简介: prometheus是谷歌用golang语言开发的一款开源的监控软件,使用安装在远程机器上的exporter,通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上。Prometheus为了支持各种中间件以及第三方的监控提供了exporter,大家可以把它理解成监控适配器,将不同指标类型和格式的数据统一转化为Prometheus能够识别的指标类型。

一、简介:

prometheus是谷歌用golang语言开发的一款开源的监控软件,使用安装在远程机器上的exporter,通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上。

Prometheus为了支持各种中间件以及第三方的监控提供了exporter,大家可以把它理解成监控适配器,将不同指标类型和格式的数据统一转化为Prometheus能够识别的指标类型。

例如Node exporter主要通过读取Linux的/proc、/sys目录下的系统文件获取操作系统运行状态,redis exporter通过Reids命令行获取指标,mysql exporter通过读取数据库监控表获取MySQL的性能数据。他们将这些各种各样的的数据转化为标准的Prometheus格式,并提供HTTP查询接口。

Prometheus的流行和Kubernetes密不可分,它支持对Kubernetes、容器、OpenStack的监控。

普罗米修斯下载网址:https://prometheus.io/download/

监控集成器下载地址:http://www.coderdocument.com/docs/prometheus/v2.14/instrumenting/exporters_and_integrations.html

二、安装

实践过程中,首先要再安装prometheus的服务器上安装go 语言环境。

在其他需要监控的服务器上安装对应的export,这里我们只示例了监控linux服务器的node_exporter, 然后我们安装grafana,并配置监控linux服务器指标的dashboard。

具体安装过程步骤

1、安装go

Prometheus 是用golang开发的,所以要安go环境。

解压缩:

tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz

修改配置文件

vim  /etc/profile

在文件的最后添加如下内容:

export PATH=$PATH:/usr/local/go/bin

保存退出后,让配置生效:

source  /etc/profile

验证是否安装成功

go  version
2、在服务器上安装prometheus监控

开始安装prometheus,可以去官网下载对应系统的版本,如下图:

如果安装的服务器可以连接外网可以使用wget下载

# 下载
wget https://github.com/prometheus/prometheus/releases/download/v2.36.1/prometheus-2.36.1.linux-amd64.tar.gz
# 解压到安装目录
tar -zxvf prometheus-2.36.1.linux-amd64.tar.gz -C /book/install/

查看版本

./prometheus --version

配置一下监控的配置文件:prometheus.yml

下面有对应的配置解释

global:
  # 默认情况下,每15s拉取一次目标采样点数据。
  scrape_interval:     15s 
  # 每15秒评估一次规则。默认值为每1分钟。
  evaluation_interval: 15s 
# 告警配置
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"
scrape_configs:
    # 监控job的名称
  - job_name: 'prometheus'
    # 覆盖global的采样点,拉取时间间隔10s
    scrape_interval: 10s
    static_configs:
    - targets: ['localhost:9090']

下面是我操作时安装的配置:

global:
  scrape_interval:     15s 
  evaluation_interval: 15s 
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']
 - job_name: 'linux' 
    static_configs: 
    - targets: ['192.168.1.68:9077','192.168.1.69:9077']

配置完成后,到安装目录运行:

./prometheus

或者我们可以配置为系统服务

首先root用户进入到systemd目录下:

cd /usr/lib/systemd/system

创建文件

vim prometheus.service

添加以下内容:

[Unit]
Description=https://prometheus.io
[Service]
Restart=on-failure
ExecStart=/book/install/prometheus-2.36.1.linux-amd64/prometheus --config.file=/book/install/prometheus-2.36.1.linux-amd64/prometheus.yml --web.listen-address=:9090
[Install]                      
WantedBy=multi-user.target

使系统文件生效

systemctl daemon-reload

启动prometheus服务

systemctl start prometheus
3、需要监控的客户服务器安装node_exporter

需要监控的服务器安装node_exporter,安装了prometheus的服务器安装node_exporter一定要换发送的端口

#下载
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
# 解压
tar -zxvf node_exporter-1.3.1.linux-amd64.tar.gz -C /book/install/

启动node_exporter,指定端口为9077

./node_exporter --web.listen-address=":9077"

也可以用root用户配置服务的形式启动,创建node_exporter.service文件

vim /usr/lib/systemd/system/node_exporter.service

添加如下内容,指定了端口9177,默认的是9100,我们可以知道是端口可以通过此参数更改的,防止有些服务器9100已经被占用,同时上面在prometheus.yml配置文件配置的各服务器端口也是对应的是这个。

注意:在下面配置文件ExecStart启动时--web.listen-address=:9077千万不要加引号,端口解析不出来

[Unit]
Description=node_exporter
After=network.target 
[Service]
ExecStart=/book/install/node_exporter-1.1.2.linux-amd64/node_exporter --web.listen-address=:9077
Restart=on-failure
[Install]
WantedBy=multi-user.target

让配置生效

systemctl daemon-reload

启动node_exporter服务

systemctl start node_exporter

各服务器工作节点都启动成功后可以在http://ip:9090(安装prometheus的服务器地址)下查看各服务器是否已经启动好了node_exporter。启动好了通了的话会是下图中的UP状态。

4、安装 Grafana 展示 Prometheus 数据

wget清华源下载,或者直接到清华源网址下载:

https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/

wget下载容易报证书过期,还是去网址下载下来上传到服务器。

wget https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/grafana-7.5.3-1.x86_64.rpm

root用户安装

yum install -y grafana-7.5.3-1.x86_64.rpm

启动grafana服务

systemctl start grafana-server.service

查看服务状态

systemctl status grafana-server.service

访问ui地址:

http://ip:3000    ip为安装grafana的服务器地址

初次登录默认用户密码都是:admin,会让你改密码。

接下来按照下面步骤添加Prometheus数据源

Configuration -> Data Sources ->add data source -> Prometheus

想要看到监控服务器指标的图表,需要创建一个dashbard来展示数据,这里我们只用prometheus采集了linux服务器主机的一些数据,所以我要到grafana下载已经画好的为linux准备的dashboard,到这个地址:https://grafana.com/grafana/dashboards/?search=8919

查询linux主机详情的dashboard对应的编号是8919。

下载好对应的json文件

导入下载的对应json文件

最后完成的漂亮的界面截图,记得退出时报错这个dashboard,以后登入就可以看到:

完成了!点个赞再走吧。

目录
相关文章
|
6月前
|
弹性计算 ice
阿里云4核8G云服务器配置价格:热门ECS实例及CPU处理器型号说明
阿里云2025年4核8G服务器配置价格汇总,涵盖经济型e实例、计算型c9i等热门ECS实例,CPU含Intel Xeon及AMD EPYC系列,月费159元起,年付低至1578元,按小时计费0.45元起,实际购买享折扣优惠。
2057 1
|
6月前
|
弹性计算 定位技术 数据中心
阿里云服务器配置选择方法:付费类型、地域及CPU内存配置全解析
阿里云服务器怎么选?2025最新指南:就近选择地域,降低延迟;长期使用选包年包月,短期灵活选按量付费;企业选2核4G5M仅199元/年,个人选2核2G3M低至99元/年,高性价比爆款推荐,轻松上云。
599 11
|
6月前
|
存储 弹性计算 网络协议
超详细的阿里云服务器购买流程,ECS自定义购买配置教程
本文详细图解阿里云ECS服务器自定义购买全流程,涵盖付费模式、地域选择、网络配置、实例规格、镜像、存储、安全组及登录设置等核心步骤,助您轻松掌握专业级云服务器搭建方法。
|
6月前
|
存储 弹性计算 监控
阿里云渠道商:如何挑选阿里云服务器配置?
本文详解通用型、计算型、内存型等实例适用场景,结合性能评估与成本优化策略,助力用户按需选择。以日均1万访问企业网站为例,2核4G+3M带宽月费约200元,性价比高。合理配置更省钱。
|
6月前
|
弹性计算
阿里云ECS云服务器8核16G配置收费价格,多种ECS实例CPU及费用清单
阿里云8核16G云服务器价格因实例类型而异。计算型c9i约743元/月,一年6450元(7折);通用算力型u1仅673元/月,一年4225元(5.1折)。实际价格享时长折扣,详情见ECS官网。
|
6月前
|
弹性计算 Windows
阿里云香港服务器收费价格:香港ECS和轻量应用服务器配置介绍
2025年阿里云香港服务器优惠汇总:ECS 2核4G+5M带宽仅199元/年;轻量服务器30M带宽24元/月起,200M峰值带宽25元/月起。轻量性价比高,适合个人及中小企业建站、跨境业务,具体配置价格详见官方活动页。
2826 1
|
7月前
|
弹性计算 定位技术 数据中心
阿里云服务器选择方法:配置、地域及付费模式全解析
2025阿里云服务器选购指南:就近选择地域以降低延迟,企业用户优选2核4G5M带宽u1实例,仅199元/年;个人用户可选2核2G3M带宽ECS,99元/年起。长期稳定业务选包年包月,短期或波动场景用按量付费,轻松搭建网站首选高性价比配置。

推荐镜像

更多