安装依赖
先下载node 因为sqlserver的exporter是node语言写的wget https://nodejs.org/dist/v14.17.6/node-v14.17.6-linux-x64.tar.xztar -xvf node-v14.17.6-linux-x64.tar.xzmv node-v14.17.6-linux-x64/usr/local/mv /usr/local/{node-v14.17.6-linux-x64,node}echo "export PATH=$PATH:/usr/local/node/bin" >> /etc/profile;source /etc/profilenode --version
安装sqlserver-exporter
#官方地址https://github.com/awaragi/prometheus-mssql-exporter#下载镜像docker pull awaragi/prometheus-mssql-exporter--使用宿主机IP(sqlserver 是docker方式部署的)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--使用host网络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#访问接口http://IP:4000/metrics
使用consul注册服务
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 配置
- job_name: 'sql-server'consul_sd_configs:- server: '192.168.168.155:8500'services: []refresh_interval: 3srelabel_configs:- source_labels: [__meta_consul_tags]regex: .*sqlservr-export.* #consul上注册的tag 用来匹配action: keep- source_labels: [__meta_consul_service_metadata_group]target_label: 'group'
