目录
学习目录
任务背景
任务分析
一、普罗米修斯概述
二、时间序列数据
三、实验环境准备
1、安装prometheus
2、prometheus界面
3、主机数据展示
4、普罗米修斯默认的监控图像/p>
四、使用普罗米修斯监控Linux 主机
1、node组件介绍
2、安装node_exporter
3、让普罗米修斯监控可以拉取node 节点信息
五、使用普罗米修斯监控mysqld 服务
1、如何监控其他服务
2、安装mysqld_exporter 组件
3、安装mysql,并启动
4、创建mysql 账
5、在mysqld_exporter 组件中配置msyql 信息
6、启动mysqld_exporter组件
7、让普罗米修斯监控可以拉取mysqld 节点信息
六、Grafana 可视化工具
1、什么是Grafana
2、安装Grafana
3、登录Grafana
4、添加普罗米修斯的数据源
5、为添加好的数据源做图形显示
七、Grafana图形显示MySQL监控数据
1、修改配置文件安装模板
2、在Grafana 中导入json 文件
3、设置数据库源
4、更改数据源名称
八、Grafana + onealert 警
1、onealert
2、在Grafana中配置Webhook URL
学习目录
- 能够安装prometheus服务器
- 能够通过安装node_exporter监控远程linux
- 能够通过安装mysqld_exporter监控远程mysql数据库
- 能够安装grafana
- 能够在grafana添加prometheus数据源
- 能够在grafana添加监控cpu负载的图形
- 能够在grafana图形显示mysql监控数据
- 能够通过grafana+onealert实现 警
任务背景
AAA公司是一家电商 站,由于公司的业务快速发展,公司要求对现有机器进行为业务监控,责成运维部门来实施这个项目。
任务要求:
- 部署监控服务器,实现7*24实时监控
- 针对公司的为一务及研发部门设计监控系统,对监控项和触发器拿出合理意见
- 做好问题预警机制,对可能出的问题要及时告警并形成严格的处理机制
- 做好监控告警系统,要求可以实现告警分级
- 一级 警 电话通知
- 二级 警 微信通知
- 三级 警 邮件通知
-
处理好公司服务器异地集中监控问题,K8S内部使用的监控系统就是普罗米修斯
任务分析
为什么要监控/p>
实时收集数据,通过 警及时发现问题 ,及时处理。数据为优化也可以提供依据。
监控四要素:
- 监控对象:【主机状态、服务、资源、页面、url】
- 用什么监控:【zabbix-server zabbix-agent】 -> 普罗米修斯监控
- 什么时间监控:【7 x 24、5×8】
- 警给谁:【管理员】
项目选型:
- mrtg(Multi Router Traffic Grapher)通过snmp 协议得到设备的流量信息,并以包含PNG格式的图形的HTML文档方式显示给用户。
- cacti(仙人掌)用php语言实现的一个软件,它的主要功能是用snmp 服务获取数据,然后用rrdtool 存储和更新数据。官 地址:https://www.cacti.net/
- ntop 官 地址:https://www.stopo.org/
- nagios 能够跨平台,插件多, 警功能强大。官 地址: https://www.nagios.org/
- centreon 底层使用的就是nagios。是一个nagios整合版软件。官 地址:https://www.centreon.com/
- ganglia 设计用于测量数以千计的节点,资源消耗非常小。官 地址:http://ganglia.info/
- open-falcon 小米发布的运维监控软件,高效率,高可用。时间较短,用户基数小。官 地址: http://open-falcon.org/
- zabbix 跨平台,画图,多条件告警,多种API接口。使用基数特别大。官 地址: https://www.zabbix.com/
-
prometheus 基于时间序列的数值数据的容器监控解决方案。官 地址: https://prometheus.io/
综合分析:Prometheus比较适合公司的监控需求
一、普罗米修斯概述
Prometheus(由go语言(golang)开发)是一套开源的监控& 警&时间序列数据库的组合。适合监控docker容器。因为kubernetes(俗称k8s)的流行带动了prometheus的发展。https://prometheus.io/docs/introduction/overview/
二、时间序列数据
1、什么是序列数据
时间序列数据(TimeSeries Data) : 按照时间顺序记录系统、设备状态变化的数据被称为时序数据。应用的场景很多, 如:
- 无人驾驶车辆运行中要记录的经度,纬度,速度,方向,旁边物体的距
- 离等等。每时每刻都要将数据记录下来做分析。
- 某一个地区的各车辆的行驶轨迹数据
- 传统证券行业实时交易数据
- 实时运维监控数据等
2、时间序列数据特点
- 性能好
关系型数据库对于大规模数据的处理性能糟糕。NOSQL可以比较好的处理大规模数据,让依然比不上时间序列数据库。
- 存储成本低
高效的压缩算法,节省存储空间,有效降低IO,Prometheus有着非常高效的时间序列数据存储方法,每个采样数据仅仅占用3.5byte左右空间,上百万条时间序列,30秒间隔,保留60天,大概花了200多G(来自官方数据)
3、Prometheus的主要特征
- 多维度数据模型
- 灵活的查询语言
- 不依赖分布式存储,单个服务器节点是自主的
- 以HTTP方式,通过pull模型拉去时间序列数据
- 也可以通过中间 关支持push模型
- 通过服务发现或者静态配置,来发现目标服务对象
- 支持多种多样的图表和界面展示
4、普罗米修斯原理架构图
三、实验环境准备
序 | 服务器IP | 角色 |
---|---|---|
1 | node-01 (172.20.10.7) | 被监控服务器 |
2 | node-02 (172.20.10.8) | Prometheus 服务器 |
3 | node-03 (172.20.10.9) | grafana 服务器 |
1. 静态ip(要求能上外 )【三台服务器都要操作】
2. 主机名【三台服务器都要操作】: vi /etc/hosts
3. 时间同步(时间同步一定要确认一下)【三台服务器都要操作】
4. 关闭防火墙
5. SELINUX关闭
1、安装prometheus
从 https://prometheus.io/download/ 下载相应版本,安装到服务器上官 提供的是二进制版,解压就能用,不需要编译
第一步:上传软件prometheus-2.5.0.linux-amd64.tar.gz 到Linux服务器目录下:/home/tools
第二步:解压软件:tar -zxvf /home/tools/prometheus-2.5.0.linux-amd64.tar.gz -C /usr/local/
第三步:创建prometheus软链接:ln -s /usr/local/prometheus-2.5.0.linux-amd64 /usr/local/prometheus
第四步:启动普罗米修斯软件
第五步:测试端口占用情况(判断是否真正的启动了)
如果没有安装的话:yum install lsof
[root@server ~]# lsof -i:9090 或 ss -naltp | grep 9090
ss -naltp | grep 9090
2、prometheus界面
通过浏览器访问http://服务器IP:9090就可以访问到prometheus的主界面。即: http://node-02:9090
默认只监控了本机一台,点Status –》点Targets –》可以看到只监控了本机
3、主机数据展示
通过http://服务器IP:9090/metrics可以查看到监控的数据
在web主界面可以通过关键字查询监控项
四、使用普罗米修斯监控Linux 主机
1、node组件介绍
在远程linux 主机(被监控端agent)上安装node_exporter组件(这样普罗米修斯就可以接收到其收集系统)。
下载地址:https://prometheus.io/download/
2、安装node_exporter
第一步:上传软件包到Linux 服务器中(Agent 被监控端)node-01服务器中:node_exporter-0.16.0.linux-amd64.tar.gz
第二步:解压安装node_exporter 组件
第三步:启动node_exporter组件
扩展: nohup命令: 如果把启动node_exporter的终端给关闭,那么进程也会随之关闭。nohup命令会帮你解决这个问题。
第四步:查看9100 端口占用情况
第五步:使用http 协议 + 9100 端口收集Linux 主机信息
通过浏览器访问 http://被监控端IP:9100/metrics 就可以查看到node_exporte在被监控端收集的监控信息。即:http://node-01:9100/metrics
3、让普罗米修斯监控可以拉取node 节点信息
回到prometheus服务器的配置文件里添加被监控机器的配置段
在主配置文件最后加上下面三行
vi /usr/local/prometheus/prometheus.yml
具体配置如下:文件的最后添加内容
设置完成后,保存,然后重新启动Prometheus 普罗米修斯监控系统
回到web 管理界面 –》点Status –》 点Targets –》可以看到多了一台监控目标
通过浏览器访问http://服务器IP:9090就可以访问到prometheus的主界面。即: http://node-02:9090
五、使用普罗米修斯监控mysqld 服务
1、如何监控其他服务
在node_exporter 的基础上,可以根据自己的需要收集其他信息
2、安装mysqld_exporter 组件
下载地址:https://prometheus.io/download/
第一步:上传组件到Linux 服务器
第二步:解压与安装mysqld组件
3、安装mysql,并启动
安装过程。这里不要误解哈,因为之前node-01节点上已经安装了 区版本的mysql服务,所以想直接使用。但发现还不是很满意,所以又在node-03上安装了mariadb
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!