本文主要介绍了如何二进制安装Prometheus、使用 Node Exporter 采集主机信息并使用Grafana来进行图形化的展示。

1. 安装Prometheus Server

  Prometheus基于Golang编写,编译后的软件包,不依赖于任何的第三方依赖。用户只需要下载对应平台的二进制包,解压并且添加基本的配置即可正常启Prometheus Server。

1.1 下载并解压二进制安装包

通过Prometheus的官方网站:https://prometheus.io/download/,下载最新版本的Prometheus安装包

#下载、解压、创建软链接
cd /export/
wget https://github.com/prometheus/prometheus/releases/download/v2.13.1/prometheus-2.13.1.linux-amd64.tar.gz
tar -zxvf prometheus-2.13..linux-amd64.tar.gz
mv prometheus-2.13..linux-amd64 prometheus

1.2 配置说明

解压后当前目录会包含默认的Prometheus配置文件promethes.yml,下面配置文件做下简略的解析:

# 全局配置
global:
scrape_interval: 15s # 设置抓取间隔,默认为1分钟
evaluation_interval: 15s #估算规则的默认周期,每15秒计算一次规则。默认1分钟
# scrape_timeout #默认抓取超时,默认为10s # Alertmanager相关配置
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager: # 规则文件列表,使用'evaluation_interval' 参数去抓取
rule_files:
# - "first_rules.yml"
# - "second_rules.yml" # 抓取配置列表
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']

1.3 创建prometheus的用户及数据存储目录

为了安全,使用普通用户来启动prometheus服务。作为一个时序型的数据库产品,prometheus的数据默认会存放在应用所在目录下。

useradd  -s /sbin/nologin -M prometheus 
#创建数据目录
mkdir /export/prometheus/data -p
#修改目录属主
chown -R prometheus:prometheus /export/prometheus/

1.4 创建Systemd服务启动prometheus

prometheus的启动很简单,只需要直接启动解压目录的二进制文件prometheus即可,但是为了更加方便对prometheus进行管理,这里使用systemd来启停prometheus。

# vim /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/export/prometheus/prometheus --config.file=/export/prometheus/prometheus.yml --storage.tsdb.path=/export/prometheus/data
Restart=on-failure
[Install]
WantedBy=multi-user.target

备注:在service文件里面,我们定义了启动的命令,可以定义数据存储路径,否则默认会在prometheus二进制的目录的data下。

systemctl start prometheus
systemctl status prometheus
systemctl enable prometheus

1.5 打开prometheus的web页面

到这里,prometheus就已经安装好了。prometheus启动后默认会启动9090端口,通过浏览器打开该端口页面。

http://IP:9090/graph

2. Grafana的安装

虽然说prometheus能展示一些图表,但对比Grafana,那只是个过家家。接下来我们需要在同一个服务器上安装Grafana服务,用来展示prometheus收集到的数据。

2.1 下载并解压二进制包

这里安装的Grafana的版本为6.4.4,要下载其他的版本可以到Grafana的官网:https://grafana.com/grafana/download进行下载。

cd /export
wget https://dl.grafana.com/oss/release/grafana-6.4.4.linux-amd64.tar.gz
tar -zxvf grafana-6.4.4.linux-amd64.tar.gz
mv grafana-6.4.4 grafana

2.2 创建grafana用户及数据存放目录

useradd -s /sbin/nologin -M grafana
mkdir /export/grafana/data
chown -R grafana:grafana /export/grafana/

2.3 修改配置文件

修改 /export/grafana/conf/defaults.ini 文件,配置为上面新建的数据目录。

data = /export/grafana/data
logs = /export/grafana/log
plugins = /export/grafana/plugins
provisioning = /export/grafana/conf/provisioning

2.4 把grafana-server添加到systemd中

新增 grafana-server.service 文件,使用systemd来管理grafana服务

vim grafana-server.service

[Unit]
Description=Grafana
After=network.target [Service]
User=grafana
Group=grafana
Type=notify
ExecStart=/export/grafana/bin/grafana-server -homepath /export/grafana
Restart=on-failure [Install]
WantedBy=multi-user.target

启停并设置开机启动

systemctl start  grafana-server
systemctl status grafana-server
systemctl enable grafana-server

2.5 打开grafana的web页面

grafana已经安装完毕。默认情况下,grafana-server会启动3000端口,使用浏览器打开grafana页面:http://IP:3000/login,输入默认的账号密码 admin/admin登录,第一次登陆需要修改密码。

2.6 添加数据源

grafana虽然已经安装好了,但是这个时候还没有数据,没办法作图。下面我们把grafana和prometheus关联起来,也就是在grafana中添加添加数据源。
在配置页面点击添加Data Sources,然后选择prometheus,输入prometheus服务的参数即可。

按照上图示例添加数据源之后,点击save & test就可以了。

2.7 添加自带的示例图表

按照上面的指导添加数据源之后,我们就可以针对这些数据来绘制图表了。grafana最人性化的一点就是拥有大量的图表模板,我们只需要导入模板即可,从而省去了大量的制作图表的时间。
目前我们的prometheus还没有什么监控数据,只有prometheus本身的数据,我们看下这些prometheus本身数据图表是怎样的。
在添加数据源的位置上,右边的选项有个Dashboards的菜单选项,我们点击进去,然后导入基础服务器监控图表。

从Grafana官网查找最新的监控图表:

复制ID或者下载后,此处复制ID:

输入其ID号即可出来相应模板信息:

最后我们在左上角的位置上选择这个图表查看下,是不是很酷炫呢。这是个简单的示例,后续我们使用node-exporter来收集主机的性能信息,然后在grafana中展示。

3. 使用Node Exporter采集主机运行数据

与传统的监控zabbix来对比的话,prometheus-server就像是mysql,负责存储数据。只不过这是时序数据库而不是关系型的数据库。数据的收集还需要其他的客户端,在prometheus中叫做exporter。针对不同的服务,有各种各样的exporter,就好比zabbix的zabbix-agent一样。

这里为了能够采集到主机的运行指标如CPU, 内存,磁盘等信息。我们可以使用Node Exporter。Node Exporter同样采用Golang编写,并且不存在任何的第三方依赖,只需要下载,解压即可运行。可以从https://prometheus.io/download/获取最新的node exporter版本的二进制包

3.1 下载node exporter

wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
tar -xf node_exporter-0.18..linux-amd64.tar.gz
#新建一个目录专门安装各种exporter
mkdir -p /export/prometheus_exporter
mv node_exporter-0.18..linux-amd64 /export/prometheus_exporter/
cd /export/prometheus_exporter/
mv node_exporter-0.18..linux-amd64/ node_exporter

3.2 加入linux服务,启动node exporter

直接打开node_exporter的可执行文件即可启动 node export,默认会启动9100端口。建议使用systemctl来启动

# vim /etc/systemd/system/node_exporter.service 

[Unit]
Description=node_exporter
After=network.target


[Service]
Restart=on-failure
ExecStart=/export/prometheus_exporter/node_exporter/node_exporter


[Install]
WantedBy=multi-user.target

3.3 加入开机启动

# systemctl enable node_exporter

# systemctl start node_exporter

3.4 配置Prometheus,收集node exporter的数据

可以看到node exporter启动后也就是暴露了9100端口,并没有把数据传到prometheus,我们还需要在prometheus中配置,让prometheus去pull这个接口的数据。
编辑prometheus.yml文件,增加后面4行.

scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090'] #采集node exporter监控数据
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']

然后重启prometheus,打开prometheus页面查看是不是有对应的数据了。

在prometheus的web界面看到这个节点是up的状态了,接下来我们在grafana中添加对应的模板。

3.5 导入grafana模板,数据展示

在导入界面,我们输入模板的编号,这里我使用的是9276号模板,如要使用其他的模板,请到grafana的官网去查找 https://grafana.com/dashboards

选择数据源,然后点击导入

然后你就可以看到下面一个这么形象具体好看的界面了。

Prometheus安装部署说明的更多相关文章

  1. Prometheus 安装部署

    Prometheus 安装部署 安装版本:prometheus-2.6.1 百度云下载:https://pan.baidu.com/s/1w16lQZKw8PCHqlRuSK2i7A 提取码:lw1q ...

  2. Prometheus入门到放弃(1)之Prometheus安装部署

    规划: IP 角色 版本 10.10.0.13 prometheus-server 2.10 10.10.0.11 node_exporter 0.18.1 10.10.0.12 node_expor ...

  3. 2.Prometheus安装部署

    环境准备 2台Linux操作系统(基于centos7) docker环境 配置 IP 角色 版本 192.168.229.139 prometheus-server 2.10 192.168.229. ...

  4. 微服务监控神器Prometheus的安装部署

    本文涉及:如何在k8s下搭建Prometheus+grafana的监控环境 基本概念 Prometheus提供了容器和云原生领域数据搜集.存储.处理.可视化和告警一套完整的解决方案,最初时是由Soun ...

  5. Prometheus 和 Grafana 安装部署

    Prometheus 是一套开源的系统监控报警框架.Prometheus 作为生态圈 Cloud Native Computing Foundation(简称:CNCF)中的重要一员,其活跃度仅次于 ...

  6. prometheus学习系列三:node_exporter安装部署

    node_exporter简介 node_exporter安装部署 [root@node00 ~]# cd /usr/src/ [root@node00 src]# wget https://gith ...

  7. Prometheus + Grafana 部署说明之「安装」

    说明 在前面的Prometheus学习系列文章里,大致介绍说明了Prometheus和Grafana的一些使用,现在开始介绍如何从头开始部署Prometheus+Grafana,来监控各个相关的指标数 ...

  8. Kubernetes+Prometheus+Grafana部署笔记

    一.基础概念 1.1 基础概念 Kubernetes(通常写成“k8s”)Kubernetes是Google开源的容器集群管理系统.其设计目标是在主机集群之间提供一个能够自动化部署.可拓展.应用容器可 ...

  9. Prometheus 安装

    目录 简介 安装部署 环境准备 安装 配置环境变量 配置 启动 简介 prometheus存储的是时序数据,即按相同时序(相同名称和标签),以时间维度存储连续的数据的集合. 时序(time serie ...

随机推荐

  1. 用Python爬E站本

    用Python爬E站本 一.前言 参考并改进自 OverJerry 大佬的 教你怎么用Python爬取E站的本子_OverJerry. 本文为技术学习记录,不提供访问无存在网站的任何方法,也不包含不和 ...

  2. Servlet处理(jQuery)Ajax请求

    1. jQuery     jQuery是一个JavaScript函数库,极大的简化了JavaScript编程,很容易学习.jQuery是目前最流行的开源js框架,并且提供了大量的扩展. 2. Aja ...

  3. 英语CollaCoriiAsini阿胶CollaCoriiAsini单词

    阿胶(colla Corii Asini)始载于<神农本草经>,是马科动物驴的皮去毛后熬制而成的胶块,其性味甘.平,具有滋阴润肺,补血.止血等功效.主要治疗血虚萎黄,眩晕心悸,肌痿无力,心 ...

  4. 【软件工程第二次作业】个人项目:WordCountPy

    一.GitHub 地址 项目 GitHub 地址为:https://github.com/bytemo/WordCountTool 二.PSP表格 PSP2.1 Personal Software P ...

  5. 【学习笔记】大数据技术原理与应用(MOOC视频、厦门大学林子雨)

    1 大数据概述 大数据特性:4v volume velocity variety value 即大量化.快速化.多样化.价值密度低 数据量大:大数据摩尔定律 快速化:从数据的生成到消耗,时间窗口小,可 ...

  6. Django框架(十)--常用字段、参数、元信息、多对多关联关系

    一.ORM字段 # AutoField() int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列 # IntegerField() ...

  7. MySQL事务优化

    ====================事务特性 事务隔离级别 事务控制语句 MySQL优化==================== 事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要么全 ...

  8. GitHub的SSH key配置以及常用的git命令介绍

    一. GitHub的SSH key配置 (以windows为例,Mac iOS系统类似) SSH Key 是一种方法来确定受信任的计算机,从而实现免密码登录.Git是分布式的代码管理工具,远程的代码管 ...

  9. serverless 如何调试(三)

    在上篇文章中,我们讲解了如何调用我们的hello-world应用,只需要使用命令: serverless invoke -f hello -l ,但是我们总不可能修改一次代码,就调用一下这个命令吧,或 ...

  10. Anaconda3(5-2)程序编辑器 win10下PyCharm安装及配置Pytorch流程

    由于破解和付费问题,不推荐.优先用自带的spyder Win10 下PyCharm安装流程:(1)官网:https://www.jetbrains.com/pycharm/download/#sect ...