监控神器-Prometheus(服务端搭建)

优势

  1. 易于管理
  2. 轻易获取服务内部状态
  3. 高效灵活的查询语句
  4. 支持本地和远程存储
  5. 采用http协议,默认pull模式拉取数据,也可以通过中间网关push数据
  6. 支持自动发现
  7. 可扩展
  8. 易集成(客户端分为不同语言的SDK和不同用途的exporter两种)

Prometheus运行流程 

    prometheus根据配置定时去拉取各个节点的数据,默认使用的拉取方式是pull,也可以使用pushgateway提供的push方式获取各个监控节点的数据。将获取到的数据存入TSDB,一款时序型数据库。此时prometheus已经获取到了监控数据,可以使用内置的PromQL进行查询。它的报警功能使用Alertmanager提供,Alertmanager是prometheus的告警管理和发送报警的一个组件。prometheus原生的图标功能过于简单,可将prometheus数据接入grafana,由grafana进行统一管理。 

搭建GO语言环境

下载go安装包

wget https://dl.google.com/go/go1.12.3.linux-amd64.tar.gz

其他安装包可在此挑选: https://golang.google.cn/dl/

解压&配置

tar -C /usr/local -zxvf  go1.12.3.linux-amd64.tar.gz

修改配置文件

vim /etc/profile

在末尾新增两行

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

刷新配置

source /etc/profile

检测是否安装成功

go version

安装Grafana

获取安装包

下载地址:https://grafana.com/grafana/download

在Linux联网环境下可以直接获取

wget https://dl.grafana.com/oss/release/grafana-6.3.5-1.x86_64.rpm
sudo yum localinstall grafana-6.3.5-1.x86_64.rpm

接着把Grafana加入到系统服务,将服务启动

sudo /sbin/chkconfig --add grafana-server
sudo service grafana-server start

安装Prometheus

下载地址: https://prometheus.io/download/

解压

tar  -vxf prometheus-2.12.0.linux-amd64.tar.gz  -C /usr/local/

制作软连接

ln  -sv  /usr/local/prometheus-2.12.0.linux-amd64/  /usr/local/prometheus

进入目录后执行命令

./prometheus 

node_exporter安装

tar xvf node_exporter-0.18.1.linux-amd64.tar.gz -C  /usr/local/
cd /usr/local/node_exporter-0.18.1.linux-amd64/ 
nohup ./node_exporter >/dev/null 2>&1 &

修改 prometheus.yml

cd /usr/local/prometheus
vim 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: ['IP:9090']
  - job_name: 'server'
    static_configs:
      - targets: ['IP:9100']

重启!! !

 

如果需要配置监控对象则配置(prometheus.yml)!!!!

配置文件大致可以分为四部分:

  • global:全局配置,其中scrape_interval表示抓取一次数据的间隔时间,evaluation_interval表示进行告警规则检测的间隔时间;
  • alerting:告警管理器(Alertmanager)的配置,目前还没有安装Alertmanager;
  • rule_files:告警规则有哪些;
  • scrape_configs:抓取监控信息的目标。一个job_name就是一个目标,其targets就是采集信息的IP和端口。这里默认监控了Prometheus自己,可以通过修改这里来修改Prometheus的监控端口。Prometheus的每个exporter都会是一个目标,它们可以上报不同的监控信息,比如机器状态,或者mysql性能等等,不同语言sdk也会是一个目标,它们会上报你自定义的业务监控信息。

 整合Grafana

到设置页面配置Prometheus的连接信息

 例子:计算出整个CPU的工作状态

(((count(count(node_cpu_seconds_total) by (cpu))) - avg(sum by (mode)(irate(node_cpu_seconds_total{mode='idle'}[5m])))) * 100) / count(count(node_cpu_seconds_total) by (cpu))

访问该地址https://grafana.com/grafana/dashboards

使用官方推荐仪表盘!

推荐:https://www.jianshu.com/p/413fd42ae660

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值