不同tomcat服务器的负载均衡
在Nginx服务器192.168.43.138上安装Nginx,(安装教程在前几篇文章有详细描述
)实现反向代理tomcat负载均衡
执行一下命令,关闭防火墙
systemctl disable firewalld.service
systemctl stop firewalld.service
关闭后查看防火墙状态 firewall-cmd --state ,not running 表示未运行
启动不同服务器上的tomcat服务器
http://192.168.43.133:8080/ ,http://192.168.43.133:8080/ 两个端口都正常访问
在nginx 服务器配置 nginx.conf 文件
#gzip on;
upstream zcz_app {
server 192.168.43.138:8080 weight=1 max_fails=2 fail_timeout=30s;
}
upstream zcz_admin {
server 192.168.43.133:8080 weight=1 max_fails=2 fail_timeout=30s;
}
#定义两个sever模块
server {
listen 80;
server_name zcz_admin ;
location / {
proxy_pass http://192.168.43.138:8080;
proxy_set_header Host $http_host;
}
}
server {
listen 80;
server_name sports.aaa.com;
location / {
proxy_pass http://192.168.43.133:8080;
proxy_set_header Host $http_host;
}
}
重启nginx命令:./nginx -s reload
检查是否启动成功 ps -ef | grep nginx
常用的nginx 命令
启动nginx 命令: ./nginx 出现下面启动成功
查看nginx 的状态 ps -ef | grep nginx 出现master 则启动成功
关闭nginx 命令 kill -9 进程号,则关闭nginx
查看启动状态命令:./nginx -t
停止 nginx 命令:./nginx -s stop
重启nginx命令:./nginx -s reload
使用promethues 监控nginx
必备组件:
- nginx-module-vts(用于JSON格式的数据产出)
- nginx-vts-exporter (收集JSON数据的用于提供给prometheus)
- grafana 展示数据
- promethues 时序数据库用于开源监控报警系统
安装nginx-module-vts
- 下载vts模块 https://gitee.com/mirrors/nginx-module-vts.git
- 解压nginx-module-vts的监控模块,并将其放至nginx目录下
3. 停止nginx :./nginx -s stop ,在nginx安装目录对nginx源码文件重新编译安装
#使用配置命令增加模块add-module
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --add-module=nginx-module-vts
#安装
make && make install
4.修改nginx.conf 配置文件
在nginx.conf的server模块中添加如下配置:
location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
在nginx.conf的http模块中添加如下配置:
vhost_traffic_status_zone;
#打开vhost过滤,根据不同的server_name进行流量的统计
vhost_traffic_status_filter_by_host on;
5.使用 nginx -s reload 命令重新加载配置 ,访问 http://IP/status 这个地址
安装nginx-vts-exporter
- 下载安装包:wget https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.10.3/nginx-vts-exporter-0.10.3.linux-amd64.tar.gz
- 解压到安装目录 tar -xzvf nginx-vts-exporter-0.10.3.linux-amd64.tar.gz进入目录使用nohu 。p后台启动 ,命令后面指定ip地址
nohup ./nginx-vts-exporter -nginx.scrape_uri=http://192.168.43.138/status/format/json &
3.查看nohup 启动日志
nginxvts_exporter的默认端口号为:9913
4.访问端口
http://nginx_ip:9913/metrics成功,表示nginx_vts_exporter 开始收集数据
启动监听机器的grafana和prometheus
修改Prometheus.yml,配置nginx-vts-exporter的端口和ip
启动 grafana
systemctl restart grafana-server
#后台启动 prometheus
nohup ./prometheus &
查看日志发现启动报错
进入data目录,查看是否存在lock文件
移除lock文件
重新启动成功
dashboard设置
添加数据源,引入模板: 2949
成功引入数据
不同tomcat服务器的负载均衡
在Nginx服务器192.168.43.138上安装Nginx,(安装教程在前几篇文章有详细描述
)实现反向代理tomcat负载均衡
执行一下命令,关闭防火墙
systemctl disable firewalld.service
systemctl stop firewalld.service
关闭后查看防火墙状态 firewall-cmd --state ,not running 表示未运行
启动不同服务器上的tomcat服务器
http://192.168.43.133:8080/ ,http://192.168.43.133:8080/ 两个端口都正常访问
在nginx 服务器配置 nginx.conf 文件
#gzip on;
upstream zcz_app {
server 192.168.43.138:8080 weight=1 max_fails=2 fail_timeout=30s;
}
upstream zcz_admin {
server 192.168.43.133:8080 weight=1 max_fails=2 fail_timeout=30s;
}
#定义两个sever模块
server {
listen 80;
server_name zcz_admin ;
location / {
proxy_pass http://192.168.43.138:8080;
proxy_set_header Host $http_host;
}
}
server {
listen 80;
server_name sports.aaa.com;
location / {
proxy_pass http://192.168.43.133:8080;
proxy_set_header Host $http_host;
}
}
重启nginx命令:./nginx -s reload
检查是否启动成功 ps -ef | grep nginx
常用的nginx 命令
启动nginx 命令: ./nginx 出现下面启动成功
查看nginx 的状态 ps -ef | grep nginx 出现master 则启动成功
关闭nginx 命令 kill -9 进程号,则关闭nginx
查看启动状态命令:./nginx -t
停止 nginx 命令:./nginx -s stop
重启nginx命令:./nginx -s reload
使用promethues 监控nginx
必备组件:
- nginx-module-vts(用于JSON格式的数据产出)
- nginx-vts-exporter (收集JSON数据的用于提供给prometheus)
- grafana 展示数据
- promethues 时序数据库用于开源监控报警系统
安装nginx-module-vts
- 下载vts模块 https://gitee.com/mirrors/nginx-module-vts.git
- 解压nginx-module-vts的监控模块,并将其放至nginx目录下
3. 停止nginx :./nginx -s stop ,在nginx安装目录对nginx源码文件重新编译安装
#使用配置命令增加模块add-module
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --add-module=nginx-module-vts
#安装
make && make install
4.修改nginx.conf 配置文件
在nginx.conf的server模块中添加如下配置:
location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
在nginx.conf的http模块中添加如下配置:
vhost_traffic_status_zone;
#打开vhost过滤,根据不同的server_name进行流量的统计
vhost_traffic_status_filter_by_host on;
5.使用 nginx -s reload 命令重新加载配置 ,访问 http://IP/status 这个地址
安装nginx-vts-exporter
- 下载安装包:wget https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.10.3/nginx-vts-exporter-0.10.3.linux-amd64.tar.gz
- 解压到安装目录 tar -xzvf nginx-vts-exporter-0.10.3.linux-amd64.tar.gz进入目录使用nohu 。p后台启动 ,命令后面指定ip地址
nohup ./nginx-vts-exporter -nginx.scrape_uri=http://192.168.43.138/status/format/json &
3.查看nohup 启动日志
nginxvts_exporter的默认端口号为:9913
4.访问端口
http://nginx_ip:9913/metrics成功,表示nginx_vts_exporter 开始收集数据
启动监听机器的grafana和prometheus
修改Prometheus.yml,配置nginx-vts-exporter的端口和ip
启动 grafana
systemctl restart grafana-server
#后台启动 prometheus
nohup ./prometheus &
查看日志发现启动报错
进入data目录,查看是否存在lock文件
移除lock文件
重新启动成功
dashboard设置
添加数据源,引入模板: 2949
成功引入数据