最近开始研究prometheus,因为需要将mysql数据库往prometheus迁移,找到一个exporter叫prometheus-sql。
https://github.com/chop-dbhi/prometheus-sql
公司服务器无法联网,为了安装prometheus-sql,花费了不少时间。大致回忆一下流程。
1、首先要安装sql-agent
这个工具只能通过docker安装,可以在能联网的Linux机器上先安装好,然后打包成tar,拷贝到不能联网的机器。
不会docker的程序员:( 为了通过docker顺利安装sql-agent,各种采坑,具体见https://www.jianshu.com/p/62e160cb2690
step1:
联网机器:
docker pull dbhi/sql-agent
docker run -d --name sqlagent dbhi/sql-agent
docker save > sql-agent.tar dbhi/sql-agent:latest
step2:
不能联网的机器:
docker load < sql-agent.tar
docker run -d -p 5000:5000 dbhi/sql-agent
成功启动sql-agent
2、安装prometheus-sql
我下载的是tar包,关键是要写queries.yml,将prometheus-sql解压后的exe和queries.yml放在一个文件夹,可以参考链接https://cloud.tencent.com/developer/news/121874
prometheus-sql需要一个queries.yml来配置数据库连接及必要的sql语句:
-num_products:
driver:mssql
connection:
host:192.168.1.100
port:1433
user:sa
password:369
database:KXI
select HotelCode as hotel_code,DataType as data_type,convert(char(10),QueueDate,120) as queue_date,count(*) as error_count from queuemessage where status='F'
group by HotelCode,DataType,convert(char(10),QueueDate,120)
interval:30s
data-field:error_count
将之放在prometheus-sql.exe同级目录即可,接下来powershell执行:
./prometheus-sql.exe -service http://localhost:5000
现在我们查看prometheus的status--targets,他们都run起来了。