作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们上一大章介绍了Kubernetes的知识,本章节我们进入中间件的讲解,这里会包含很多不同的类型组件,中间件的第一个大类我这里定义的是Web服务器。由于目前使用最广泛的Web服务器是Nginx,所以我们这里的讲解主要以Nginx服务器为主。
任何应用软件,部署以后,都需要考虑到监控和备份的问题。我们这一章的Nginx也不例外。
Nginx监控
Nginx默认监控模块
server {
listen 80;
server_name localhost;
location /nginx_status {
stub_status on;
access_log off;
allow 192.168.31.0/24; # 限制访问IP,根据需要
deny all;
}
}
监控指标
Active connections: 3
server accepts handled requests
3 3 6
Reading: 0 Writing: 1 Waiting: 2
Active connections:当前活跃连接数。
accepts vs handled:若差异大,可能有连接被丢弃。
Reading/Writing/Waiting:分别代表读取头、响应写入、空闲客户端连接数。
Prometheus的监控
上面的监控信息,实在是简单了,而且随着云原生的发展,大部分监控都需要接入到Prometheus里面,所以我们必须要把我们的监控数据兼容Prometheus格式。
下面我们将使用动态加载mod的方式加载的vts模块,也算是弥补我们在Lua的使用动态加载的遗憾。也是这个模块才会有更详细的监控数据。
动态加载
1.部署编译依赖包
yum install gcc make pcre-devel zlib-devel openssl-devel git
2.下载同版本nginx
NGINX_VERSION=$(nginx -v 2>&1 | awk -F'/' '{print $2}')
wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
tar -zxvf nginx-${NGINX_VERSION}.tar.gz
3.下载vts源码
#也可以不安装git命令,手工上传源码包
git clone https://github.com/vozlt/nginx-module-vts.git
4.动态编译
cd nginx-${NGINX_VERSION}
./configure --with-compat --add-dynamic-module=../nginx-module-vts
make modules
5.配置动态模块加载
cp objs/ngx_http_vhost_traffic_status_module.so /usr/share/nginx/modules/
echo "load_module /usr/share/nginx/modules/ngx_http_vhost_traffic_status_module.so;" > /usr/share/nginx/modules/vts.conf
6.重载nginx并配置监控信息
#在nginx.conf主配置文件 http模块下添加参数
#这样配置需要为每个网站配置 location
vhost_traffic_status_zone;
#下面这个配置就可以全局的
vhost_traffic_status_zone shared:vhost_traffic_status:10m;
server {
listen 80;
server_name localhost;
location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
access_log off;
allow 192.168.31.0/24; # 按需开放访问IP
deny all;
}
}

7.暴露给exporter
#json指标地址
#还需要启动exporter, 从这里读取数据
http://192.168.31.126/status/format/json
放一个网上找的Grafana的Nginx监控大屏。

备份
Nginx的核心其实就是配置文件,所以备份的核心也是这些配置文件,可以通过任何计划定时把配置文件同步到其他地方。如果还涉及到静态文件,也可以同步备份。

运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!
关注微信公众号《运维小路》获取更多内容。
1552

被折叠的 条评论
为什么被折叠?



