• Prometheus 采集SQL Server数据库监控数据


    前言sql_exporter

    • 采集sql server 数据
    • sql_exporter我们可以将这些数据接入到prometheus中,进行监控告警。

    download sql exporter 

    sql_exporter 一键监控安装脚本

    • sed -i "s|data_source_name.*|data_source_name: 'sqlserver://sa:YOU_password@YOU_IP:1433'|g" $SQL_EXPORTER_PREFIX/sql_exporter.yml
      #需要更改sql server主机的IP用户名密码
    • 采集端口是9399
    • 安装位置/opt/sql_exporter
    vim /sql_exporter.sh
    1. #!/bin/bash
    2. # -*- coding: utf-8 -*-
    3. # Author: make.han
    4. # Email: CIASM@CIASM
    5. # Date: 2024/01/12
    6. OPT_CATALOGUE=/opt
    7. SQL_EXPORTER_PREFIX=/opt/sql_exporter
    8. SQL_EXPORTER_URL=https://github.com/free/sql_exporter/releases/download/0.5/sql_exporter-0.5.linux-amd64.tar.gz
    9. SQL_EXPORTER_GZ=sql_exporter-0.5.linux-amd64.tar.gz
    10. SQL_EXPORTER_DIRECTORY=sql_exporter-0.5.linux-amd64
    11. SQL_EXPORTER_NEW=sql_exporter
    12. SQL_EXPORTER_PORT=9399
    13. install_sql_exporter (){
    14. if [ ! -d ${SQL_EXPORTER_PREFIX} ];then
    15. # selinux stop
    16. setenforce 0
    17. sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    18. if [ $? -eq 0 ];then
    19. echo "download sql_exporter"
    20. curl -o $OPT_CATALOGUE/$SQL_EXPORTER_GZ $SQL_EXPORTER_URL
    21. echo "decompression sql_exporter"
    22. tar -xf $OPT_CATALOGUE/$SQL_EXPORTER_GZ -C $OPT_CATALOGUE
    23. mv $OPT_CATALOGUE/$SQL_EXPORTER_DIRECTORY $SQL_EXPORTER_PREFIX
    24. echo "firewall sql_exporter port"
    25. firewall-cmd --zone=public --add-port=$SQL_EXPORTER_PORT/tcp --permanent && firewall-cmd --reload
    26. echo "congfig sql_exporter"
    27. sed -i "s|data_source_name.*|data_source_name: 'sqlserver://sa:YOU_password@YOU_IP:1433'|g" $SQL_EXPORTER_PREFIX/sql_exporter.yml
    28. echo "add sql_exporter.service"
    29. cat >>/usr/lib/systemd/system/sql_exporter.service<
    30. [Unit]
    31. Description=sql_exporter
    32. Documentation=https://github.com/free/sql_exporter
    33. Wants=network-online.target
    34. After=network-online.target
    35. [Service]
    36. User=root
    37. Group=root
    38. Type=simple
    39. ExecStart=$SQL_EXPORTER_PREFIX/sql_exporter --config.file=$SQL_EXPORTER_PREFIX/sql_exporter.yml
    40. Restart=on-failure
    41. [Install]
    42. WantedBy=multi-user.target
    43. EOF
    44. echo "start sql_exporter.service"
    45. systemctl daemon-reload
    46. systemctl enable --now sql_exporter
    47. echo -e "\033[32mThe sql exporter Install Sussess...\033[0m"
    48. else
    49. echo -e "\033[33mThe sql exporter Install Failed...\033[0m"
    50. exit 1
    51. fi
    52. else
    53. echo -e "\033[31mThe sql exporter Install already...\033[0m"
    54. fi
    55. }
    56. main (){
    57. install_sql_exporter
    58. }
    59. main

    执行安装

    sh /sql_exporter.sh

    Prometheus 采集配置

    1. scrape_configs:
    2. - job_name: 'web'
    3. scrape_interval: 5s
    4. static_configs:
    5. - targets:
    6. - localhost:9090
    7. - job_name: 'SQL-monitoring'
    8. scrape_interval: 5s
    9. static_configs:
    10. - targets:
    11. - 192.168.11.252:9399

    Grafana图形展示

    Import>11517>Prometheus

     SQL Servers

    •  influxdb1 方式监控sql server 参考
    • 模板9399
    • 首页右上角加号下拉 > Import dashboard >9399 > Load > InfluxDB选择
    • InfluxDB 版本要求1以内,不支持InfluxDB2
    • grafana-cli plugins install grafana-piechart-panel 安装支持插件
    • systemctl restart grafana-server 重启服务

  • 相关阅读:
    Window系统安装Nacos
    倾向得分匹配PSM案例分析
    使用 Spring IoC 容器-12
    会计学基础重点
    308节---------6月26日
    Revel框架基本使用实践教程
    android jectpack DataBinding 数据绑定 改变ui的几种方式
    指针的初阶
    基于STAN的风力发电预测(Python代码实现)
    页面路由跳转 - 文件 File对象数据传递
  • 原文地址:https://blog.csdn.net/hanzheng260561728/article/details/127916416