安装依赖

  1. 先下载node 因为sqlserverexporternode语言写的
  2. wget https://nodejs.org/dist/v14.17.6/node-v14.17.6-linux-x64.tar.xz
  3. tar -xvf node-v14.17.6-linux-x64.tar.xz
  4. mv node-v14.17.6-linux-x64/usr/local/
  5. mv /usr/local/{node-v14.17.6-linux-x64,node}
  6. echo "export PATH=$PATH:/usr/local/node/bin" >> /etc/profile;source /etc/profile
  7. node --version

安装sqlserver-exporter

  1. #官方地址
  2. https://github.com/awaragi/prometheus-mssql-exporter
  3. #下载镜像
  4. docker pull awaragi/prometheus-mssql-exporter
  5. --使用宿主机IPsqlserver docker方式部署的)
  6. docker run -e SERVER=172.17.0.1 -e USERNAME=SA -e PASSWORD=密码 -e DEBUG=app -p 4000:4000 --name mssql-exporter awaragi/prometheus-mssql-exporter
  7. --使用host网络
  8. docker run --net=host --privileged=true -e SERVER=本地ip -e USERNAME=SA -e PASSWORD=密码 -e DEBUG=app --name mssql-exporter -d awaragi/prometheus-mssql-exporter
  9. #访问接口
  10. http://IP:4000/metrics

使用consul注册服务

  1. curl -X PUT -d '{"id": "prometheus-01-sqlservr-export","name": "sqlservr-export","address": "192.168.168.156","port": 4000,"tags": ["sqlservr-export"],"meta": {"instance": "prometheus", "group": "sqlserver"}, "checks": [{"http": "http://192.168.168.156:4000/metrics", "interval": "5s"}]}' http://192.168.168.155:8500/v1/agent/service/register > /dev/null 2>&1 && echo -e "\033[92m 注册成功 \033[0m"

id: 必须唯一 ,如果本机上配置多个exporter 最好是ip+exporter
name: 在consul上可以理解为一个目录
address:本地的ip地址

prometheus.yaml 配置

  1. - job_name: 'sql-server'
  2. consul_sd_configs:
  3. - server: '192.168.168.155:8500'
  4. services: []
  5. refresh_interval: 3s
  6. relabel_configs:
  7. - source_labels: [__meta_consul_tags]
  8. regex: .*sqlservr-export.* #consul上注册的tag 用来匹配
  9. action: keep
  10. - source_labels: [__meta_consul_service_metadata_group]
  11. target_label: 'group'