GPE介绍
GPE其实是一个缩写,分别指的是Grafana
、Prometheus
和Exporter
,其中Exporter
并不是指某一个组件,而是一系列插件。比如node_exporte
r用来监控服务器性能指标,mysqld_exporter
用来监控Mysql的一些指标,等等。一般情况下你都可以根据自己的需要找到对应的expoter。另外既然是监控预警系统那么自然少不了预警插件,这里使用的是Alertmanager
,它算是Prometheus默认的预警插件。
Grafana简介
简介:Grafana
项目由TorkelÖdegaard于2014年发起,最近几年成为GitHub
上最受欢迎的开源项目之一。 它使您可以查询,可视化指标并记录警报,无论它们存储在何处。Grafana
具有可插拔的数据源模型,并捆绑了对许多最流行的时间序列数据库(如Graphite,Prometheus,Elasticsearch,OpenTSDB
和InfluxDB
)的丰富支持。 它还内置支持云监视供应商,例如Google Stackdriver,Amazon Cloudwatch,Microsoft Azure和SQL数据库(例如MySQL和Postgres)。Grafana
是唯一可以将来自多个地方的数据组合到一个仪表板中的工具。
简单的说Grafana
就是一个数据可视化的工具。
官方下载地址:https://grafana.com/grafana/download
Prometheus简介
简介:Prometheus
最初是由SoundCloud开发的一个开源系统监视和警报工具包。自2012年成立以来,许多公司和组织都采用了Prometheus
,该项目拥有非常活跃的开发人员和用户社区。现在,它是一个独立的开源项目,并且独立于任何公司进行维护。 为了强调这一点并阐明项目的治理结构,Prometheus
在Kubernetes
之后于2016年加入了Cloud Native Computing Foundation,成为第二个托管项目。
官方下载地址:https://prometheus.io/download/
GPE监控告警系统的搭建和数据展示
因为Grafana
的数据源需要使用到Prometheus
,所以我们首先安装Prometheus
。
一、Prometheus安装
1、下载Prometheus并解压
在自己的电脑上创建了一个GPE目录,又来安装Prometheus
等。我本次安装的Prometheus
版本为2.18.1。
cd /home/GPE
wget https://github.com/prometheus/prometheus/releases/download/v2.18.1/prometheus-2.18.1.linux-amd64.tar.gz
tar -zvxf prometheus-2.18.1.linux-amd64.tar.gz
2、配置
默认配置文件为prometheus.yml
,暂时先使用默认配置,等后面需要时再行修改配置文件。
3、启动
进入到Prometheus
的安装目录下启动
cd /home/GPE/prometheus-2.18.1.linux-amd64
nohup ./prometheus &
Prometheus
启动默认端口号为9090。
二、Grafana安装
1、下载Grafana并解压
本次使用的Grafana版本为7.0.5,也可以选择其他版本。
wget https://dl.grafana.com/oss/release/grafana-7.0.5.linux-amd64.tar.gz
tar -zxvf grafana-7.0.5.linux-amd64.tar.gz
2、配置
建议复制一份conf目录下的default.ini,并重命名为custom.ini(名字随意),根据自己的情况进行配置,比如我下面配置了邮件和数据库相关的配置。默认使用的sqlite3,当然这次Demo我还是尽量使用默认配置。
##SMTP / Emailing
enabled = true
host = smtp.qq.com:25
user = 654321@qq.com
password = abxcffgdddd
from_address = 123456@qq.com
## database
type = mysql
host = 127.0.0.1:3306
name = grafana
user = root
password = 123456
3、启动
进入到安装目录得bin目录下,执行
cd /home/GPE/grafana-7.0.5/bin
nohup ./grafana-server &
然后可以通过浏览器去访问,默认端口号3000,用户名:admin,密码:admin,当然默认的用户名和密码也可以在配置文件修改。
浏览器访问:http://localhost:3000
登录成功之后会跳转到重置密码的界面,修改初始密码即可。
进入主页之后我们需要配置下Grafana
的数据源,点击Configuration
> Data sources
> Add data source
选中Prometheus
,输入Prometheus
的相关信息,如下图:
配置完成之后,可以点击下方的测试按钮已检查看是否连通
Prometheus
。接下来我们部署一个node_exporter
用来监控本服务器的相关信息。
三、node_exporter安装启动
node_exporter
可以监控服务器CPU、内存、磁盘、I/O等信息,其主要用于机器系统数据收集。本次node_exporter
下载的版本为1.0.0。
下载地址:
Github下载地址
Prometheus官方地址
1、下载node_exporter并解压
cd /home/GPE
wget https://github.com/prometheus/node_exporter/releases/download/v1.0.0/node_exporter-1.0.0.linux-amd64.tar.gz
tar -zvxf node_exporter-1.0.0.linux-amd64.tar.gz
node_exporter
没有单独的配置文件,但是可以在启动时修改其相关配置,常用配置:
## 监听的端口号
--web.listen-address=":9100"
## 获取metric信息的url,默认是/metrics
--web.telemetry-path="/metrics"
## 日志级别
--log.level="info"
## 设置打印日志的格式
--log.format="logger:stderr"
个人认为除非真的有必要,否则没必要修改其默认配置。
2、启动
cd /home/GPE/node_exporter-1.0.0.linux-amd64
nohup ./node_exporter &
## 如果想修改端口号:
nohup ./node_exporter --web.listen-address=":<port>" &
到这里整个GPE监控系统的基础工作已经完成了,接下来我们需要做的就是如何在Grafana
展示node_exporter
收集到的服务器信息。
四、数据展示
1、修改Prometheus配置文件
node_exporter
启动成功之后,我们需要在Prometheus
的配置新增一个任务来收集node_exporter
收集的服务器相关信息。下面修改prometheus.yml
配置信息:
cd /home/GPE/prometheus-2.18.1.linux-amd64
vi prometheus.yml
## 添加内容
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']
- job_name: 'linux'
static_configs:
- targets: ['localhost:9100']
labels:
instance: my_ubuntu
上面的配置用linux
专门用来从node_exporter
请求服务器相关的数据,配置好其地址即可。修改好配置文件之后,我们重启Prometheus
,以便配置文件生效。
2、Grafana数据展示
上一步中Prometheus
会存储其从node_exporter
得到的服务器相关信息,接下来我们需要添加一个Dashboard
显示相关信息,Grafana
官方有很多相关的插件,我们可以根据自己的需要去从这里查看说明,比如要展示node_exporter
收集的服务器信息,我们选择一个dashboard,并复制其ID,也可下载面面板的json数据。
接下来,进入到Grafana
页面,选择import
,如下:
然后输入前面复制的ID,之后点击
load
。图-4.png
等待该dashboard加载完成后,选择好配置好的
Prometheus
数据源,之后点击Import
。图-5.png
之后我们就可以看到服务器的可以看到服务器CPU、内存、磁盘、I/O等信息了,如下图:
图-6.png
因为之前导入的数据面板数据显示是英文的,所以我又重新导入了一个显示为中文的ID(8919),当然,上面的截图只是很基础的一些信息,更详细的信息,这里就不再截图了。
以上就是本次GPE监控告警系统的初步搭建过程,整个过程还是比较简单的,因为时间关系,这里没有配置更多的Exporter
,也没有启动Alertmanager
和配置告警的规则等,这些我们等下次继续完善。
网友评论