花了兩天部署了一套監控服務 prometheus+node-exporter+grafana,公司的gitlab服務器准備部署node-exporter的時候突然發現gitlab已經有了這些服務,
也懶得去研究gitlab為啥要這些服務,既然gitlab服務器已經包含了node-exporter服務,我直接使用不就得了。
1.首先瀏覽器測試下接口並不能使用:http://ip:9100/metrics;
2.既然瀏覽器不能使用,那去gitlab服務器測試下:curl 127.0.0.1:9100/metrics -s | head
發現 node-exporter 服務正常
3.node-exporter服務正常,那基本是網絡問題了,繼續排除下:
netstat -anp | grep node
ps -ef | grep node
發現 node-exporter 監聽的是 localhost:9100 導致只能本地訪問(紅框是我改后的),那就修改監聽地址吧
4.查看下監聽地址是在哪里修改的,在gitlab目錄下 :grep :9100 * -r
發現好多地方有這個值(0.0.0.0:9100這個是已經修改后的,修改前看到的是localhost:9100),經過簡單的排除再嘗試,確認可以直接在缺省配置文件里面配置 :embedded/cookbooks/monitoring/attributes/default.rb
把 localhost:9100 改成 0.0.0.0:9100 ,然后重新初始化配置 :gitlab-ctl reconfigure
這樣需要用到這個配置的地方都會從這里取值,由於很多地方用到這個值如果只單獨去修改某個地方的值會導致其他地方的值不匹配,再查找下 grep :9100 * -r ,發現所有的 localhost:9100 都會變成 0.0.0.0:9100
再瀏覽器測試下發現已經正常:http://ip:9100/metrics