Prometheus和Grafana的基础使用

Prometheus

简介

Prometheus是一套开源的监控&报警&时间序列数据库的组合。

Prometheus的优点

配置灵活

Prometheus的核心部分只有一个二进制文件,下载安装即可,没有依赖的第三方的库。

监控更多多样性

prometheus支持多种语言的的客户端,我们通过客户端方便对核心业务进行埋点,比如下单,添加购物车等流程。而且prometheus已经有非常多的系统集成

比如:

应用层面的监控:nginx,haproxy,mysql ,docker等

系统层面如: SNMP协议监控,主机监控,进程监控

容器云监控: docker,k8s openstack私有云

非常高效的存储

平均一个采样数据占 ~3.5 bytes左右,320万的时间序列,每30秒采样,保持60天,消耗磁盘大概228G

Prometheus的工作流程

数据来源

prometheus server 定期从配置好的jobs或者exporters中拉metrics.或者接受来自pushgateway发过的metrics,或者从其他的prometheus server中拉取metrics

告警情况

  1. prometheus server 在本地存储收集到的metrics,并运行已经定义好的arlt.rules,记录新的时间序列或者向alertmanager推送报警
  2. Alertmanager根据配置文件,对接受的警报进行处理,发出告警

图形显示

在图形界面中,可视化采集数据,可以使用别人写好的grafana模板。

Prometheus的部署

下载

从Prometheus官网下载对应的压缩

https://prometheus.io/download/

安装

将下载完成的安装包上传至服务器,解压后启动

解压执行:

tar -zxvf prometheus-2.36.0-rc0.linux-amd64.tar.gz

启动执行:

cd prometheus-2.36.0-rc0.linux-amd64

./prometheus &

通过WEB页面访问

使用浏览器检查

使用浏览器访问:http://IP:9090

看到以下页面内容即可,说明Prometheus安装完成

可以通过Status – Targets 查看监控的主机

Grafana

简介

Grafana是开源的度量分析和可视化工具,,可以通过将采集的数据查询然后可视化的展示,并实现报警

Grafana的优点

展示方式:

快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式。

数据源:

数据源广:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等。

通知提醒

以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知。

混合展示

在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源。

注释

使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记。

过滤器

Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

Grafana安装

下载

从Grafana官网下载对应的压缩:

https://dl.grafana.com/enterprise/release/grafana-enterprise-9.0.4.linux-amd64.tar.gz

安装

将Grafana下载的压缩包上传到服务器中

将下载完成的安装包上传至服务器,解压后启动

解压执行:

tar -zxvf grafana-enterprise-9.0.4.linux-amd64.tar.gz

启动

cd grafana-enterprise-9.0.4.linux-amd64

./bin/grafana-server &

Grafana使用

登录

使用浏览器登录 http://ip:3030

初始的账号密码为:admin。 第一次登录完成后需要修改密码。

添加数据源

找到Configuration - Add data source

选择对应的数据源,如Prometheus。

只需要添加对应的IP地址后就可以

Name可以不用修改

URL:http://IP:9090

完成后再最底下选择 Save & test,等待保存测试通过即可

展示数据

可以选择从官网中导入仪表板模板 选择Dashboards – import

在Import via grafana.com中可以选择对应的模板填入后Load

如主机监控模板:1860

填写仪表板名称,存放的文件夹,以及数据来源后,导入即可

就可以看到一些数据内容了

仪表板模板地址

https://grafana.com/grafana/dashboards/

监控es集群

安装插件

插件下载地址: https://github.com/vvanholl/elasticsearch-prometheus-exporter/releases 通过github中去下载elasticsearch监控所需要的插件

进入到elasticsearch的安装目录中

执行: 

./bin/elasticsearch-plugin install file:/安装包所在的路径 安装结果如下图所示

修改Prometheus的配置文件

进入到Prometheus的配置文件所在的位置

vim Prometheus.yml 添加以下内容

  - job_name: "elasticsearch"    

    basic_auth:          #elasticearch集群的账号密码,如果没有设置。不用添加basic_auth:

      username: xxxx

      password: xxxxx

    scrape_interval: 30s

    metrics_path: "/_prometheus/metrics"

    static_configs:

      - targets:

        - IP1:9200

        - IP2:9200

        - IP3:9200

然后重启Prometheus服务,重启完成后查看是否存在elasticsearch的内容

添加仪表板查看监控内容

登录Grafana添加仪表板

elasticsearch以Prometheus为数据源的仪表板较好模板的编号:266

添加完成后,等待一段时间即可看到elasticsearch集群的信息了。

监控redis集群

安装插件

Prometheus可以通过redis_export的插件来进行数据内容的上传

下载redis_export插件:

链接:https://pan.baidu.com/s/1Gpr317E-G2bbBWCDMKfplg?pwd=l7z0

下载完成后将插件上传至服务器中,解压等。

启动插件:

进入redis_expro的解压目录中执行:./redis_exporter -redis.password xxxxx  &

修改Prometheus的配置文件

进入到Prometheus的配置文件所在的位置

vim Prometheus.yml 添加以下内容

  - job_name: 'Redis'

    static_configs:

      - targets:

        - redis://IP1:port

        - redis://IP1:port

        - redis://IP2:port

        - redis://IP2:port

              - redis://IP3:port

        - redis://IP3:port

    metrics_path: /scrape

    relabel_configs:

      - source_labels: [__address__]

        target_label: __param_target

      - source_labels: [__param_target]

        target_label: instance

      - target_label: __address__

        replacement: IP1:9121

添加完成后,重启Prometheus服务

执行:

ps -ef | grep prometheus

kill -9 xxx

进入到prometheus的安装目录中然后执行

./prometheus –config.file=Prometheus.yml &

添加仪表板查看监控内容

登录Grafana添加仪表板,

Redis以Prometheus为数据源的仪表板可以使用:11835

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值