## 服務發現概述
## 一、手動添加主機的弊端
手動添加客戶端非常耗時間,增加人力、時間成本。為了滿足監控企業成千上萬臺服務器,Prometheus提供了自動發現與自動注冊的功能,自動批量發現網絡中的服務器,并自動添加到Prometheus監控平臺。

Prometheus有若干種可以提升運維效率的自動發現/注冊類型
* 基于文件的服務發現
* 基于Consul的服務發現
* 基于DNS的服務發現
* 基于K8s的api-server服務發現
<br><hr><br>
## 二、基于文件的服務發現
Prometheus允許我們進行自定義的發現集成,可以通過watch 一組本地文件來獲取抓取目標以及標簽信息,也就是我們常說的基于文件的服務發現方式。

<br>
## 三、基于Consul的服務發現
什么是Consul
一款基于 golang 開發的開源工具,主要面向分布式,服務化的系統提供服務注冊、服務一發現和配置管理的功能提供服務注冊/發現、健康檢查、Key/value 存儲、多數據中心和分布式一致性保證等功能
ConsuI服務發現的原理
將可以進行數據采集的服務注冊到consu中,用于自動發現同時使用prametheus 做為client端獲取 consul上注冊的服務,從而進行動態獲取數據。

<br>
## 四、基于DNS的服務發現
基于 DNS 的服務發現針對一組 DNS 域名進行定期查詢,以發現待監控的目標查詢時使用的DNS 服務器由 /etc/resolv.conf文件指定
在prometheus.yml配置中,使用DNS記錄返回目標列表(dnssd_config)
<br>
## 五、基于K8s的api-server服務發現
- Prometheus教程
- 一. dokcer 安裝
- 二. 安裝docker-compose
- 三. docker-compose安裝Prometheus
- 四. 配置grafana的數據源
- 五. Prometheus的Exporter
- 六. Prometheus的基本術語
- 七. 監控Linux
- 八. 監控redis和mongodb
- 九. 監控mysql數據庫
- 十. 監控go程序
- 十一. 監控nginx
- 十二. 監控消息隊列
- 十三. 監控docker
- 十四. 監控進程
- 十五. 域名監控
- 十六. SNMP監控
- 十七. 黑盒監控
- 十八. 自定義監控
- 十九. go實現自定義監控
- 二十. 服務發現概述
- 二十一. 基于文件的服務發現
- 二十二. 基于Consul的服務發現
- 二十三. relabeling機制