Nginx+Keepalived+Php+Zabbix+Grafana+Firewalld

1、Nginx 配置文件

[root@backup ~]# cat /usr/local/nginx/conf/nginx.conf

Nginx+Keepalived+Php+Zabbix+Grafana+Firewalld

Nginx+Keepalived+Php+Zabbix+Grafana+Firewalld

Nginx+Keepalived+Php+Zabbix+Grafana+Firewalld

2、Nginx 自定义模版

[root@backup ~]# cat /usr/local/nginx/conf/tcp.stream 

Nginx+Keepalived+Php+Zabbix+Grafana+Firewalld

3、Keepalived 配置模版及 nginx 状态检查

[root@backup ~]# cat /etc/keepalived/keepalived.conf

Nginx+Keepalived+Php+Zabbix+Grafana+Firewalld

[root@master ~]# cat /usr/local/src/check_nginx_pid.sh 

Nginx+Keepalived+Php+Zabbix+Grafana+Firewalld

4、Zabbix 监控模版

[root@backup ~]# grep -v “#” /etc/zabbix/zabbix_agentd.conf | grep -v “^$”

PidFile=/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

Server=10.254.6.68

ServerActive=10.254.6.68

Hostname=10.254.6.67

Include=/etc/zabbix/zabbix_agentd.d/*.conf

[root@backup ~]# cat /zabbix/script/nginx_status.sh 

Nginx+Keepalived+Php+Zabbix+Grafana+Firewalld

5、yaml 自定义模版


zabbix_export:

version: '6.0'
date: '2023-09-17T09:18:53Z'
groups:
-
uuid: ee434023cf8947dfb21f63d64f0f9d74
name: nginx
templates:
-
uuid: 9d9d9d91b12f4ade950f3f5d1fd745ba
template: Nginx_status
name: Nginx_Status
description: 监控 Nginx 的模板
groups:
-
name: nginx
items:
-
uuid: d3908523b89746c09643dfe4118c6dd7
name: 接收客户端连接的总数量
key: nginx.accepts
delay: 10s
tags:
-
tag: Application
value: Nginx 请求数量
-
uuid: 4495aca95e3d41259e8a691bc8cfad95
name: 当前活动客户端连接数
key: nginx.active
delay: 10s
tags:
-
tag: Application
value: Nginx 请求数量
-
uuid: ab9e6e4c8e7a4e0f85e4b14e45b80299
name: 已处理的连接总数量
key: nginx.handled
delay: 10s
tags:
-
tag: Application
value: Nginx 请求数量
-
uuid: 713f8ab658b949aa82a252effbb31cf1
name: 正在读取请求标头的当前连接数量
key: nginx.reading
delay: 10s
tags:
-
tag: Application
value: Nginx 请求数量
-
uuid: 5c78188dad6e44bb88c3f289282df135
name: 客户端请求总数量
key: nginx.requests
delay: 10s
tags:
-
tag: Application
value: Nginx 请求数量
-
uuid: 9cbf8ab477484b8d8d0cb7c9d648e761
name: 正在等待响应的客户端数量
key: nginx.waiting
delay: 10s
tags:
-
tag: Application
value: Nginx 请求数量
-
uuid: 2c04f1bb078b4e5fac5520316a73158b
name: 正在响应连接到客户端的数量
key: nginx.writing
delay: 10s
tags:
-
tag: Application

value: Nginx 请求数量


root@backup ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf 

Nginx+Keepalived+Php+Zabbix+Grafana+Firewalld

Nginx+Keepalived+Php+Zabbix+Grafana+Firewalld

Nginx+Keepalived+Php+Zabbix+Grafana+Firewalld

6、防火墙配置

举例:firewall-cmd –permanent
–add-rich-rule=”rule family=ipv4 source address=10.254.15.176 port
port=2345 protocol=tcp accept”

Nginx+Keepalived+Php+Zabbix+Grafana+Firewalld

以下是对每个规则的解释:

  1. 允许 10.254.6.71 地址访问 2345 端口的规则。

  2. 允许 10.250.0.0/16 中的地址访问 8080 端口的规则。

  3. 允许 10.254.6.68 地址访问 10050 端口的规则。

  4. 拒绝 10.254.0.0/16 中的地址访问 80 端口的规则。

  5. 拒绝 10.253.0.0/16 中的地址访问 80 端口的规则。

  6. 允许 10.254.15.176 地址访问 2345 端口的规则。

  7. 允许 10.253.0.0/16 中的地址访问 8080 端口的规则。

  8. 允许 10.254.0.0/16 中的地址访问 8080 端口的规则。

  9. 拒绝 10.250.0.0/16 中的地址访问 80 端口的规则。

这些规则指定了源地址、目标端口和协议,并定义了是允许还是拒绝相应的网络流量。

7、自定义备份配置文件

Nginx+Keepalived+Php+Zabbix+Grafana+Firewalld

[root@backup backup]# crontab -l

0 3 * * * bash /root/backup.sh

[root@backup ~]# du -sh /backup/

15M     /backup/

以上脚本是一个备份脚本,用于将指定的文件和目录进行备份,并保留最近 90 天的备份文件。

脚本中的 source_files 数组列出了要备份的文件和目录的路径。您可以根据您的实际需求修改这个数组,添加或删除要备份的文件和目录。

脚本中的 backup_dir 变量指定了备份文件的目标路径。您可以根据您的实际需求修改这个变量,指定您希望备份文件存储的目录。

脚本中的 retention_days 变量指定了要保留的备份文件的天数。您可以根据您的实际需求修改这个变量,指定要保留的天数。

脚本会遍历 source_files 数组中的每个文件和目录,将其复制到 backup_dir 目录下,并在备份文件名中添加当前日期和时间。然后,脚本会使用 find 命令删除 backup_dir 目录下超过 retention_days 天的备份文件。

最后,脚本会打印出备份成功的消息。

其他 Nginx 文档:

Keepalived 让人”脑裂”的问题,解决 keepalived 的”脑裂”问题

Nginx+Keepalived 实现双机主备

Nginx 基于 IP 地址负载实现伪 CDN 加速

Nginx 的用途及项目实战(附代码)

如果喜欢这篇文章,请点下方Nginx+Keepalived+Php+Zabbix+Grafana+Firewalld在看,

后续推荐更多类似文章

© 版权声明

☆ END ☆
喜欢就点个赞吧
点赞0 分享
图片正在生成中,请稍后...