8.1 使用ansible部署mysql_exporter,注入dsn环境变量

embedded/2024/9/23 6:29:36/

本节重点介绍 :

  • ansible 部署二进制 mysqld_exporter
  • 通过环境变量传入mysql的连接地址,让 mysqld_exporter采集到

部署

项目地址

下载地址

wget -O  /opt/tgzs/mysqld_exporter-0.12.1.linux-amd64.tar.gz https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz

ansible_mysql_exporter_16">使用ansible部署 mysql_exporter


ansible-playbook -i host_file  service_deploy.yaml  -e "tgz=mysqld_exporter-0.12.1.linux-amd64.tar.gz" -e "app=mysqld_exporter"

部署后发现服务未启动 ,报错如下

mysqld_exporter__26">mysqld_exporter需要接收 连接地址参数

  • 通过环境变量注入,
  • mysqld_exporter的service 文件中使用环境变量 DATA_SOURCE_NAME
# 代表localhost
Environment=DATA_SOURCE_NAME=exporter:123123@tcp/

同时为了降低数据暴露风险,创建专门的采集用户 exporter,并授权

mysql -uroot -p123123CREATE USER 'exporter'@'%' IDENTIFIED BY '123123' ;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%';
FLUSH PRIVILEGES;

准备 service文件

cat <<EOF >mysqld_exporter.service
[Unit]
Description=mysqld_exporter Exporter
Wants=network-online.target
After=network-online.target[Service]
Environment=DATA_SOURCE_NAME=exporter:123123@tcp/
ExecStart=/opt/app/mysqld_exporter/mysqld_exporter
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=mysqld_exporter
[Install]
WantedBy=default.target
EOF

重启mysqld_exporter服务

systemctl daemon-reload
systemctl restart mysqld_exporter

修改service文件

  • 准备 service文件
cat <<EOF> blackbox_exporter.service
[Unit]
Description=blackbox_exporter Exporter
Wants=network-online.target
After=network-online.target[Service]
ExecStart=/opt/app/blackbox_exporter/blackbox_exporter --config.file=/opt/app/blackbox_exporter/blackbox.yml
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=blackbox_exporter
[Install]
WantedBy=default.target
EOF

mysqld_exporter_95">重启mysqld_exporter服务

systemctl daemon-reload
systemctl restart mysqld_exporter

检查部署情况


# 查看端口 进程 日志
ss -ntlp |grep 9104
ps -ef |grep mysqld_exporter |grep -v grep 

本节重点总结 :

  • ansible 部署二进制 mysqld_exporter
  • 通过环境变量传入mysql的连接地址,让 mysqld_exporter采集到

http://www.ppmy.cn/embedded/92336.html

相关文章

基于ESP32的掌上网关智能家居控制设备:集成MQTT、后端Node.js、MongoDB、React(代码示例)

一、项目概述 本项目旨在设计并实现一个基于ESP32的掌上网关智能家居控制设备。该设备可以作为智能家居系统的核心控制单元,实现对家庭中各种智能设备的集中管理和控制。用户可以通过手机APP或Web界面远程操控家中的智能灯、空调、窗帘等设备,还可以设置自动化场景和定时任务,…

iOS学习笔记总结版

iOS学习笔记 文章目录 iOS学习笔记Xcode环境配置基础语法.h 声明文件.m 实现文件WKScriptMessageHandler实现js调用原生方法修饰符语法NSString常用操作NSMutableNStringNSDictionaryNSMutableDictionaryNSArrayNSMutableArrayNSUserDefault 全局变量常用方法dispatch_async 功…

2.如何定制 Dcat-admin list 中显示的信息

操作在xxxController.php文件中的 protected function grid() 中进行 定制显示的内容 protected function grid(){return Grid::make(new Robot(), function (Grid $grid) {// ->sortable() 新增一个排序的按钮在列标题中$grid->column(id)->sortable();// 正常字符…

# 基于MongoDB实现商品管理系统(2)

基于MongoDB实现商品管理系统&#xff08;2&#xff09; 基于 mongodb 实现商品管理系统之准备工作 1、案例需求 这里使用的不是前端页面&#xff0c;而是控制台来完成的。 具体的需求如下所示&#xff1a; 运行 查询所有 通过id查询详情 添加 - 通过id删除 2、案例分析 程…

[Git][多人协作][下]详细讲解

目录 1.不同分支下多人协作2.远程分⽀删除后&#xff0c;本地git branch -a依然能看到 1.不同分支下多人协作 ⼀般情况下&#xff0c;如果有多需求需要多⼈同时进⾏开发&#xff0c;是不会在⼀个分⽀上进⾏多⼈开发&#xff0c;⽽是⼀个需求或⼀个功能点就要创建⼀个feature分…

科普文:万字细说微服务及其框架Netflix,Spring Cloud,Spring Cloud Alibaba梳理

概叙 微服务&#xff08;Microservices&#xff09;是一种软件架构风格&#xff0c;它将单一的应用程序拆分为多个小的服务&#xff0c;每个服务都是独立运行和部署的。每个微服务通常只专注于一个业务功能&#xff0c;具有自己的数据存储&#xff0c;并且通过轻量级的通信机制…

线性代数课程介绍

一、课程概述 线性代数课程内容丰富&#xff0c;主要围绕向量、矩阵和线性变换等核心概念展开&#xff0c;旨在培养学生的空间直观和想象能力、抽象思维和逻辑推理能力。线性代数是理工科大学生必修的数学基础课之一&#xff0c;也是硕士研究生入学全国统一考试中必考的数学…

Ubuntu文件操作(文件系统结构、磁盘管理)

一、文件系统结构 1、根目录“/” 根目录&#xff08;Root Directory&#xff09;是计算机文件系统中的顶级目录&#xff0c;位于文件系统的树形结构的最上层。在Linux系统中&#xff0c;根目录的路径是“/”&#xff0c;是整个文件系统的起始点。所有的目录都是由根目录衍生…