目录

一、三剑客介绍

二、工具安装

1、grafana安装

2、prometheus安装

3、node_exporter监控服务安装

三、三剑合一

1、配置prometheus :node_exporter

2、grafand配置展示prometheus

3、配置展示模板


一、三剑客介绍

  1. Grafana:可视化大型测量数据工具,提供了强大和优雅的方式去创建、共享、浏览数据。但当有他还不能监控服务器信息。还需要下面的两个工具。
  2. Prometheus:一个开源的监控工具,用于收集和聚合指标作为时间序列数据。但纯有这个也无法监控服务器信息,还需要一个专业的信息采集服务。
  3. 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安装

官网下载页:

Download | 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)下载与解压

下载

wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz

解压

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,等待奇迹,

奇迹出现了

本文到此告一段落,期待大家一起精彩

喜欢的可以留下小赞赞

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐