(一)Prometheus监控--安装和配置

栏目:技术教程 发布时间 2020-10-16 人气 

来源:http://www.mamicode.com/info-detail-3085686.html

TAG:无

侵权:admin@heimacode.com

免责声明:本文图片引用自网络,如有侵权请联系我们予以删除

黑码网发布此文仅为传递信息,不代表黑码网认同其观点。

简介:标签:lookupelasticstpsguide指标inuxecs开源项目本地存储(一)、概述1、什么是prometheusPrometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native C...

标签:lookup   elastics   tps   guide   指标   inux   ecs   开源项目   本地存储   

(一)、概述
1、什么是prometheus
Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。
2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native Computing Foundation), 将Prometheus纳入其下第二大开源项目。
Prometheus目前在开源社区相当活跃。
Prometheus和Heapster(Heapster是K8S的一个子项目,用于获取集群的性能数据。)相比功能更完善、更全面。Prometheus性能也足够支撑上万台规模的集群。
2、Prometheus的特点

  • 多维度数据模型。
  • 灵活的查询语言。
  • 不依赖分布式存储,单个服务器节点是自主的。
  • 通过基于HTTP的pull方式采集时序数据。
  • 可以通过中间网关进行时序列数据推送。
  • 通过服务发现或者静态配置来发现目标服务对象。
  • 支持多种多样的图表和界面展示,比如Grafana等。
    3、基本组件
    Prometheus生态包含多个组件,其中许多的组件都是可选的.
  • Prometheus Server: 用于收集和存储时间序列数据。
  • Client Library: 客户端库,为需要监控的服务生成相应的 metrics 并暴露给 Prometheus server。当 Prometheus server 来 pull 时,直接返回实时状态的 metrics。
  • Push Gateway: 主要用于短期的 jobs。由于这类 jobs 存在时间较短,可能在 Prometheus 来 pull 之前就消失了。为此,这次 jobs 可以直接向 Prometheus server 端推送它们的 metrics。这种方式主要用于服务层面的 metrics,对于机器层面的 metrices,需要使用 node exporter。
  • Exporters: 用于暴露已有的第三方服务的 metrics 给 Prometheus。
  • Alertmanager: 从 Prometheus server 端接收到 alerts 后,会进行去除重复数据,分组,并路由到对收的接受方式,发出报警。常见的接收方式有:电子邮件,pagerduty,OpsGenie, webhook 等。
    4、基本原理
    Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter 。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux系统信息(包括磁盘、内存、CPU、网络等等)。
    5、架构图
    技术图片
    6、服务过程
    服务过程
  • Prometheus Daemon负责定时去目标上抓取metrics(指标)数据,每个抓取目标需要暴露一个http服务的接口给它定时抓取。Prometheus支持通过配置文件、文本文件、Zookeeper、Consul、DNS SRV Lookup等方式指定抓取目标。Prometheus采用PULL的方式进行监控,即服务器可以直接通过目标PULL数据或者间接地通过中间网关来Push数据。
  • Prometheus在本地存储抓取的所有数据,并通过一定规则进行清理和整理数据,并把得到的结果存储到新的时间序列中。
  • Prometheus通过PromQL和其他API可视化地展示收集的数据。Prometheus支持很多方式的图表可视化,例如Grafana、自带的Promdash以及自身提供的模版引擎等等。Prometheus还提供HTTP API的查询方式,自定义所需要的输出。
  • PushGateway支持Client主动推送metrics到PushGateway,而Prometheus只是定时去Gateway上抓取数据。
  • Alertmanager是独立于Prometheus的一个组件,可以支持Prometheus的查询语句,提供十分灵活的报警方式。

(二)、安装配置
一、Prometheust Server端安装和相关配置
1.1、二进制包安装

1.1、官网地址https://prometheus.io/download/
1.2、下载和安装
wget https://github.com/prometheus/prometheus/releases/download/v2.22.0-rc.0/prometheus-2.22.0-rc.0.linux-386.tar.gz
tar xf prometheus-2.22.0-rc.0.linux-386.tar.gz 
mv prometheus-2.22.0-rc.0.linux-386/prometheus /usr/local/prometheus
1.3、配置系统启动文件
 cat  /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus Server
After=network.target
Documentation=https://prometheus.io/docs/introduction/overview/

[Service]
Type=simple
WorkingDirectory=/data/prometheus/
ExecStart=/usr/local/prometheus/prometheus   --config.file=/etc/prometheus/prometheus.yml   --web.read-timeout=5m   --web.max-connections=512   --storage.tsdb.retention=15d   --storage.tsdb.path=/data/prometheus   --query.timeout=2m

Restart=on-failure

[Install]
WantedBy=multi-user.target

1.4、把配置文件转移到标准目录/etc/prometheus/
mkdir -p /etc/prometheus/
cp /usr/local/prometheus/prometheus.yml /etc/prometheus/

cat /etc/prometheus/prometheus.yml
global:
  scrape_interval:     15s 
  evaluation_interval: 15s

alerting:
  alertmanagers:
  - static_configs:
    - targets:

rule_files:

scrape_configs:
  - job_name: ‘prometheus‘
    static_configs:
      - targets: [‘localhost:9090‘]
1.4、启动
systemctl daemon-reload
systemctl start prometheus
systemctl enable prometheus
systemctl status prometheus
1.5、查看通过 ip:9090进行查看。二进制安装非常方便,没有依赖,自动查询的web界面。配置了9090端口,默认prometheus会抓取自己的/metrics接口

1.2、docker安装

1、安装
docker run     -p 9090:9090     -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml     prom/prometheus

2、查看prometheus服务和状态
docker start prometheus
docker stop prometheus
docker stats prometheus

二、安装node_exporter提供metrics

1、下载、解压和移动
wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
tar xf node_exporter-1.0.1.linux-amd64.tar.gz 
mv node_exporter-1.0.1.linux-amd64/node_exporter /usr/local/prometheus/
2、配置启动文件
cat /etc/systemd/system/node_export.service
[Unit]
Description=Node Export
After=network.target
Documentation=https://prometheus.io/docs/guides/node-exporter/

[Service]
Type=simple
WorkingDirectory=/tmp/
ExecStart=/usr/local/prometheus/node_exporter 

Restart=on-failure

[Install]
WantedBy=multi-user.target

3、自启动
[root@ES-Master2 opt]# systemctl start node_export
[root@ES-Master2 opt]# systemctl enable node_export
Created symlink from /etc/systemd/system/multi-user.target.wants/node_export.service to /etc/systemd/system/node_export.service.
[root@ES-Master2 opt]# systemctl status node_export

4、加入监控
手动加入 prometheus 监控,修改其配置文件,再尾部增加如下内容:
  - job_name: elasticsearch
    scrape_interval: 60s
    scrape_timeout:  30s
    metrics_path: "/metrics"
    static_configs:
    - targets: [172.20.3.201:9100]
      labels:
        service: elasticsearch
然后重新载入配置curl -X POST http://localhost:9090/-/reload

5、查看生效的接口
技术图片

6、docker安装更简单

docker run -d   --net="host"   --pid="host"   -v "/:/host:ro,rslave"   quay.io/prometheus/node-exporter   --path.rootfs=/host

三、安装grafana进行展示
Grafana是用于可视化大型测量数据的开源程序,它提供了强大和优雅的方式去创建、共享、浏览数据。
Dashboard中显示了你不同metric数据源中的数据。
Grafana最常用于因特网基础设施和应用分析,但在其他领域也有用到,比如:工业传感器、家庭自动化、过程控制等等。
Grafana支持热插拔控制面板和可扩展的数据源,目前已经支持Graphite、InfluxDB、OpenTSDB、Elasticsearch、Prometheus等。

1、下载和安装
1、下载地址 https://grafana.com/grafana/download
2、Red Hat, CentOS, RHEL, and Fedora(64 Bit)
wget https://dl.grafana.com/oss/release/grafana-7.2.1-1.x86_64.rpm
sudo yum install grafana-7.2.1-1.x86_64.rpm -y
3、自启动
systemctl enable grafana-server
systemctl start grafana-server
4、访问ip:3000端口,默认账号和密码都是admin:admin
2、配置数据源。设置-配置-数据源-选择prometheus

技术图片
技术图片

3、下载相应的模板https://grafana.com/grafana/dashboards
4、导入模板。+--import,把下载的模板导进去

技术图片

(一)Prometheus监控--安装和配置

标签:lookup   elastics   tps   guide   指标   inux   ecs   开源项目   本地存储   

原文地址:https://blog.51cto.com/liqingbiao/2541902

南站 原子弹 文献 手套 下拉框 创新 废旧 聚丙烯 我为 信息安全 风筝 正确 咳嗽 田中 优雅 拆了 挥手 展台 挡泥板 游网 为师 分组 疾病预防控制中心 动轮 浮动 线上 上台 错别字 防盗报警系统 蛋白质 为零 开票 新训 护理 操作者 梅斯 外迁 很可能 一枚 赞誉 如何用 玩玩 飞弹 上涨了 汽车 法人 山海 海南岛 Parallels_Desktop_15 重复使用 美术馆 教法 皮卡丘 我不会 双眼 热潮 垄断 主公 煽动 提到 垃圾车 礁石 毁掉 受雇 云游 键鼠 医药行业 飞龙 下旬 全美 存储过程 图鉴 在欧洲 博思 手轮 放大镜 哥斯拉 系统总线 选育 草坪 实力 时时刻刻 避雷针 权限 官方 敌对 花销 捕捉 双边关系 家军 凹口 点券 编号 隐姓埋名 正视 弹劾案 该项 自动化系统 高龄 给予
资源来源网络,若未解决请查看原文

本文地址:https://www.heimacode.com/article/60670.html