forever不重启 node_运维监控Prometheus,部署安全的node_exporter监控主机
簡介
prometheus監(jiān)控系統(tǒng)的時候,是使用pull的方式來獲取監(jiān)控數(shù)據(jù),需要被監(jiān)控端監(jiān)聽對應的端口,prometheus從這些端口服務中拉取對應的數(shù)據(jù)。
node_exporter安全性討論
node_exporter是收集操作系統(tǒng)的指標的一個程序。例如CPU,內存,磁盤和網(wǎng)絡等信息。
之前版本的node_exporter沒有提供驗證的功能,直接訪問就可以獲取到對應的監(jiān)控指標。
這樣子存在一定的安全風險,雖然內網(wǎng)隔離相對安全。
可以通過主機的防火墻來限制端口訪問,但是這樣子,如果服務端遷移之后,就需要一臺臺去修改對應的策略,不方便批量自動化部署。
如果node_exporter能加上驗證和傳輸加密,只要監(jiān)聽端口對內網(wǎng)網(wǎng)段開放,我們就可以隨意遷移我們的Prometheus服務了。
給node_exporter添加Basic Auth
為node_exporter加上基礎的密碼驗證,提升一定的安全性。
生成密碼
可以使用htpasswd這個命令生成對應的密碼串
htpasswd ?-nBC 12 opcaiNew password: Re-type new password: opcai:$2y$12$B2gIBNeB1XL1Q614RQkQS.N6yAeIZkqJk80QdmODrWNb7WuLUF/vG配置node_exporter
node_exporter啟動的時候需要指定配置文件可以使用--web.config這個參數(shù)指定配置文件
vim web_config.yml添加上基礎驗證
basic_auth_users: opcai: $2y$12$B2gIBNeB1XL1Q614RQkQS.N6yAeIZkqJk80QdmODrWNb7WuLUF/vG這里的opcai就是用戶名,后面的值就是加密后的密碼,用戶名: 加密密碼,注意冒號中間需要有一個空格。
啟動服務
啟動的時候指定配置文件的路徑
./node_exporter --web.config=web_config.yml然后訪問默認端口9100的時候,瀏覽器就會提示驗證,輸入對應的用戶名和密碼就可以獲取到指標數(shù)據(jù)。
配置prometheus自動驗證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服務會自動去獲取數(shù)據(jù)了。
基礎的驗證只能是防君子不能防小人,只要抓包就可以獲取對應的密碼串了。
加強安全性,就需要加上tls
生成證書
直接使用openssl生成證書就可以使用了。
openssl req ?-x509 ? -newkey rsa:4096 ?-nodes ?-keyout prometheus.key ?-out prometheus.crtnode_exporter配置證書
同樣的配置到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訪問了
配置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']由于證書不是合法的,要跳過證書的要驗證insecure_skip_verify。
總結
簡單的配置就可以讓prometheus加上驗證和tls,減少監(jiān)控系統(tǒng)的安全風險。
安全無小事,大家需重視。
總結
以上是生活随笔為你收集整理的forever不重启 node_运维监控Prometheus,部署安全的node_exporter监控主机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吴奇隆个人资料详细介绍(演员吴奇隆演艺经
- 下一篇: python做excel麻烦_高效办公必