Prometheus安装部署

文章目录

  • 1.Prometheus(普罗米修斯)安装部署
    • 1.1部署环境准备
    • 1.2部署prometheus
    • 1.3主机数据展示
  • 2.Grafana安装部署
    • 2.1部署Grafana
    • 2.2配置Grafana数据源
    • 2.2配置Grafana仪表板
  • 3.AlertManager安装部署
    • 3.1部署alertmanager
    • 3.2告警邮件发送配置
    • 3.3测试邮件告警效果
    • 3.4自定义邮件告警模板
    • 3.5钉钉接收告警配置
    • 3.6测试钉钉接收告警效果
  • 4.Redis服务监控
    • 4.1部署redis_exporter
    • 4.2 prometheus添加监控目标
    • 4.3添加Redis Grafana模板
  • 5.Rabbitmq服务监控
    • 5.1部署rabbitmq_exporter
    • 5.2 prometheus添加监控目标
    • 5.3添加Rabbitmq Grafana模板
  • 6.mysql服务监控
    • 6.1部署mysqld_exporter
    • 6.2 prometheus添加监控目标
    • 6.3添加mysql Grafana模板
  • 7.Linux主机监控
    • 7.1部署node_exporter
    • 7.2 prometheus添加监控目标
    • 7.3添加Linux Grafana模板

1.Prometheus(普罗米修斯)安装部署

Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上, Prometheus性能足够支撑上万台规模的集群。
官网:https://prometheus.io/

1.1部署环境准备

部署环境信息:
操作系统版本:Cetnos7.9

IP地址主机名身份
192.168.0.123prometheusprometheus服务器
192.168.0.124grafanagrafana服务器
192.168.0.125client被监控客户端

关闭防火墙:
3台主机都执行以下命令:
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 开机禁止防火墙启动
在这里插入图片描述
关闭selinux:
3台主机都执行命令:setenforce 0
在这里插入图片描述
然后将/etc/selinux/config里的参数SELINUX=enforcing修改为SELINUX=disabled,永久关闭selinux
在这里插入图片描述
修改主机名:
3台主机各自修改成对应主机名:hostnamectl set-hostname hostname

1.2部署prometheus

下载安装包:
地址:https://prometheus.io/download/
在这里插入图片描述
上传安装包:
将prometheus-2.40.1.linux-amd64.tar.gz安装包上传至192.168.0.123服务器
在这里插入图片描述
解压并启动prometheus:

以下命令按顺序执行,解压安装包 -> 修改文件夹名字 -> 启动prometheus

tar xf prometheus-2.40.1.linux-amd64.tar.gz -C /usr/local/  mv /usr/local/prometheus-2.40.1.linux-amd64/ /usr/local/prometheus/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &

在这里插入图片描述

检查prometheus监听是否正常,默认端口9090

netstat -an |grep 9090

在这里插入图片描述

1.3主机数据展示

通过http://192.168.0.123:9090/访问prometheus
在这里插入图片描述

默认可以查看到已监控本机
菜单Status -> Targets
在这里插入图片描述
在这里插入图片描述

通过浏览器访问http://192.168.0.123:9090/metrics可以查看监控数据
在这里插入图片描述

在WEB界面首页可以通过关键字搜索查询监控项
在这里插入图片描述

2.Grafana安装部署

Grafana是一个开源的度量分析和可视化工具,可以通过将采集的数据分析,查询,然后进行可视化的展示,并能实现报警

官网:https://grafana.com/

2.1部署Grafana

下载安装包:
地址:
https://dl.grafana.com/enterprise/release/grafana-enterprise-9.2.4-1.x86_64.rpm

上传安装包:
将grafana-enterprise-9.2.4-1.x86_64.rpm安装包上传至192.168.0.124服务器
在这里插入图片描述

安装grafana:
进入安装包所在目录,执行命令rpm -ivh grafana-enterprise-9.2.4-1.x86_64.rpm完成grafana安装
在这里插入图片描述
注意!安装过程有可能会提示缺少依赖包,如果报错则需要先配置yum源将相关依赖包安装上再继续安装grafana-enterprise-9.2.4-1.x86_64.rpm

yum install fontconfig
yum install urw-fonts
rpm -ivh grafana-enterprise-9.2.4-1.x86_64.rpm

在这里插入图片描述

启动grafana:
执行命令:
systemctl start grafana-server 启动grafana服务
systemctl enable grafana-server 开机自动启动grafana
在这里插入图片描述检查grafana监听是否正常,默认端口3000

netstat -an |grep 3000

在这里插入图片描述

2.2配置Grafana数据源

通过浏览器访问 http://192.168.0.124:3000/就到了登录界面,使用默认的admin用户,admin密码登陆。登录后需要修改默认密码
在这里插入图片描述

登录后把prometheus服务器收集的数据作为一个数据源添加到grafana,让grafana可以得到prometheus的数据

(1)从左侧导航栏找到Data sources菜单
在这里插入图片描述
(2)进入菜单后点击增加数据源,数据源选择prometheus
在这里插入图片描述
在这里插入图片描述

(3)进入prometheus配置后有两个必填的配置,分别是数据源名称和prometheus的访问地址,prometheus的ip和端口。配置完成后在页面最下方点击Save & test保存
在这里插入图片描述在这里插入图片描述

2.2配置Grafana仪表板

配置完数据源后,grafana接收到prometheus的数据需要使用仪表板展示,仪表板可自定义或导入模板,grafana官网也有非常多类型的模板供下载

(1)从左侧导航栏找到新建仪表板,选择添加一个面板
在这里插入图片描述
在这里插入图片描述

(2)进入新建面板后选择prometheus数据源,需要展示的数据项在Metric里选择,配置完成后可在面板看到数据展示
在这里插入图片描述

(3)导入模板方式,从左侧导航栏找到导入,导入模板可本地上传或者直接从官网下载导入(输入模板的ID或完整的链接,但需要有互联网),以下就是模板的完整链接,标红的为模板ID。

https://grafana.com/grafana/dashboards/7362-mysql-overview/?tab=revisions
在这里插入图片描述在这里插入图片描述

使用两种方式的其中一种导入模板后就会出现以下界面,这里演示模板名称和文件夹都为默认,数据源就选择2.2章节配置的prometheus,然后导入

在这里插入图片描述

从左侧导航栏找到Browse,进入后即可找到刚刚导入的模板
在这里插入图片描述

点击该模板可以查看仪表板效果,因为本章节仅演示模板导入,没有配置对应数据源,所以仪表板有没有数据展示
在这里插入图片描述

仪表板模板可以在以下地址下载
https://grafana.com/grafana/dashboards/

3.AlertManager安装部署

3.1部署alertmanager

Alertmanager是一个独立的告警模块,接收Prometheus等客户端发来的警报,之后通过分组、删除重复等处理,并将它们通过路由发送给正确的接收器;告警方式可以按照不同的规则发送给不同的模块负责人,Alertmanager支持Email, Slack,等告警方式, 也可以通过webhook接入钉钉等国内IM工具。

下载安装包:
地址:https://prometheus.io/download/#alertmanager

按操作系统类型选择需要的安装包
在这里插入图片描述
上传安装包:
将alertmanager-0.24.0.linux-amd64.tar.gz安装包上传至192.168.0.123服务器
在这里插入图片描述
安装alertmanager:
进入安装包所在目录,执行以下命令完成alertmanager部署

tar zxf alertmanager-0.24.0.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/alertmanager-0.24.0.linux-amd64/ /usr/local/alertmanager

在这里插入图片描述

3.2告警邮件发送配置

编辑alertamanger配置文件:

vim /usr/local/alertmanager/alertmanager.yml
global:smtp_smarthost: 'smtp.xxx.com:25'   #告警邮件发送者SMTP地址smtp_from: 'xxx@163.com'   #发件者邮箱smtp_auth_username: 'xxx@163.com'  #邮箱账号smtp_auth_password: 'password'   #邮箱专用授权码,不是邮箱登陆密码smtp_require_tls: false   #关闭tls授权
route:             #定义告警路由规则,可以定义多个receiver和group实现告警分组group_by: ['rabbitmq_alerts']   #根据告警规则组名进行分组group_wait: 30s   #分组内第一个告警等待时间,30s内如有第二个告警会合并成一个group_interval: 5m   #发送新告警的间隔时间repeat_interval: 10m   #重复告警间隔发送时间receiver: 163   #默认接收者routes:   #子路由,不满足子路由的都走默认路由- match:   #普通匹配severity: critical   #告警等级receiver: brilliance   #匹配critical告警的接收者- match_re:   #正则匹配severity: ^(warning|critical)$  #告警等级receiver: qq   #匹配warning或critical告警的接收者
receivers:     #定义三个接受者,和上面三个路由对应
- name: 'outlook'    #和上面route部分中的receiver一致email_configs:     #接收器为email,除此还有其他接收器可以使用- to: 'xxx@outlook.com.cn'    #告警邮件发送对象send_resolved: true   #接收告警恢复邮件
- name: '163'email_configs:- to: 'xxx@163.com'
- name: 'qq'email_configs:- to: 'xxx@qq.com'

修改完成后使用amtool检查alertmanager.yml是否存在语法错误,显示SUCCESS表示无误

/usr/local/alertmanager/amtool check-config /usr/local/alertmanager/alertmanager.yml

在这里插入图片描述

启动alertmanager服务
执行命令启动alertmanager

/usr/local/alertmanager/alertmanager --config.file /usr/local/alertmanager/alertmanager.yml & 

在这里插入图片描述

检查alertmanager监听是否正常,默认端口9093

netstat -anp |grep 9093

在这里插入图片描述

编辑prometheus配置文件:

增加和修改prometheus.yml的alertmanager部分,让alertmanger能与Prometheus通信,其它原有配置不动

vim /usr/local/prometheus/prometheus.yml
alerting:alertmanagers:- static_configs:- targets:- 192.168.0.123:9093  #修改成alertmanager服务器的ip和端口
rule_files:   #指定告警规则的配置路径
- "rules/*.yml"
scrape_configs:   #接收alertmanager的数据- job_name: 'alertmanager' static_configs: - targets: ['192.168.0.123:9093']

编辑具体告警规则配置文件:

在/usr/local/prometheus/路径建立rules文件夹

mkdir -p /usr/local/prometheus/rules

新建具体告警规则配置文件,这里以rabbitmq策略作为例子

vim /usr/local/prometheus/rules/rabbitmq_alert.yml
groups:
- name: rabbitmq_alerts  #告警分组,一个组下的告警会整合在一个邮件中rules:- alert: Rabbitmq服务状态监测   #定义告警事件名
expr: rabbitmq_up{job='rabbitmq'} != 1   #告警触发的条件
for:1m   #事件持续时长,0的话代表一满足就触发labels:severity: critical   #定义了一个标签用于告警分组annotations:   #邮件中的显示内容,可以引用变量summary: "Instance {{ $labels.instance }} critical alert"   #summary概要信息description: "Instance: {{ $labels.instance }} is Down! 请尽快处理告警"   #description详细信息

配置完成后重启prometheus

ps -ef |grep prometheus |grep -v grep |awk '{print $2}' |xargs kill -9 #杀死进程/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml & #启动服务

3.3测试邮件告警效果

在3.2章节当中配置了一条告警策略为rabbitmq服务没启动即触发告警,下面就关闭rabbitmq服务后检查是否能够收到告警邮件

关停192.168.0.125的rabbitmq服务

systemctl stop rabbitmq-server

在这里插入图片描述

在Grafana可以看到rabbitmq服务状态已经为down
在这里插入图片描述

打开邮件看到已成功接收到告警邮件,红框部分就是告警规则中的自定义内容
在这里插入图片描述

启动192.168.0.125的rabbitmq服务

systemctl start rabbitmq-server

在这里插入图片描述

当服务恢复后可以接收到告警恢复的邮件
在这里插入图片描述

3.4自定义邮件告警模板

配置邮件模板:

首先在Alertmanager主目录下创建一个templates文件夹,用户存放模板文件,然后创建一个email.tmpl文件,写入以下内容

mkdir -p /usr/local/alertmanager/templates
vim /usr/local/alertmanager/templates/email.tmpl
{{ define "email.html" }}
{{- if gt (len .Alerts.Firing) 0 -}}
{{- range $index, $alert := .Alerts -}}
======== 异常告警 ======== <br>
告警名称:{{ $alert.Labels.alertname }} <br>
告警级别:{{ $alert.Labels.severity }}<br>
告警机器:{{ $alert.Labels.instance }} {{ $alert.Labels.device }} <br>
告警主题:{{ $alert.Annotations.summary }} <br>
告警详情:{{ $alert.Annotations.description }} <br>
告警时间:{{ ($alert.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }} <br>
========== END ==========
{{- end }}
{{- end }}
{{- if gt (len .Alerts.Resolved) 0 -}}
{{- range $index, $alert := .Alerts -}}
======== 告警恢复 ======== <br>
告警名称:{{ $alert.Labels.alertname }} <br>
告警级别:{{ $alert.Labels.severity }}<br>
告警机器:{{ $alert.Labels.instance }} {{ $alert.Labels.device }} <br>
告警主题:{{ $alert.Annotations.summary }} <br>
告警详情:{{ $alert.Annotations.description }} <br>
告警时间:{{ ($alert.StartsAt.Add 28800e9).Format "2006-01-02 15:04:05" }} <br>
恢复时间:{{ ($alert.EndsAt.Add 28800e9).Format "2006-01-02 15:04:05" }} <br>
========== END ==========
{{- end }}
{{- end }}
{{- end }}

在alertmanager.yml中添加模板扫描,及邮件使用模板

vim /usr/local/alertmanager/alertmanager.yml
templates:     #配置自定义模板位置- 'templates/*.tmpl'
receivers:
- name: 'brilliance'email_configs:- to: 'xxx@brilliance.com.cn'html: '{{ template "email.html" . }}'    #为接收者指定邮件使用模板
send_resolved: true

测试模板告警效果:
关停192.168.0.125的rabbitmq服务,测试告警内容显示效果

systemctl stop rabbitmq-server

在这里插入图片描述

启动192.168.0.125的rabbitmq服务,测试告警恢复内容显示效果

systemctl start rabbitmq-server

在这里插入图片描述

3.5钉钉接收告警配置

创建钉钉机器人:

【电脑端钉钉 】-【群聊】-【群设置】-【智能群助手】-【添加更多】-【添加机器人】-【自定义】-【添加】,编辑机器人名称和选择添加的群组,勾选加签,将生成的秘钥复制出来。

在这里插入图片描述

生成一个Webhook,将地址复制出来
在这里插入图片描述

部署prometheus-webhook-dingtalk:
alertmanager的webhook集成了钉钉报警,所以他是本来就有的。但是钉钉对格式要求很严格,一会还需要使用插件进行格式转换。prometheus-webhook-dingtalk是Prometheus AlertManager WebHooks生成钉钉通知工具。

下载安装包:
地址:https://github.com/timonwong/prometheus-webhook-dingtalk/releases/

按操作系统类型选择需要的安装包
在这里插入图片描述

上传安装包:
将prometheus-webhook-dingtalk-2.1.0.linux-amd64.tar安装包上传至192.168.0.123服务器

安装prometheus-webhook-dingtalk:

进入安装包所在目录,执行以下命令完成prometheus-webhook-dingtalk部署

tar zxvf prometheus-webhook-dingtalk-2.1.0.linux-amd64.tar.gz -C /usr/local/mv /usr/local/prometheus-webhook-dingtalk-2.1.0.linux-amd64/ /usr/local/prometheus-webhook-dingtalk

在这里插入图片描述

修改prometheus-webhook-dingtalk配置:

新建/usr/local/prometheus-webhook-dingtalk/config.yml,添加以下配置

vim /usr/local/prometheus-webhook-dingtalk/config.yml
targets:ding_webhook:# 钉钉webhook地址url: https://oapi.dingtalk.com/robot/send?access_token=a8axxxxxxxxxxx# 创建机器人时获取到的加签秘钥secret: SEC8bd85xxxxxxxxxxxxx

在这里插入图片描述

编辑alertmanager.yml配置文件,添加路由和接受者配置,注意url填写钉钉插件提供的webhook地址,而不是钉钉直接提供的那个webhook。

vim /usr/local/alertmanager/alertmanager.yml
route:#设置默认接收人receiver: 'webhook'#组告警等待时间。也就是告警产生后等待10s,如果有同组告警一起发出group_wait: 10s#两组告警的间隔时间group_interval: 10s#重复告警的间隔时间,减少相同微信告警的发送频率repeat_interval: 30s#采用哪个标签来作为分组依据group_by: [alertname]routes:- receiver: webhook#配置告警消息接受者信息,例如常用的 email、wechat、slack、webhook 等消息通知方式
receivers:
- name: 'webhook'webhook_configs:#钉钉插件提供的webhook地址- url: http://192.168.0.123:8060/dingtalk/ding_webhook/send#警报被解决之后是否通知send_resolved: true

启动prometheus-webhook-dingtalk服务:

/usr/local/prometheus-webhook-dingtalk/prometheus-webhook-dingtalk --config.file=/usr/local/prometheus-webhook-dingtalk/config.yml &

在这里插入图片描述

检查prometheus-webhook-dingtalk监听是否正常,默认端口8060

netstat -anp |grep 8060

在这里插入图片描述

3.6测试钉钉接收告警效果

同样使用3.2章节当中配置的rabbitmq告警策略触发告警,下面就关闭rabbitmq服务后检查钉钉是否能够收到告警信息

关停192.168.0.125的rabbitmq服务

systemctl stop rabbitmq-server

在这里插入图片描述

在钉钉成功接收到告警信息
在这里插入图片描述

启动192.168.0.125的rabbitmq服务

systemctl start rabbitmq-server

在这里插入图片描述

服务恢复后钉钉收到告警恢复信息
在这里插入图片描述

4.Redis服务监控

4.1部署redis_exporter

redis_exporter是用于redis指标的Prometheus导出器。用来监控redis服务,并且使用prometheus收集数据,最后再通过grafana展示相关告警数据。redis_exporter部署在哪台服务器上都是可以的,因为之后会在启动redis_exporter的时候配置所要监控的redis的连接地址。这里直接将redis_exporter部署在安装了Redis Server的服务器(192.168.0.125)上。

下载安装包:
地址:https://github.com/oliver006/redis_exporter/releases/

按操作系统类型选择需要的安装包
在这里插入图片描述

上传安装包:
将redis_exporter-v1.45.0.linux-amd64.tar.gz安装包上传至192.168.0.125服务器
在这里插入图片描述

安装redis_exporter:

进入安装包所在目录,执行以下命令完成redis_exporter部署

tar -zxf redis_exporter-v1.45.0.linux-amd64.tar.gz 解压安装包

mv redis_exporter-v1.45.0.linux-amd64 /usr/local/redis_exporter 改名和变更路径
在这里插入图片描述
启动redis_exporter:

可以通过./redis_exporter --help命令查看各个参数的含义,比较常用的参数如下 :

-redis.addr string:Redis实例的地址,可以使一个或者多个,多个节点使用逗号分隔,默认为 “redis://localhost:6379”

-redis.password string:Redis实例的密码

-web.listen-address string:服务监听的地址,默认为 0.0.0.0:9121

执行以下命令启动redis_exporter服务

/usr/local/redis_exporter/redis_exporter -redis.addr 192.168.0.125:6379 -redis.password password &

在这里插入图片描述

检查grafana监听是否正常,默认端口9121

netstat -anp |grep 9121

在这里插入图片描述

4.2 prometheus添加监控目标

需要把redis_exporter监控添加到prometheus服务器(192.168.0.123)中

vim /usr/local/prometheus/prometheus.yml 编辑prometheus配置文件并添加以下配置

- job_name: 'redis'static_configs:- targets: ['192.168.0.125:9121']  #redis_exporter的ip+端口

修改配置后重启prometheus

ps -ef |grep prometheus |grep -v grep |awk '{print $2}' |xargs kill -9 杀死进程

/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml & 启动服务

重启后可以看到prometheus已与redis_exporter建立了连接

netstat -anp |grep 9121

在这里插入图片描述
在prometheus页面可以看到新添加的redis监控目标

在这里插入图片描述

4.3添加Redis Grafana模板

在Grafana的官方网站上可以找到比较好用的Redis的仪表板模板,直接用模板地址导入即可。
(1)导入redis仪表板模板,这里使用本地上传方式
在这里插入图片描述在这里插入图片描述

模板名称和文件夹都为默认,数据源就选择prometheus,然后导入
在这里插入图片描述

(2)导入模板后就可以看到仪表板的效果,采集到的redis数据也能正常展示

在这里插入图片描述

5.Rabbitmq服务监控

5.1部署rabbitmq_exporter

Rebbitmq_Exporter是RabbitMQ指标的Prometheus导出器。数据由prometheus抓取。

下载安装包:
地址:https://github.com/kbudde/rabbitmq_exporter/releases

按操作系统类型选择需要的安装包
在这里插入图片描述

上传安装包:
将redis_exporter-v1.45.0.linux-amd64.tar.gz安装包上传至192.168.0.125服务器
在这里插入图片描述

安装rabbitmq_exporter:

进入安装包所在目录,执行以下命令完成rabbitmq_exporter部署

tar zxf rabbitmq_exporter_1.0.0-RC19_linux_amd64.tar.gz -C /usr/local

在这里插入图片描述
启动rabbitmq_exporter:

执行以下命令启动rabbitmq_exporter服务

cd /usr/localRABBIT_USER=root RABBIT_PASSWORD=123456 OUTPUT_FORMAT=JSON PUBLISH_PORT=9099 RABBIT_URL=http://192.168.0.125:15672 nohup ./rabbitmq_exporter &

服务启动常用参数如下:

RABBIT_USER=username #用户名

RABBIT_PASSWORD=password #密码

OUTPUT_FORMAT=JSON PUBLISH_PORT=9099 #rabbitmq_exporter服务端口

RABBIT_URL=http://192.168.0.125:15672 #rabbitmq的UI地址

5.2 prometheus添加监控目标

需要把rabbitmq_exporter监控添加到prometheus服务器(192.168.0.123)中

vim /usr/local/prometheus/prometheus.yml 编辑prometheus配置文件并添加以下配置

  - job_name: 'rabbitmq'static_configs:- targets: ['192.168.0.125:9099']  #rabbitmq_exporter的ip+端口

修改配置后重启prometheus

ps -ef |grep prometheus |grep -v grep |awk '{print $2}' |xargs kill -9 杀死进程

/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml & 启动服务

重启后可以看到prometheus已与redis_exporter建立了连接

netstat -anp |grep 9099

在这里插入图片描述

在prometheus页面可以看到新添加的rabbitmq监控目标
在这里插入图片描述

5.3添加Rabbitmq Grafana模板

在Grafana的官方网站上可以找到比较好用的Rabbit mq的仪表板模板,直接用模板地址导入即可。

(1)导入rabbitmq仪表板模板,这里使用本地上传方式
在这里插入图片描述在这里插入图片描述

模板名称和文件夹都为默认,数据源就选择prometheus,然后导入
在这里插入图片描述

(2)导入模板后就可以看到仪表板的效果,采集到的rabbitmq数据也能正常展示
在这里插入图片描述在这里插入图片描述

6.mysql服务监控

6.1部署mysqld_exporter

主要监控Mysql数据库的稳定性、吞吐量、连接情况、缓冲池使用情况、查询性能等各项指标,是我们压测时常常需要监控的一些指标。

下载安装包:

地址:https://prometheus.io/download/#mysqld_exporter

按操作系统类型选择需要的安装包
在这里插入图片描述

上传安装包:
将mysqld_exporter-0.14.0.linux-amd64.tar.gz安装包上传至192.168.0.125服务器

在这里插入图片描述

安装mysqld_exporter:
进入安装包所在目录,执行以下命令完成redis_exporter部署

tar zxvf mysqld_exporter-0.14.0.linux-amd64.tar.gz -C /usr/local/ 解压安装包

mv /usr/local/mysqld_exporter-0.14.0.linux-amd64/ /usr/local/mysqld_exporter 改名和变更路径

在这里插入图片描述
创建一个mysql配置文件,写上连接的用户名与密码(和上面的授权的用户名和密码要对应)

vim /usr/local/mysqld_exporter/.my.cnf
[client]
user=mysql_monitor
password=123456

在这里插入图片描述

启动mysqld_exporter:

执行以下命令启动mysqld_exporter服务

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

在这里插入图片描述

检查grafana监听是否正常,默认端口9104

netstat -anp |grep 9104

在这里插入图片描述

6.2 prometheus添加监控目标

需要把mysqld_exporter监控添加到prometheus服务器(192.168.0.123)中

vim /usr/local/prometheus/prometheus.yml 编辑prometheus配置文件并添加以下配置

 - job_name: 'mysql'static_configs:- targets: ['192.168.0.125:9104']  #mysqld_exporter的ip+端口

修改配置后重启prometheus

#ps -ef |grep prometheus |grep -v grep |awk '{print $2}' |xargs kill -9 杀死进程

#/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml & 启动服务

重启后可以看到prometheus已与mysqld_exporter建立了连接

netstat -anp |grep 9104

在这里插入图片描述

在prometheus页面可以看到新添加的mysql监控目标
在这里插入图片描述

6.3添加mysql Grafana模板

在Grafana的官方网站上可以找到比较好用的mysql的仪表板模板,直接用模板地址导入即可。

(1)导入mysql仪表板模板,这里使用本地上传方式
在这里插入图片描述
在这里插入图片描述
模板名称和文件夹都为默认,数据源就选择prometheus,然后导入
在这里插入图片描述

(2)导入模板后就可以看到仪表板的效果,采集到的mysql数据也能正常展示
在这里插入图片描述

7.Linux主机监控

7.1部署node_exporter

下载安装包:

地址:https://prometheus.io/download/#node_exporter

上传安装包:
将node_exporter-1.4.0.linux-amd64.tar.gz安装包上传至192.168.0.125服务器
在这里插入图片描述

安装node_exporter:

进入安装包所在目录,执行以下命令完成node_exporter部署

tar -zxf tar zxvf node_exporter-1.4.0.linux-amd64.tar.gz 解压安装

mv /usr/local/node_exporter-1.4.0.linux-amd64/ /usr/local/node_exporter 改名和变更路径
在这里插入图片描述

启动node_exporter:

/usr/local/node_exporter/node_exporter &

在这里插入图片描述

检查node_exporter监听是否正常,默认端口9100

netstat -anp |grep 9100

在这里插入图片描述

7.2 prometheus添加监控目标

需要把node_exporter监控添加到prometheus服务器(192.168.0.123)中

vim /usr/local/prometheus/prometheus.yml 编辑prometheus配置文件并添加以下配置

  - job_name: 'linux'static_configs:- targets: ['192.168.0.125:9100']  #node_exporter的ip+端口

修改配置后重启prometheus

ps -ef |grep prometheus |grep -v grep |awk '{print $2}' |xargs kill -9 杀死进程

/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml & 启动服务

重启后可以看到prometheus已与node_exporter建立了连接

netstat -anp |grep 9100

在这里插入图片描述

7.3添加Linux Grafana模板

在Grafana的官方网站上可以找到比较好用的linux的仪表板模板,直接用模板地址导入即可。

(1)导入rabbitmq仪表板模板,这里使用本地上传方式
在这里插入图片描述在这里插入图片描述模板名称和文件夹都为默认,数据源就选择prometheus,然后导入
在这里插入图片描述

(2)导入模板后就可以看到仪表板的效果,采集到的linux数据也能正常展示
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/387530.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

昇思25天学习打卡营第9天|RNN实现情感分类

第十天的不小心把第九天的覆盖了。现在重新补上。 情感分类是自然语言处理中的经典任务&#xff0c;是典型的分类问题。输入一句话&#xff0c;然后去语义理解这句话是褒义贬义还是中性的。不同的情感语境下理解的大基调是不同的。 RRN情感分类也是一个分类模型&#xff0c;是…

多态、接口、类练习题

代码&#xff1a; public static void main(String[] args) {Person2 personnew Person2("唐僧",new Horse());person.passRiver();person.onRoad();} 接口&#xff1a; interface Vehicles{public void work(); } lass Horse implements Vehicles{Overridepubli…

外星人入侵_计分

外星人入侵_计分 1添加Play按钮1.1创建Button类1.2在屏幕上绘制按钮1.3开始游戏1.4 重置游戏1.5 将Play按钮切换到非活动状态1.6隐藏光标 2提高等级2.1修改速度设置2.2重置速度 3计分3.1显示得分3.2创建记分牌3.3在外星人被消灭时更新得分3.4将消灭的每个外星人的点数都计入得分…

TortoiseSVN迁移到本地git

TortoiseSVN迁移到本地git 文章目录 TortoiseSVN迁移到本地git0 背景1 环境准备2 SVN库迁移到VisualSVN2.1 导出dump2.2 将dump文件灌入VisualSVN2.3 获取SVN仓最新URL 3 迁移到Git库中4 迁移分支到Git库 0 背景 之前在前东家工作都是采用git进行项目管理&#xff0c;高效便捷…

Redis实战篇(黑马点评)笔记总结

一、配置前后端项目的初始环境 前端&#xff1a; 对前端项目在cmd中进行start nginx.exe&#xff0c;端口号为8080 后端&#xff1a; 配置mysql数据库的url 和 redis 的url 和 导入数据库数据 二、登录校验 基于Session的实现登录&#xff08;不推荐&#xff09; &#xf…

Ruby、Python、Java 开发者必备:Codigger之软件项目体检

在编程的广阔天地里&#xff0c;Ruby、Python 和 Java 开发者们各自凭借着独特的语言特性&#xff0c;构建着精彩纷呈的应用世界。然而&#xff0c;无论使用哪种语言&#xff0c;确保项目的高质量始终是至关重要的目标。而 Codigger 项目体检则成为了实现这一目标的得力助手&am…

React——配置环境、ES6语法补充、Components

文章目录 架构设计前置知识DOM树 配置环境安装 create-react-app安装两个插件创建安装 nodejs仍然无法创建 下次需要创建新项目就使用这三行命令安装 bootstrap使用 bootstrap 包画图追求写 jsx短路原则绑定函数快捷键修改变量名箭头函数简写删除无用的文件写组件调用组件使用 …

人工智能与机器学习原理精解【11】

文章目录 广义线性模型基础理论泊松分布的基本公式一、基本公式二、泊松分布的特点三、泊松分布的应用场景四、泊松分布与二项分布的关系五、总结 泊松回归例子1例子背景模型设定数据收集模型拟合结果解释预测应用场景 泊松回归例子2背景数据准备模型设定模型拟合结果解释预测 …

Prometheus-部署

Prometheus-部署 Server端安装配置部署Node Exporters监控系统指标监控MySQL数据库监控nginx安装grafana Server端安装配置 1、上传安装包&#xff0c;并解压 cd /opt/ tar xf prometheus-2.30.3.linux-amd64.tar.gz mv prometheus-2.30.3.linux-amd64 /usr/local/prometheus…

TypeScript 简介及安装

文档 typeScript官网中文文档&#xff1a;https://www.tslang.cn/index.html中文文档(简洁点)&#xff1a;https://typescript.bootcss.comMDN 概述 TypeScript 是以JavaScript为基础构建的语言。 TypeScript 是一个为 JavaScript 添加静态类型检查的编程语言。 TypeScrip…

自动化测试与手动测试的区别!

自动化测试与手动测试之间存在显著的区别&#xff0c;这些区别主要体现在以下几个方面&#xff1a; 测试目的&#xff1a; 自动化测试的目的在于“验证”系统没有bug&#xff0c;特别是在系统处于稳定状态时&#xff0c;用于执行重复性的测试任务。 手工测试的目的则在于通过…

git配置环境变量

一.找到git安装目录 打开此git安装目录下的bin文件&#xff0c;复制此文件路径 二.配置环境变量 2.1 右键点击此电脑的属性栏 2.2 点击高级系统配置 2.3 点击环境变量 2.4 按图中步骤进行配置 三.配置完成 win r 输入cmd打开终端 终端页面中输入 git --version 如图所示…

如何将WordPress文章中的外链图片批量导入到本地

在使用采集软件进行内容创作时&#xff0c;很多文章中的图片都是远程链接&#xff0c;这不仅会导致前端加载速度慢&#xff0c;还会在微信小程序和抖音小程序中添加各种域名&#xff0c;造成管理上的麻烦。特别是遇到没有备案的外链&#xff0c;更是让人头疼。因此&#xff0c;…

kafka高性能的底层原理分析

目录 1.磁盘顺序写 2.零拷贝 3.数据压缩 4.消息批量处理 5.pageCache 6.稀疏索引 总结 Kafka是一种高吞吐量的分布式发布订阅消息系统&#xff0c;它可以处理消费者在网站中的所有动作流数据。那么他是如何做到高性能的呢&#xff0c;本篇文章从宏观上分析一下&#xff…

alibabacloud学习笔记12

Docker介绍和使用场景 讲解阿里云ECS服务安装Docker实战 遇到这个报错可以执行&#xff1a; 执行这个docker info出这个就证明docker关闭成功。 快速掌握Dokcer基础知识 掌握Docker容器常见命令 查看本地已有镜像&#xff1a; 拉取镜像&#xff1a; 可以查到刚才拉取的镜像。 …

028-GeoGebra中级篇-脚本的初步的探索

GeoGebra 的脚本功能允许用户通过不同的触发机制&#xff08;如点击、更新、输入框变化、拖动结束&#xff09;和全局 JavaScript 自定义图形和交互行为&#xff0c;实现动态数学模型和用户交互&#xff0c;同时 ggbOnInit() 函数可在应用初始化时设置默认状态&#xff0c;提供…

构建基于数据驱动的应用程序与Llamaindex——理解大型语言模型

如果你在阅读这本书&#xff0c;你可能已经探索过大型语言模型&#xff08;LLMs&#xff09;的领域&#xff0c;并且已经认识到它们的潜在应用以及它们的缺陷。本书旨在解决LLMs所面临的挑战&#xff0c;并提供一本实用指南&#xff0c;教你如何使用LlamaIndex构建数据驱动的LL…

【通俗理解】自由能与自由意志的桥梁——从物理到哲学的跨越

【通俗理解】自由能与自由意志的桥梁——从物理到哲学的跨越 自由能与自由意志的类比 你可以把自由能比作一个“能量货币”&#xff0c;它代表着系统能够用来做功的能量。而自由意志则是一个“选择的能力”&#xff0c;它代表着个体在做出决策时的自主性和可能性。 自由能与自由…

HCIA总结

一、情景再现&#xff1a;ISP网络为学校提供了DNS服务&#xff0c;所以&#xff0c;DNS服务器驻留在ISP网络内&#xff0c;而不再学校网络内。DHCP服务器运行在学校网络的路由器上 小明拿了一台电脑&#xff0c;通过网线&#xff0c;接入到校园网内部。其目的是为了访问谷歌网站…

基于 SASL/SCRAM 让 Kafka 实现动态授权认证

一、说明 在大数据处理和分析中 Apache Kafka 已经成为了一个核心组件。然而在生产环境中部署 Kafka 时&#xff0c;安全性是一个必须要考虑的重要因素。SASL&#xff08;简单认证与安全层&#xff09;和 SCRAM&#xff08;基于密码的认证机制的盐化挑战响应认证机制&#xff…