forever不重启 node_运维监控Prometheus,部署安全的node_exporter监控主机
簡(jiǎn)介
prometheus監(jiān)控系統(tǒng)的時(shí)候,是使用pull的方式來(lái)獲取監(jiān)控?cái)?shù)據(jù),需要被監(jiān)控端監(jiān)聽(tīng)對(duì)應(yīng)的端口,prometheus從這些端口服務(wù)中拉取對(duì)應(yīng)的數(shù)據(jù)。
node_exporter安全性討論
node_exporter是收集操作系統(tǒng)的指標(biāo)的一個(gè)程序。例如CPU,內(nèi)存,磁盤和網(wǎng)絡(luò)等信息。
之前版本的node_exporter沒(méi)有提供驗(yàn)證的功能,直接訪問(wèn)就可以獲取到對(duì)應(yīng)的監(jiān)控指標(biāo)。
這樣子存在一定的安全風(fēng)險(xiǎn),雖然內(nèi)網(wǎng)隔離相對(duì)安全。
可以通過(guò)主機(jī)的防火墻來(lái)限制端口訪問(wèn),但是這樣子,如果服務(wù)端遷移之后,就需要一臺(tái)臺(tái)去修改對(duì)應(yīng)的策略,不方便批量自動(dòng)化部署。
如果node_exporter能加上驗(yàn)證和傳輸加密,只要監(jiān)聽(tīng)端口對(duì)內(nèi)網(wǎng)網(wǎng)段開(kāi)放,我們就可以隨意遷移我們的Prometheus服務(wù)了。
給node_exporter添加Basic Auth
為node_exporter加上基礎(chǔ)的密碼驗(yàn)證,提升一定的安全性。
生成密碼
可以使用htpasswd這個(gè)命令生成對(duì)應(yīng)的密碼串
htpasswd ?-nBC 12 opcaiNew password: Re-type new password: opcai:$2y$12$B2gIBNeB1XL1Q614RQkQS.N6yAeIZkqJk80QdmODrWNb7WuLUF/vG配置node_exporter
node_exporter啟動(dòng)的時(shí)候需要指定配置文件可以使用--web.config這個(gè)參數(shù)指定配置文件
vim web_config.yml添加上基礎(chǔ)驗(yàn)證
basic_auth_users: opcai: $2y$12$B2gIBNeB1XL1Q614RQkQS.N6yAeIZkqJk80QdmODrWNb7WuLUF/vG這里的opcai就是用戶名,后面的值就是加密后的密碼,用戶名: 加密密碼,注意冒號(hào)中間需要有一個(gè)空格。
啟動(dòng)服務(wù)
啟動(dòng)的時(shí)候指定配置文件的路徑
./node_exporter --web.config=web_config.yml然后訪問(wèn)默認(rèn)端口9100的時(shí)候,瀏覽器就會(huì)提示驗(yàn)證,輸入對(duì)應(yīng)的用戶名和密碼就可以獲取到指標(biāo)數(shù)據(jù)。
配置prometheus自動(dòng)驗(yàn)證node_exporter
在prometheus.yml加入job
- job_name: 'auth_node_exporter' ? basic_auth: ? ? username: opcai ? ? password: admin ? ?# metrics_path defaults to '/metrics' ? ?# scheme defaults to 'http'. ? static_configs: ? - targets: ['192.168.10.9:9100']重載prometheus服務(wù)會(huì)自動(dòng)去獲取數(shù)據(jù)了。
基礎(chǔ)的驗(yàn)證只能是防君子不能防小人,只要抓包就可以獲取對(duì)應(yīng)的密碼串了。
加強(qiáng)安全性,就需要加上tls
生成證書(shū)
直接使用openssl生成證書(shū)就可以使用了。
openssl req ?-x509 ? -newkey rsa:4096 ?-nodes ?-keyout prometheus.key ?-out prometheus.crtnode_exporter配置證書(shū)
同樣的配置到web_config.yml文件里面即可
tls_server_config: cert_file: prometheus.crt key_file: prometheus.keybasic_auth_users: opcai: $2y$12$B2gIBNeB1XL1Q614RQkQS.N6yAeIZkqJk80QdmODrWNb7WuLUF/vG重啟node_exporter,然后需要使用https訪問(wèn)了
配置prometheus配置https
- job_name: 'auth_node_exporter' ? scheme: https ? tls_config: ? ? insecure_skip_verify: ?true ? basic_auth: ? ? username: opcai ? ? password: admin? ? ?# metrics_path defaults to '/metrics' ? ?# scheme defaults to 'http'.? ? static_configs: ? - targets: ['192.168.100.2:9100']由于證書(shū)不是合法的,要跳過(guò)證書(shū)的要驗(yàn)證insecure_skip_verify。
總結(jié)
簡(jiǎn)單的配置就可以讓prometheus加上驗(yàn)證和tls,減少監(jiān)控系統(tǒng)的安全風(fēng)險(xiǎn)。
安全無(wú)小事,大家需重視。
總結(jié)
以上是生活随笔為你收集整理的forever不重启 node_运维监控Prometheus,部署安全的node_exporter监控主机的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 吴奇隆个人资料详细介绍(演员吴奇隆演艺经
- 下一篇: oracle 查询不同编号的时间最小记录