七、Promethus监控系统

一、普罗米修斯监控系统

1、为什么需要监控:

① 实时收集数据:监控工具能够实时收集关于系统、应用、网络等各方面的数据,包括性能指标、错误日志、用户行为等。

② 及时发现问题:通过实时数据收集和分析,监控系统能够在问题发生时迅速识别异常。

③ 及时处理:一旦监控系统发现问题,它可以触发报警机制,通知管理员或相关团队。

④ 为优化提供依据:监控数据不仅可以帮助发现问题,还可以为系统优化提供依据。

2、普罗米修斯概述:

Prometheus由go语言开发,是一套开源的监控&报警&时间序列数据库的组合,适合监控docker容器。

时间序列数据 (TimeSeries Data) : 按照时间顺序记录系统、设备状态变化的数据被称为时序数据。

二、prometheus实验

1、实验架构:

修改IP、UUID、主机名、hosts文件、时间同步

2、安装prometheus:

(1) 解压:

Prometheus 官方提供了预编译的二进制版本,不需要进行编译,解压后就可以使用。

tar xf prometheus-2.5.0.linuxamd64.tar.gz -C /usr/local/
mv /usr/local/prometheus-2.5.0.linux-amd64/ /usr/local/prometheus

(2) 启动:

直接使用默认配置文件启动。

Prometheus的配置文件是一个YAML格式的文件,包含了Prometheus的各种配置信息,配置文件放置在/usr/local/prometheus/目录下。

/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &

#指定配置文件的路径,&表示后台运行,不占用终端界面

3、prometheus界面:

浏览器访问http://服务器IP:9090就可以访问到prometheus的主界面:

http://服务器IP:9090/metrics可以查看到监控的数据:

prometheus默认监控本机:

在web界面可以通过关键字查询监控项:

4、监控远程Linux主机:

(1) 在远程linux主机(被监控端agent)上安装node_exporter组件:

node_exporter可以采集服务器的各种资源使用情况,将这些信息提供给Prometheus服务器进行监控和分析。

tar xf node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/node_exporter-0.16.0.linux-amd64/ /usr/local/node_exporter

(2) 启动node_exporter:

nohup /usr/local/node_exporter/node_exporter &

/usr/local/node_exporter/node_exporter 是node_exporter组件的完整路径;

nohub 命令的作用是即使关闭node_exporter所在的终端,它也会继续运行。

(3) 在prometheus服务器的添加被监控的机器:

在主配置文件添加被监控的机器:

vim /usr/local/prometheus/prometheus.yml

完成配置后重启服务:

pkill prometheus #结束当前普罗米修斯进程
ss -anptl | grep 9090 #确认端口没有进程占用
/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
ss -anptl | grep 9090

在web界面查看是否有新增监控主机:

5、监控远程MySQL:

(1) 在被管理机agent上安装mysqld_exporter组件:

mysqld_exporter提供了一组用于采集MySQL性能指标的接口,通过将mysqld_exporter与Prometheus结合使用,可以监控MySQL数据库的性能。

tar xf mysqld_exporter-0.11.0.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/mysqld_exporter-0.11.0.linux-amd64/ /usr/local/mysqld_exporter

(2) 在agent上安装mariadb并授权:

安装:

yum install mariadb\* -y #安装mariadb客户端和服务器端
systemctl start mariadb
systemctl enable mariadb

创建授权用户:

创建一个名为mysql_monitor的用户,允许该用户从本地主机连接到MySQL服务器,同时设置了用户的密码为123。

mysql

grant select,replication client,process ON *.* to 'mysql_monitor'@'localhost' identified by '123';
flush privileges;
quit;

(3) 创建mysql_exporter配置文件:

创建一个mysql_exporter配置文件,写上连接数据库的用户名与密码:

vim /usr/local/mysqld_exporter/.my.cnf

[client]
user=mysql_monitor
password=123

启动mysql_exporter:

nohup /usr/local/mysqld_exporter/mysqld_exporter --config.mycnf=/usr/local/mysqld_exporter/.my.cnf &

(4) 在prometheus服务器的添加被监控的数据库:

prometheus服务器 → mysql_exporter → mariadb

vim /usr/local/prometheus/prometheus.yml

配置完后重新启动prometheus服务。

(5) 在web界面查看mariadb监控项:

三、Grafana可视化图形工具

1、什么是Grafana:

Grafana是一个开源的度量分析和可视化工具,它允许用户查询、可视化、告警和探索来自多种数据源(如 Prometheus、InfluxDB、MySQL、Elasticsearch、OpenTSDB 等)的实时和历史数据,进行可视化的展示,并且能实现报警。

2、使用Grafana连接Prometheus:

(1) 在grafana服务器上安装grafana:

yum install -y grafana-5.3.4-1.x86_64.rpm
systemctl start grafana-server
systemctl enable grafana-server

(2) 浏览器访问http://grafana服务器IP:3000:

默认用户名和密码都是 admin

使用默认密码登录进去后需要修改密码:

3、Grafana关联Prometheus数据:

(1) Grafana添加Prometheus数据源:

把prometheus服务器收集的数据做为一个数据源添加到grafana,让grafana可以得到prometheus的数据。

设置普罗米修斯数据源,设置完毕后点击save:

(2) 查看添加的数据源:

点击此处即可查看到已添加的数据源。

(3) 为添加好的数据提供图形显示:

进入dashboard:

增加图形,选择需要呈现图形的数据 (Edit):

(4) 匹配特定监控项:

默认情况下该图像会收集普罗米修斯服务器所有的监控数据,也可以通过设置条件匹配特定的监控项

4、Grafana显示MySQL监控数据:

(1) 下载安装mysql监控的dashboard

MySQL 监控 Dashboard 的 JSON 文件通常可以从 Grafana 的官方 Dashboard 库获取。这些 JSON 文件包含了 Dashboard 的布局、查询、面板配置等信息。

MySQL Overview | Grafana Labs

(2) 在grafana图形界面导入相关json文件:

在import界面导入下载的JSON文件,选择数据源为Metrics,还需要将之前所设置的数据源由prometheus_data改为Metrics。(3) 查看监控信息:

进入Dashboard,点击New dashboard,可看到导入的MySQL监控模版。

四、Grafana+onealert报警

1、onealert报警平台:

OneAlert报警平台是一个集告警接入、告警收敛、告警通知、告警处理、告警分析为一体的统一管理平台。

https://caweb.aiops.com

在集成的监控工具中可以选择grafana进行监控操作。

2、Grafana配置:

(1) 在Grafana中配置Webhook URL:

在Grafana中创建Notification channel (报警通道),选择类型为Webhook。

Webhook是一个接收HTTP POST(或GET, PUT, DELETE)的URL,当事件发生时,Webhook的API提供商会向这个配置好的URL发送一条信息。

URL格式:http://api.aiops.com/alert/api/event/grafana/v1/<AppKey>/

可以先点击Send Test查看邮箱是否收到告警信息,再点击Save。

(2) 将配置的Webhook Notification channel添加到Grafana alert中:

设置报警信息和报警通道,设置完毕后点击保存。

当Grafana满足了预警规则的条件时,就会触发预警。

Grafana会向配置的Webhook发送POST请求,这个POST请求包含了预警的详细信息,如触发条件、时间戳、相关数据等。

接收预警数据的应用程序(onealert)会根据需要解析数据、处理数据,并根据配置发送相应的通知,如电子邮件等。

  • 27
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值