解决prometheus部署在公网IP上的安全认证问题

下载

http://nginx.org/en/download.html

安装

https://www.kuangstudy.com/course

配置反向代理和负载均衡

在这里插入图片描述

密码组件:
root@wangwei830:/usr/local/nginx/sbin# cd …/conf/
root@wangwei830:/usr/local/nginx/conf# htpasswd

Command ‘htpasswd’ not found, but can be installed with:

apt install apache2-utils

root@wangwei830:/usr/local/nginx/conf# apt install apache2-utils
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages were automatically installed and are no longer required:
libgd3 libjbig0 libjpeg-turbo8 libjpeg8 libnginx-mod-http-image-filter libnginx-mod-http-xslt-filter libnginx-mod-mail
libnginx-mod-stream libtiff5 libwebp6 libxpm4 nginx-common nginx-core
Use ‘apt autoremove’ to remove them.
The following additional packages will be installed:
libapr1 libaprutil1
The following NEW packages will be installed:
apache2-utils libapr1 libaprutil1
0 upgraded, 3 newly installed, 0 to remove and 165 not upgraded.
Need to get 260 kB of archives.
After this operation, 969 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://repo.huaweicloud.com/ubuntu focal/main amd64 libapr1 amd64 1.6.5-1ubuntu1 [91.4 kB]
Get:2 http://repo.huaweicloud.com/ubuntu focal/main amd64 libaprutil1 amd64 1.6.1-4ubuntu2 [84.7 kB]
Get:3 http://repo.huaweicloud.com/ubuntu focal-updates/main amd64 apache2-utils amd64 2.4.41-4ubuntu3.7 [84.4 kB]
Fetched 260 kB in 0s (5,392 kB/s)
Selecting previously unselected package libapr1:amd64.
(Reading database … 132513 files and directories currently installed.)
Preparing to unpack …/libapr1_1.6.5-1ubuntu1_amd64.deb …
Unpacking libapr1:amd64 (1.6.5-1ubuntu1) …
Selecting previously unselected package libaprutil1:amd64.
Preparing to unpack …/libaprutil1_1.6.1-4ubuntu2_amd64.deb …
Unpacking libaprutil1:amd64 (1.6.1-4ubuntu2) …
Selecting previously unselected package apache2-utils.
Preparing to unpack …/apache2-utils_2.4.41-4ubuntu3.7_amd64.deb …
Unpacking apache2-utils (2.4.41-4ubuntu3.7) …
Setting up libapr1:amd64 (1.6.5-1ubuntu1) …
Setting up libaprutil1:amd64 (1.6.1-4ubuntu2) …
Setting up apache2-utils (2.4.41-4ubuntu3.7) …
Processing triggers for man-db (2.9.1-1) …
Processing triggers for libc-bin (2.31-0ubuntu9.2) …
root@wangwei830:/usr/local/nginx/conf#
root@wangwei830:/usr/local/nginx/conf# ls -lrt
total 68
-rw-r–r-- 1 root root 3610 Oct 11 11:25 win-utf
-rw-r–r-- 1 root root 5231 Oct 11 11:25 mime.types.default
-rw-r–r-- 1 root root 5231 Oct 11 11:25 mime.types
-rw-r–r-- 1 root root 2223 Oct 11 11:25 koi-win
-rw-r–r-- 1 root root 2837 Oct 11 11:25 koi-utf
-rw-r–r-- 1 root root 1007 Oct 11 11:25 fastcgi_params.default
-rw-r–r-- 1 root root 1007 Oct 11 11:25 fastcgi_params
-rw-r–r-- 1 root root 1077 Oct 11 11:25 fastcgi.conf.default
-rw-r–r-- 1 root root 1077 Oct 11 11:25 fastcgi.conf
-rw-r–r-- 1 root root 664 Oct 11 11:25 uwsgi_params.default
-rw-r–r-- 1 root root 664 Oct 11 11:25 uwsgi_params
-rw-r–r-- 1 root root 636 Oct 11 11:25 scgi_params.default
-rw-r–r-- 1 root root 636 Oct 11 11:25 scgi_params
-rw-r–r-- 1 root root 2656 Oct 11 11:25 nginx.conf.default
-rw-r–r-- 1 root root 2858 Oct 11 11:31 nginx.conf
root@wangwei830:/usr/local/nginx/conf# htpasswd -c ht.passwd prometheus
New password:
Re-type new password:
Adding password for user prometheus
root@wangwei830:/usr/local/nginx/conf# ls -lrt
total 72
-rw-r–r-- 1 root root 3610 Oct 11 11:25 win-utf
-rw-r–r-- 1 root root 5231 Oct 11 11:25 mime.types.default
-rw-r–r-- 1 root root 5231 Oct 11 11:25 mime.types
-rw-r–r-- 1 root root 2223 Oct 11 11:25 koi-win
-rw-r–r-- 1 root root 2837 Oct 11 11:25 koi-utf
-rw-r–r-- 1 root root 1007 Oct 11 11:25 fastcgi_params.default
-rw-r–r-- 1 root root 1007 Oct 11 11:25 fastcgi_params
-rw-r–r-- 1 root root 1077 Oct 11 11:25 fastcgi.conf.default
-rw-r–r-- 1 root root 1077 Oct 11 11:25 fastcgi.conf
-rw-r–r-- 1 root root 664 Oct 11 11:25 uwsgi_params.default
-rw-r–r-- 1 root root 664 Oct 11 11:25 uwsgi_params
-rw-r–r-- 1 root root 636 Oct 11 11:25 scgi_params.default
-rw-r–r-- 1 root root 636 Oct 11 11:25 scgi_params
-rw-r–r-- 1 root root 2656 Oct 11 11:25 nginx.conf.default
-rw-r–r-- 1 root root 2858 Oct 11 11:31 nginx.conf
-rw-r–r-- 1 root root 49 Oct 11 11:34 ht.passwd
root@wangwei830:/usr/local/nginx/conf# cat ht.passwd
prometheus: a p r 1 apr1 apr1I4SCAru/$V/dPxG0XX3sCUR01bJ6qF/
root@wangwei830:/usr/local/nginx/conf#

(三)解决prometheus部署在公网IP上的安全认证问题

osc_8db3mwb5
2020/10/15 12:39
阅读数 1.9K

prometheus相比于zabbix在网站登录的时候没有账密认证,就导致访问ip端口的时候会把自身监控的信息全部暴露出去。因此prometheus的部署建议是不要部署在公网上,另外就是开启认证了。所谓的认证就是在登陆的时候提示输入账号密码。在这里我们是通过nginx上的HTTP Basic Auth来实现。

1、部署nginx,忽略。

2、安装apache-htpasswd工具

~:yum -y install httpd-tools

3、创建账号密码

~:cd /usr/local/nginx/conf/
~:htpasswd -c ht.passwd prometheus
New password:
Re-type new password:
Adding password for user prometheus

4、在nginx.conf里面编辑反向代理

server {

listen 19090;

location / {


	proxy_pass http://localhost:9090;
	auth_basic "Basic Authentication";
	auth_basic_user_file "ht.passwd";
}

}

这里要提一下,反向代理为什么要用http://localhost:9090,我这里的prometheus和nginx是部署在同一台服务器上的,同时在请求9090的时候,只允许该台服务器的ip访问。

5、修改prometheus.yml文件
在编辑prometheus.yml文件之前,先在prometheus目录下执行

~:./prometheus --config.file=./prometheus.yml --web.external-url=http://localhost:19090 --web.route-prefix="/" --web.enable-lifecycle --web.listen-address=“localhost:9090”

目的是使prometheus对外的端口是19090,同时设置9090端口是为了对接nginx上的反向代理。

~:vim prometheus.yml
static_configs:
- targets: [‘xxx.xxx.xxx.xxx:19090’]
basic_auth:
username: prometheus
password: 密码

6、重启prometheus
另外,这个时候如果grafana的监控出现问题的时候,需要重新添加prometheus的地址,并且点开Basic Auth,把刚刚设置的账号密码添加进去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值