Myluzh Blog

Strive to become a dream architect.

Zabbix通过"Nginx by Zabbix agent"模板,监控Nginx状态

2023-12-18 myluzh Zabbix

0x01 Zabbix启用模板 1、Zabbix面板->“配置”->“主机”->"创建/编辑主机"->添加模板 “Nginx by Zabbix agent” 2、并且修改主机宏 宏 值 描述 {$NGINX.PROCESS_NAME} nginx {$NGINX.STUB_STATUS.HOST} 127.0.0.1 {$NGINX.STUB_STATUS.PATH} basic_status {$NGINX.STUB_STATUS.PORT} 80 关于“Nginx by Zabbix agent”模板参数详细链接:https://git.zabbix.c...

阅读全文>>

标签: zabbix nginx nginx_agent

评论(0) (120)

Nginx健康检查(被动检查、主动检查)

2023-12-15 myluzh Nginx

0x01 被动检查 通过自带健康检查模块ngx_http_upstream_module实现,当收到访问时才对后端发起探测,请求根据转发规则首次可能落到不可用节点,如多个节点故障则可能出现转发多台后才将请求转到正常的服务,在高并发的时候影响转发效率。 被动健康检查关键参数max_fails与fail_timeout,描述如下: max_fails:在配置的fail_timeout期间,最大的连接错误数,默认配置为1,如配置为0则表示不启用探测,不管后端服务是否异常仍然会转发,单位次数 fail_timeout:服务被认为不可用的的时间,单位为s 如下配置:在120s内中如果有15次连接失败,则表示该节点不可用,将该节点下线120s后才会再次探测 root@iZbp12bkuvg20e1j3y9gtvZ:/etc/nginx/conf.d# cat prd-all.conf upstream prd-nginx-server { server 172.30.82.213:80 max_fails=5 fail_timeout=120s; server 172.30.172.135:80 m...

阅读全文>>

标签: nginx 健康检查 主动检查 被动检查

评论(0) (170)

在使用Rancher2.5管理的K8S集群中,解决Rancher不可用时通过kubectl进行集群管理的问题

2023-12-15 myluzh Kubernetes

0x00 前言 最近在管理Rancher2.5部署的K8S集群发现一个问题,一旦Rancher Server不可用,直接在K8S master通过kubectl管理集群也会提示连接不到api提示不可用。 分析Rancher UI生成的kubeconfig文件可以发现,当kubectl访问K8S API SERVER的时候,请求是先发送到Rancher,然后再通过cluster agent转发给 K8S API SERVER。 所以需要开启“授权集群访问地址”,这样就算Rancher不可用,也可以通过kubectl --context 切换上下文,直接对集群直接进行管理。 0x01 启用Rancher授权集群访问地址 在rancher web面板中,找到集群,编辑,授权集群访问地址,启用,保存。 0x02 复制kubecfg配置 1、进入rancher面板,选择集群,在右上角打开“Kubeconfig文件”,复制kubeconfig文件内容。 可以看到kubecfg文件里面有两个上下文,第一个上下文就是先到rancher,再通过cluster agent转发到k8s api server的。 第二个上下文就...

阅读全文>>

标签: rancher kubectl 授权集群访问地址 上下文

评论(0) (126)

K8S使用NodePort时,无法在主机上看到监听的端口 - 探究原因

2023-12-7 myluzh Kubernetes

0x00 前言 在新版K8S中,即便 Service 使用 nodeport 暴露,在 node 中使用netstat -anp 或者ss -nlt命令上也看不到 kube-proxy 监听的端口了,但是 nodeport 访问是正常的。 Kubernetes服务不是作为侦听特定端口的进程来实现的。取而代之的是使用iptables (或IPVS),服务基本上是iptables规则。这就是为什么它们不会出现在你的netstat中。 详细查看:https://kubernetes.io/docs/concepts/services-networking/service/#proxy-mode-iptables 0x01 你需要先了解kube-proxy的三种工作模式 1、userspace userspace模式是 kube-proxy 使用的第一代模式,该模式在 kubernetes v1.0 版本开始支持使用,该模式kube-proxy会为每一个Service创建一个监听端口,发向Cluster IP的请求被Iptables规则重定向到kube-proxy监听的端口上,kube-proxy根据LB算法选择一个...

阅读全文>>

标签: k8s kube-porxy iptables ipvs

评论(0) (430)

Zabbix6配置邮件告警

2023-12-6 myluzh Zabbix

0x01 配置发送邮件服务器 面板路径:"管理->媒介->Email"。点击"Email"后配置smtp服务器、端口、发信邮箱跟密码。完成后点击右侧"测试"测试下发信是否正常 0x02 配置用户来接受告警信息 面板路径:"管理->用户"。选择默认admin用户,在"报警媒介"中点击"添加",类型选择"Email",添加收件人邮箱,勾选已启用。 0x03设置触发器报警后的动作 面板路径:"配置->动作->触发器工作"。 1、创建动作,名称为”邮件告警“,添加触发条件为"触发器示警度->大于等于->信息" 2、添加操作 (1)添加"操作",选择需要发送给的用户或者用户组,选择仅发送到"Email",自定义消息内容如下 # 主题 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障! # 消息 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRI...

阅读全文>>

标签: zabbix 邮件告警

评论(0) (135)

Docker部署Zabbix6 Server/Agent

2023-12-4 myluzh Zabbix

1、 部署mysql # mysql docker pull mysql:8.0 docker volume create -d local mysql_data # 存放mysql数据 docker volume create -d local mysql_logs # 存放mysql日志 docker volume create -d local mysql_conf # 存放mysql配置文件 docker run --name mysql-server \ -v mysql_data:/var/lib/mysql \ -v mysql_logs:/var/log/mysql \ -v mysql_conf:/etc/mysql \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix_pwd" \ -e MYSQL_ROOT_PASSWORD="123456" \ --restart=unless-stopped \ -d mysql:8.0 \ --character-s...

阅读全文>>

标签: docker zabbix

评论(0) (120)