基础监控;服务器基础指标(cpu load、内存、用户线程数、端口连接数、存储)
语言相关比如jvm以及go、php等
基础中间件监控;redis、mysql、rabbitmq
应用监控;应用接口调用频率、应用接口响应时间、应用接口异常次数
根据监控指标可配置定制化的阈值告警
2、在多维度上灵活的查询语言(PromQl)
3、不依赖分布式存储(内置数据库),单主节点工作.
4、基于HHTP的pull方式采集时间序列数据
5、可以通过pushgateway进行时序列数据推送(pushing)
6、可以通过服务发现或者静态配置去获取要采集的目标服务器
通常有两种方式:
1、侵入式埋点监控(直接采集),通过在客户端集成,如果Kubernetes API直接通过引入Prometheus go client,提供/metrics接口查询kubernetes API各种指标;这一类Exporter直接内置了对Prometheus监控的支持,比如cAdvisor,Kubernetes,Etcd,Gokit等,都直接内置了用于向Prometheus暴露监控数据的端点。
HTTP返回Header和Body如上图所示,指标前面两行#是注释,标识指标的含义和类型。指标和指标的值通过空格分割,开发者通常不需要自己拼接这种个数的数据, Prometheus提供了各种语言的SDK支持。
prometheus server:主要获取和存储时间序列数据
exporters:主要是作为agent收集数据发送到prometheus server,不同的数据收集由不同的exporters实现,如监控主机有node-exporters,mysql有MySQL server exporters。
pushgateway:允许短暂和批处理的jobs推送它们的数据到prometheus;由于这类工作的存在时间不够长,所以需要他们主动将数据推送到pushgateway,然后由pushgateway将数据发送的prometheus。
prometheus直接或通过pushgateway抓取数据。(短周期任务数据)
将数据存储在本地,并对这些数据运行规则,以便从现有数据聚合和记录新时间序列,或者生成警报。
Prometheus targets:采集mysql数据,
▼▼▼
tar -zxvf /usr/local/src/prometheus-2.17.1.linux-amd64.tar.gz -C /usr/local
ln -s /usr/local/src/prometheus-2.17.1.linux-amd64 /usr/local/prometheus
chown -R prometheus:prometheus /usr/local/prometheus/
▼▼▼
cat >/etc/systemd/system/prometheus.service<
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/ After=network.target
[Service] Type=simple User=prometheus
ExecStart=/usr/local/prometheus/prometheus
config.file=/usr/local/prometheus/prometheus.yml
storage.tsdb.path=/var/lib/prometheus
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
查看日志
浏览器输入http://192.168.**.***:9090/
下载并解压node_exporter
wget -P /usr/local/srchttps://github.com/prometheus/node_exporter/releases/download/v1.0.0-rc.0/node_exporter-1.0.0-rc.0.linux-amd64.tar.gz
tar -zxvf /usr/local/src/node_exporter-1.0.0-rc.0.linux-amd64.tar.gz -C /usr/local
建立软连接
ln -s /usr/local/node_exporter-1.0.0-rc.0.linux-amd64/ /usr/local/node_exporter
添加用户名和用户组
group add prometheus
useradd -g prometheus -s /sbin/nologinprometheus
给node_exporter主目录赋权限
chown -R prometheus:prometheus /usr/local/node_exporter/
启动并设置开机自启
systemctl start node_exporter
systemctl enable node_exporter
检查node_exporter是否已启动node_exporter默认的端口是9100
systemctl status node_exporter
ss -ntl |grep 9100
直接关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
在prometheus的web上检查是否监控到了本机
global:
scrape_interval: 15s //全局配置,多久搜集一次
evaluation_interval: 15s //全局配置,多久搜集一次
rule_files: //规则文件
# - "first.rules"
# - "second.rules"
scrape_configs: //搜集的配置
- job_name: prometheus //监控的服务名称
static_configs:
- targets: [localhost:9090] //监控入口
多个地址依次添加即可。
下载Grafana的rpm包
wgethttps://dl.grafana.com/oss/release/grafana-6.7.2-1.x86_64.rpm
安装Grafana
yum install grafana-6.7.2-1.x86_64.rpm
启动grafana,并设置其开机自启
systemctl restart grafana-server
systemctl enable grafana-server
浏览器打开Grafana主页 http://192.168.48.150:3000/
配置数据源类型Prometheus,并设置相关参数
总结:上文提到 Prometheus 是一款基于时序数据库的监控系统,时序数据库常简写为 TSDB(Time Series Database)。很多流行的监控系统都在使用时序数据库来保存数据,这是因为时序数据库的特点和监控系统不谋而合。本次分享到此结束,如有错误之处,还请多多指出。
更多精彩干货分享
点击下方名片关注
IT那活儿
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129925.html
摘要:二可视化是一个开源的图表可视化系统,简单说图表配置比较方便生成的图表比较漂亮。 一. 概述 Prometheus自带了一个web服务,包括一个默认的dashboard,可以使用表达式查询并进行图表可视化,默认服务的地址为:http://prometheus_ip:9090 如下图: showImg(https://segmentfault.com/img/remote/14600000...
摘要:二可视化是一个开源的图表可视化系统,简单说图表配置比较方便生成的图表比较漂亮。 一. 概述 Prometheus自带了一个web服务,包括一个默认的dashboard,可以使用表达式查询并进行图表可视化,默认服务的地址为:http://prometheus_ip:9090 如下图: showImg(https://segmentfault.com/img/remote/14600000...
摘要:二可视化是一个开源的图表可视化系统,简单说图表配置比较方便生成的图表比较漂亮。 一. 概述 Prometheus自带了一个web服务,包括一个默认的dashboard,可以使用表达式查询并进行图表可视化,默认服务的地址为:http://prometheus_ip:9090 如下图: showImg(https://segmentfault.com/img/remote/14600000...
摘要:行业内各巨头的自动化运维架构都各种功能各种酷炫,如下图,让人可望不可及。面对这么多问题,我就想啊,如何在低成本情况下实现自动化运维。自动扩缩容通过配置告警规则,调用相应就可以实现实战以上就是笔者关于自动化运维的一些实践。 行业内各巨头的自动化运维架构都各种功能各种酷炫,如下图,让人可望不可及。现在最终的样子大家都知道了,但问题是如何根据自己团队当前的情况一步步向那个目标演进?笔者所在团队,三...
摘要:其他监控类服务管理其他监控类服务管理其他监控类服务管理其他监控类服务还包括等,对这些监控服务的管理方式,均与本篇指南中服务管理的管理方式类似,此处不再过多赘述。 监控类服务管理本篇目录Prometheus服务管理Grafana服务管理其他监控类服务管理在USDP1.0.0.0版本中,集群监控类服务组件主要有AlterManager、Grafana、InfluxDB、NodeExporter、...
摘要:在和未普及之前,要实现的搭建确实要费一番工夫的,不过现在则很简单就可以实现的监控了。下载镜像使用方式下载极为方便,只需要执行如下命令即可,当然前提是需要安装了。 一、背景 对于LNMP环境下的开发者来说,mysql是非常重要的一环,同时mysql的性能监控也是开发者所需要关注的一环;如果大家使用阿里云的RDS会感觉到其监控功能非常好用,但如果开发者使用的是自建数据库,该怎么去搭建则需则...
阅读 1346·2023-01-11 13:20
阅读 1684·2023-01-11 13:20
阅读 1132·2023-01-11 13:20
阅读 1858·2023-01-11 13:20
阅读 4100·2023-01-11 13:20
阅读 2704·2023-01-11 13:20
阅读 1385·2023-01-11 13:20
阅读 3595·2023-01-11 13:20