@Bene #70 感谢Bene!! 服务端有个疑问请教一下,grafana的3030端口可以用 grafana提供的 用户名/口令 access, 但prometheus的9090端口好像可以直接访问,是否需要开防火墙?但开防火墙的话grafana好像显示有问题。
@tioman #81 发布于12/5/2024, 3:52:14 PM @Bene #70 感谢Bene!! 服务端有个疑问请教一下,grafana的3030端口可以用 grafana提供的 用户名/口令 access, 但prometheus的9090端口好像可以直接访问,是否需要开防火墙?但开防火墙的话grafana好像显示有问题。 刚才用iptable写了对服务器9100和9090访问限制,应该也可以配置Prometheus service on 127.0.0.1 only, 没去看了。 #iptable命令实现服务器的两个端口 9100 和9090 限制仅服务器本机地址进行访问 (不需要对外开放) #其中:9090用于Prometheus,9100 用于node-export xx.xx.xx.xx 替换为服务器ip地址 sudo apt-get install -y iptables-persistent sudo iptables -A INPUT -p tcp -s 127.0.0.1 --dport 9100 -j ACCEPT sudo iptables -A INPUT -p tcp -s 127.0.0.1 --dport 9090 -j ACCEPT sudo iptables -A INPUT -p tcp -s xx.xx.xx.xx --dport 9100 -j ACCEPT sudo iptables -A INPUT -p tcp -s xx.xx.xx.xx --dport 9090 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 9090 -j REJECT sudo iptables -A INPUT -p tcp --dport 9100 -j REJECT netfilter-persistent save
@luluby612 #77 Ermmmm...或许参照 prometheus 的默认配置重新写一遍呢? @tioman #81 Grafana 和 prometheus 是不在同一台机器的情况吗?这样的话得开。如果都是本机内,就不需要开放 9090 到公网的 (如果是 docker 开的我就不太清楚了,我一般也不用 docker,因为很多时候不懂怎么解决网络问题) @fscarmen #82 我看了一下你的图二,似乎你把 9090 写到 nodeExporter 的 job 里面了?我记得这个是单独的 job(同样,建议参照 prometheus 的默认配置重新写写看)
@tioman #81 Prometheus 的 WebUI 要保護(如若開公網訪問),如以下 nginx vhost 配置 upstream grafana { server localhost:3000; } upstream prometheus { server localhost:9090; } upstream alertmanager { server localhost:9093; } server { listen 80; listen [::]:80; server_name status.microcharon.dev ; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/status.microcharon.dev; #include rewrite/none.conf; #error_page 404 /404.html; # Deny access to PHP files in specific directory #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; } include enable-php.conf; location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /.well-known { allow all; } location ~ /\. { deny all; } # location / { # return 301 https://$host$request_uri; # } access_log /home/wwwlogs/status.microcharon.dev.log; } server { #listen 443 ssl http2; #listen [::]:443 ssl http2; listen 443 ssl; listen [::]:443 ssl; server_name status.microcharon.dev ; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/status.microcharon.dev; ssl_certificate /usr/local/nginx/conf/ssl/status.microcharon.dev/fullchain.cer; ssl_certificate_key /usr/local/nginx/conf/ssl/status.microcharon.dev/status.microcharon.dev.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5"; ssl_session_cache builtin:1000 shared:SSL:10m; # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048 ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem; include rewrite/none.conf; #error_page 404 /404.html; # Deny access to PHP files in specific directory #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; } include enable-php.conf; location / { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_redirect off; proxy_set_header Host $http_host; #proxy_set_header True-Client-IP $http_true_client_ip; proxy_set_header X-Real-IP $http_true_client_ip; #proxy_set_header X-Forwarded-For $remote_addr; #proxy_set_header X-Forwarded-For $http_true_client_ip; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://grafana; } location /api/live { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $http_host; proxy_pass http://grafana; rewrite ^/(.*) /$1 break; } location /prometheus/ { proxy_pass http://prometheus/; auth_basic "Prometheus"; auth_basic_user_file /home/wwwroot/status.microcharon.dev/.htpasswd; } location /alertmanager/ { proxy_pass http://alertmanager/; auth_basic "Alertmanager"; auth_basic_user_file /home/wwwroot/status.microcharon.dev/.htpasswd; } access_log /home/wwwlogs/status.microcharon.dev.log; }
@Bene #70
感谢Bene!!
服务端有个疑问请教一下,grafana的3030端口可以用 grafana提供的 用户名/口令 access,
但prometheus的9090端口好像可以直接访问,是否需要开防火墙?但开防火墙的话grafana好像显示有问题。
@luluby612 #80 大佬,你本地的数据能监控没有啊?我还是没有任何数据啊。
技术贴 感谢分享!
@fscarmen #82 我在更改配置文件后,连面板都进不去呢
刚才用iptable写了对服务器9100和9090访问限制,应该也可以配置Prometheus service on 127.0.0.1 only, 没去看了。
#iptable命令实现服务器的两个端口 9100 和9090 限制仅服务器本机地址进行访问 (不需要对外开放)
#其中:9090用于Prometheus,9100 用于node-export
xx.xx.xx.xx 替换为服务器ip地址
sudo apt-get install -y iptables-persistent
sudo iptables -A INPUT -p tcp -s 127.0.0.1 --dport 9100 -j ACCEPT
sudo iptables -A INPUT -p tcp -s 127.0.0.1 --dport 9090 -j ACCEPT
sudo iptables -A INPUT -p tcp -s xx.xx.xx.xx --dport 9100 -j ACCEPT
sudo iptables -A INPUT -p tcp -s xx.xx.xx.xx --dport 9090 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 9090 -j REJECT
sudo iptables -A INPUT -p tcp --dport 9100 -j REJECT
netfilter-persistent save
@luluby612 #77
Ermmmm...或许参照 prometheus 的默认配置重新写一遍呢?
@tioman #81
Grafana 和 prometheus 是不在同一台机器的情况吗?这样的话得开。如果都是本机内,就不需要开放 9090 到公网的
(如果是 docker 开的我就不太清楚了,我一般也不用 docker,因为很多时候不懂怎么解决网络问题)
@fscarmen #82
我看了一下你的图二,似乎你把 9090 写到 nodeExporter 的 job 里面了?我记得这个是单独的 job(同样,建议参照 prometheus 的默认配置重新写写看)
@Bene #86
好,谢谢大佬建议
@tioman #81
Prometheus 的 WebUI 要保護(如若開公網訪問),如以下 nginx vhost 配置
@Testcharon #88
大佬大佬,已经用上了你docker和楼主的模版,但是想自己看某个一个程序的网络速度,或者全部显示vps里面程序的网络速度,应该怎么操作?
node_exporter有办法只监控指定网卡吗
用
--collector.netdev.device-include=br-lan之后,面板直接不显示网络速度了还是我用错了