写点什么

Prometheus、Grafana 安装配置 linux 服务器监控 dashboard

作者:橙子猿
  • 2022 年 6 月 19 日
  • 本文字数:2779 字

    阅读完需:约 9 分钟

Prometheus、Grafana安装配置linux服务器监控dashboard

一、简介:

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-failureExecStart=/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_exporterAfter=network.target 
[Service]ExecStart=/book/install/node_exporter-1.1.2.linux-amd64/node_exporter --web.listen-address=:9077Restart=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,以后登入就可以看到:



完成了!点个赞再走吧。

用户头像

橙子猿

关注

还未添加个人签名 2022.06.13 加入

还未添加个人简介

评论

发布
暂无评论
Prometheus、Grafana安装配置linux服务器监控dashboard_golang_橙子猿_InfoQ写作社区