prometheus学习系列二: Prometheus安装
下载
在prometheus的官网的download页面,可以找到prometheus的下载二进制包。
[root@node00 src]# cd /usr/src/
[root@node00 src]# wget https://github.com/prometheus/prometheus/releases/download/v2.12.0/prometheus-2.12.0.linux-amd64.tar.gz
[root@node00 src]# mkdir /usr/local/prometheus/
[root@node00 src]# tar xf prometheus-2.12..linux-amd64.tar.gz -C /usr/local/prometheus/
[root@node00 src]# cd /usr/local/prometheus/
[root@node00 prometheus]# ln -s prometheus-2.12..linux-amd64 prometheus
[root@node00 prometheus]# ll
total
lrwxrwxrwx root root Sep : prometheus -> prometheus-2.12..linux-amd64
drwxr-xr-x Aug : prometheus-2.12..linux-amd64
[root@node00 prometheus]# cd prometheus
获取配置帮助
[root@node00 prometheus]# ./prometheus --help
启动
# 启动
[root@node00 prometheus]# ./prometheus
level=info ts=--20T09::.470Z caller=main.go: msg="no time or size retention was set so using the default time retention" duration=15d
level=info ts=--20T09::.470Z caller=main.go: msg="Starting Prometheus" version="(version=2.12.0, branch=HEAD, revision=43acd0e2e93f9f70c49b2267efa0124f1e759e86)"
level=info ts=--20T09::.470Z caller=main.go: build_context="(go=go1.12.8, user=root@7a9dbdbe0cc7, date=20190818-13:53:16)"
level=info ts=--20T09::.470Z caller=main.go: host_details="(Linux 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 node00 (none))"
level=info ts=--20T09::.470Z caller=main.go: fd_limits="(soft=1024, hard=4096)"
level=info ts=--20T09::.470Z caller=main.go: vm_limits="(soft=unlimited, hard=unlimited)"
level=info ts=--20T09::.473Z caller=main.go: msg="Starting TSDB ..."
level=info ts=--20T09::.473Z caller=web.go: component=web msg="Start listening for connections" address=0.0.0.0:
level=info ts=--20T09::.519Z caller=head.go: component=tsdb msg="replaying WAL, this may take awhile"
level=info ts=--20T09::.520Z caller=head.go: component=tsdb msg="WAL segment loaded" segment= maxSegment=
level=info ts=--20T09::.520Z caller=main.go: fs_type=XFS_SUPER_MAGIC
level=info ts=--20T09::.520Z caller=main.go: msg="TSDB started"
level=info ts=--20T09::.520Z caller=main.go: msg="Loading configuration file" filename=prometheus.yml
level=info ts=--20T09::.568Z caller=main.go: msg="Completed loading of configuration file" filename=prometheus.yml
level=info ts=--20T09::.568Z caller=main.go: msg="Server is ready to receive web requests."
测试

配置开机自启
# 进入systemd文件目录
[root@node00 system]# cd /usr/lib/systemd/system
# 编写prometheus systemd文件
[root@node00 system]# cat prometheus.service
[Unit]
Description=prometheus
After=network.target [Service]
User=prometheus
Group=prometheus
WorkingDirectory=/usr/local/prometheus/prometheus
ExecStart=/usr/local/prometheus/prometheus/prometheus
[Install]
WantedBy=multi-user.target
# 启动
[root@node00 system]# systemctl restart prometheus
# 查看状态
[root@node00 system]# systemctl status prometheus
● prometheus.service - prometheus
Loaded: loaded (/usr/lib/systemd/system/prometheus.service; disabled; vendor preset: disabled)
Active: active (running) since Fri -- :: EDT; 4s ago
Main PID: (prometheus)
CGroup: /system.slice/prometheus.service
└─ /usr/local/prometheus/prometheus/prometheus Sep :: node00 prometheus[]: level=info ts=--20T10::.634Z caller=head.go: component=tsdb msg="replaying WAL, this may take awhile"
Sep :: node00 prometheus[]: level=info ts=--20T10::.640Z caller=head.go: component=tsdb msg="WAL segment loaded" segment= maxSegment=
Sep :: node00 prometheus[]: level=info ts=--20T10::.640Z caller=head.go: component=tsdb msg="WAL segment loaded" segment= maxSegment=
Sep :: node00 prometheus[]: level=info ts=--20T10::.641Z caller=head.go: component=tsdb msg="WAL segment loaded" segment= maxSegment=
Sep :: node00 prometheus[]: level=info ts=--20T10::.641Z caller=head.go: component=tsdb msg="WAL segment loaded" segment= maxSegment=
Sep :: node00 prometheus[]: level=info ts=--20T10::.642Z caller=main.go: fs_type=XFS_SUPER_MAGIC
Sep :: node00 prometheus[]: level=info ts=--20T10::.642Z caller=main.go: msg="TSDB started"
Sep :: node00 prometheus[]: level=info ts=--20T10::.642Z caller=main.go: msg="Loading configuration file" filename=prometheus.yml
Sep :: node00 prometheus[]: level=info ts=--20T10::.686Z caller=main.go: msg="Completed loading of configuration file" filename=prometheus.yml
Sep :: node00 prometheus[]: level=info ts=--20T10::.686Z caller=main.go: msg="Server is ready to receive web requests." # 开机自启配置
[root@node00 system]# systemctl enable prometheus
Created symlink from /etc/systemd/system/multi-user.target.wants/prometheus.service to /usr/lib/systemd/system/prometheus.service.
后端存储配置
默认情况下prometheus会将采集的数据防止到本机的data目录的, 存储数据的大小受限和扩展不便,这是使用influxdb作为后端的数据库来存储数据。
influxdb安装配置
influxdb的官方文档地址为: https://docs.influxdata.com/influxdb/v1.7/introduction/downloading/ 根据不同系统进行下载,这里使用官方提供的rpm进行安装。
# 下载rpm
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.8.x86_64.rpm
# 本地安装rpm
sudo yum localinstall influxdb-1.7..x86_64.rpm
# 查看安装的文件
[root@node00 influxdb]# rpm -ql influxdb
/etc/influxdb/influxdb.conf
/etc/logrotate.d/influxdb
/usr/bin/influx
/usr/bin/influx_inspect
/usr/bin/influx_stress
/usr/bin/influx_tsm
/usr/bin/influxd
/usr/lib/influxdb/scripts/influxdb.service
/usr/lib/influxdb/scripts/init.sh
/usr/share/man/man1/influx..gz
/usr/share/man/man1/influx_inspect..gz
/usr/share/man/man1/influx_stress..gz
/usr/share/man/man1/influx_tsm..gz
/usr/share/man/man1/influxd-backup..gz
/usr/share/man/man1/influxd-config..gz
/usr/share/man/man1/influxd-restore..gz
/usr/share/man/man1/influxd-run..gz
/usr/share/man/man1/influxd-version..gz
/usr/share/man/man1/influxd..gz
/var/lib/influxdb
/var/log/influxdb
# 备份默认的默认的配置文件,这里可以对influxdb的数据存放位置做些设置
[root@node00 influxdb]# cp /etc/influxdb/influxdb.conf /etc/influxdb/influxdb.conf.default # 启动
[root@node00 influxdb]# systemctl restart influxdb
# 查看状态
[root@node00 influxdb]# systemctl status influxdb # 客户端登陆测试, 创建一个prometheus的database供后续的prometheus使用。
[root@node00 influxdb]# influx
Connected to http://localhost:8086 version 1.7.8
InfluxDB shell version: 1.7.
> show databases;
name: databases
name
----
_internal
> create database prometheus;
> show databases;
name: databases
name
----
_internal
prometheus
> exit
配置prometheus集成infludb
官方的帮助文档在这里: https://docs.influxdata.com/influxdb/v1.7/supported_protocols/prometheus/
[root@node00 prometheus]# pwd
/usr/local/prometheus/prometheus
cp prometheus.yml prometheus.yml.default
vim prometheus.yml
# 添加如下几行
remote_write:
- url: "http://localhost:8086/api/v1/prom/write?db=prometheus" remote_read:
- url: "http://localhost:8086/api/v1/prom/read?db=prometheus" systemctl restart prometheus
systemctl status prometheus
注意: 如果influxdb配置有密码, 请参考上面的官方文档地址进行配置。
测试数据是否存储到influxdb中
[root@node00 prometheus]# influx
Connected to http://localhost:8086 version 1.7.8
InfluxDB shell version: 1.7.
> show databases;
name: databases
name
----
_internal
prometheus
> use prometheus
Using database prometheus
> show measures;
ERR: error parsing query: found measures, expected CONTINUOUS, DATABASES, DIAGNOSTICS, FIELD, GRANTS, MEASUREMENT, MEASUREMENTS, QUERIES, RETENTION, SERIES, SHARD, SHARDS, STATS, SUBSCRIPTIONS, TAG, USERS at line , char
> show MEASUREMENTS;
name: measurements
name
----
go_gc_duration_seconds
go_gc_duration_seconds_count
go_gc_duration_seconds_sum
go_goroutines
go_info
go_memstats_alloc_bytes
# 后面还是有很多,这里不粘贴了。 # 做个简单查询
> select * from prometheus_http_requests_total limit ;
name: prometheus_http_requests_total
time __name__ code handler instance job value
---- -------- ---- ------- -------- --- -----
prometheus_http_requests_total /metrics localhost: prometheus
prometheus_http_requests_total /metrics localhost: prometheus
prometheus_http_requests_total /metrics localhost: prometheus
prometheus_http_requests_total /metrics localhost: prometheus
prometheus_http_requests_total /metrics localhost: prometheus
prometheus_http_requests_total /metrics localhost: prometheus
prometheus_http_requests_total /metrics localhost: prometheus
prometheus_http_requests_total /metrics localhost: prometheus
prometheus_http_requests_total /metrics localhost: prometheus
prometheus_http_requests_total /metrics localhost: prometheus
prometheus学习系列二: Prometheus安装的更多相关文章
- RabbitMQ学习系列二-C#代码发送消息
RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列 http://www.80iter.com/blog/1437455520862503 上一篇已经讲了Rabbi ...
- .net reactor 学习系列(二)---.net reactor界面各功能说明
原文:.net reactor 学习系列(二)---.net reactor界面各功能说明 安装了.net reactor之后,可以在安装目录下找到帮助文档REACTOR_HELP.c ...
- 图机器学习(GML)&图神经网络(GNN)原理和代码实现(前置学习系列二)
项目链接:https://aistudio.baidu.com/aistudio/projectdetail/4990947?contributionType=1 欢迎fork欢迎三连!文章篇幅有限, ...
- MyBatis学习系列二——增删改查
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...
- Maven学习系列二(1-5)
Maven学习系列二(1-5) 本文转自 QuantSeven 博客,讲解精炼易懂,适合入门,链接及截图如下 http://www.cnblogs.com/quanyongan/category/47 ...
- scrapy爬虫学习系列二:scrapy简单爬虫样例学习
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...
- DocX开源WORD操作组件的学习系列二
DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...
- [转]ASP.NET MVC学习系列(二)-WebAPI请求 传参
[转]ASP.NET MVC学习系列(二)-WebAPI请求 传参 本文转自:http://www.cnblogs.com/babycool/p/3922738.html ASP.NET MVC学习系 ...
- Prometheus学习系列(二)之Prometheus FIRST STEPS
前言 本文来自Prometheus官网手册 和 Prometheus简介 说明 Prometheus是一个监控平台,通过在监控目标上的HTTP端点来收集受监控目标的指标.本指南将向您展示如何使用Pro ...
随机推荐
- 网络协议 10 - Socket 编程(上)
前面一直在说各种协议,偏理论方面的知识,这次咱们就来认识下基于 TCP 和 UDP 协议这些理论知识的 Socket 编程. 说 TCP 和 UDP 的时候,我们是分成客户端和服务端来认识的, ...
- 2019年底前的web前端面试题初级-web标准应付HR大多面试问题
作者 | Jeskson来源 | 达达前端小酒馆 问:你知道在css中,html的标签元素分多少中不同的类型吗? 答:大体可分三种:1,块状元素,2,内联元素,3,内联块状元素 块级元素:就是每个块级 ...
- Oracle_本地计算机上的OracleOraDb11g_home1TNSListener 服务启动后停止
这个IP地址要写对,写成本机IP4的地址
- 聊聊对称/非对称加密在HTTPS中的使用
目前常用的加密算法主要分成三类: 对称加密算法 非对称加密算法 消息摘要算法 在互联网中,信息防护主要涉及两个方面:信息窃取和信息篡改.对称/非对称加密算法能够避免信息窃取,而消息摘要算法能够避免信息 ...
- SQL Server表 & 存储过程 创建日期查询
查询表创建时间 SELECT [name] ,create_date ,modify_date FROM sys.tables ORDER BY modify_date DESC 查下存储过程创建时间 ...
- SharePoint - Another Way to Delete Site Collection
I had created a site collection. But there is a problem of web-frontend server (I did not know when ...
- [IOI 1994]数字三角形
数字三角形 总时间限制: 1000ms 内存限制: 65536kB 描述 73 88 1 02 7 4 44 5 2 6 5 (图1) 图1给出了一个数字三角形.从三角形的顶部到底部有很多条不同的路径 ...
- Scala2.12 从入门到精通实战高端视频课程(含网盘下载地址)
Scala快速入门到精通 下载地址链接:https://pan.baidu.com/s/1bTSZSlWftFYaLQL6lVH62A 提取码:ohfk 下载后使用视频中自带的专用播放器打开视频就能看 ...
- Spring AOP动态代理实现,解决Spring Boot中无法正常启用JDK动态代理的问题
Spring AOP底层的动态代理实现有两种方式:一种是JDK动态代理,另一种是CGLib动态代理. JDK动态代理 JDK 1.3版本以后提供了动态代理,允许开发者在运行期创建接口的代理实例,而且只 ...
- 部署elasticsearch(三节点)集群+filebeat+kibana
用途 ▷ 通过各个beat实时收集日志.传输至elasticsearch集群 ▷ 通过kibana展示日志 实验架构 名称:IP地址:CPU:内存 kibana&cerebro:192.168 ...