添加 Nezha Agent 管理功能和完整文档系统
- 新增 Nezha Agent client_secret 更新 playbook(两种实现方案) - 建立三层文档架构:docs/(用户文档)、examples/(配置示例)、llmdoc/(技术文档) - 添加项目主 README.md 和配置示例文件 - 初始化 .gitignore 保护敏感信息
This commit is contained in:
59
llmdoc/guides/ansible-best-practices.md
Normal file
59
llmdoc/guides/ansible-best-practices.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# Ansible 最佳实践指南
|
||||
|
||||
## 1. 参数管理
|
||||
|
||||
### 变量定义
|
||||
1. **明确区分必填和可选参数**
|
||||
2. **使用布尔开关控制功能**
|
||||
3. **默认值设置要合理**
|
||||
|
||||
示例:
|
||||
```yaml
|
||||
vars:
|
||||
# 必填参数
|
||||
pool_url: ""
|
||||
|
||||
# 可选参数
|
||||
enable_cc: true # 默认开启某些功能
|
||||
```
|
||||
|
||||
## 2. 模块使用
|
||||
|
||||
### 推荐模块
|
||||
- `ansible.builtin.set_fact`:动态构建参数
|
||||
- `ansible.builtin.debug`:日志和调试
|
||||
- `ansible.builtin.get_url`:文件下载
|
||||
- `ansible.builtin.shell`:执行复杂命令
|
||||
- `ansible.builtin.file`:文件管理
|
||||
|
||||
## 3. 命令构建
|
||||
|
||||
### 条件渲染技巧
|
||||
1. 使用三元运算符动态生成命令
|
||||
2. 根据布尔开关添加可选参数
|
||||
|
||||
```yaml
|
||||
install_command: >-
|
||||
bash script.sh
|
||||
{{ '--optional-flag' if enable_feature else '' }}
|
||||
```
|
||||
|
||||
## 4. 安全与权限
|
||||
|
||||
### 特权执行
|
||||
- 始终使用 `become: yes`
|
||||
- 谨慎管理 `sudo` 权限
|
||||
|
||||
## 5. 错误处理
|
||||
|
||||
### 日志与调试
|
||||
1. 使用 `register` 捕获命令输出
|
||||
2. 通过 `debug` 模块记录执行过程
|
||||
3. 考虑添加更详细的错误处理机制
|
||||
|
||||
## 6. 性能与维护
|
||||
|
||||
### 代码组织
|
||||
- 保持 Playbook 模块化
|
||||
- 减少重复代码
|
||||
- 添加充分的注释说明
|
||||
64
llmdoc/guides/how-to-configure-journald.md
Normal file
64
llmdoc/guides/how-to-configure-journald.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# 如何配置和管理 Journald 日志
|
||||
|
||||
## 先决条件
|
||||
|
||||
- 已安装 Ansible
|
||||
- 目标服务器已配置 SSH 访问
|
||||
- 拥有对目标服务器的 sudo/root 权限
|
||||
|
||||
## 配置步骤
|
||||
|
||||
### 1. 编辑配置变量
|
||||
|
||||
打开 `journald_configure.yml`,根据需求修改 `journald_config` 变量:
|
||||
|
||||
```yaml
|
||||
journald_config:
|
||||
system_max_use: "500M" # 总日志空间限制
|
||||
system_max_file_size: "100M" # 单文件日志大小限制
|
||||
max_retention_sec: "7day" # 日志保留时间
|
||||
rate_limit_interval_sec: "30s" # 日志速率限制间隔
|
||||
rate_limit_burst: "10000" # 日志突发速率限制
|
||||
```
|
||||
|
||||
### 2. 控制备份行为
|
||||
|
||||
通过 `backup_journald` 变量控制是否在应用新配置前备份当前 `journald.conf`:
|
||||
|
||||
```yaml
|
||||
backup_journald: true # 启用备份
|
||||
```
|
||||
|
||||
### 3. 执行 Playbook
|
||||
|
||||
使用以下命令运行 Playbook:
|
||||
|
||||
```bash
|
||||
ansible-playbook journald_configure.yml
|
||||
```
|
||||
|
||||
### 4. 验证配置
|
||||
|
||||
Playbook 将自动:
|
||||
- 备份原始配置文件
|
||||
- 部署新配置
|
||||
- 重启 systemd-journald 服务
|
||||
- 显示服务状态
|
||||
- 报告日志磁盘使用情况
|
||||
|
||||
## 常见问题与解决方案
|
||||
|
||||
1. **配置未生效?**
|
||||
- 检查 Ansible 执行输出
|
||||
- 确认 SSH 连接和权限
|
||||
- 验证目标服务器的 systemd 版本兼容性
|
||||
|
||||
2. **日志空间不足?**
|
||||
- 增加 `system_max_use` 值
|
||||
- 减少 `max_retention_sec`
|
||||
|
||||
## 最佳实践
|
||||
|
||||
- 定期审核和调整日志配置
|
||||
- 监控日志磁盘使用情况
|
||||
- 根据系统负载动态调整参数
|
||||
44
llmdoc/guides/how-to-deploy-xxxigcc.md
Normal file
44
llmdoc/guides/how-to-deploy-xxxigcc.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# 如何部署和卸载 XXXigCC
|
||||
|
||||
## 1. 准备部署
|
||||
|
||||
### 必填参数
|
||||
- `pool_url`:资源池 URL
|
||||
- `cc_url`:控制中心 URL
|
||||
- `cc_token`:控制中心访问令牌
|
||||
|
||||
### 可选参数
|
||||
以下是默认启用的可选参数:
|
||||
- `enable_cc`:启用控制中心(默认 true)
|
||||
- `enable_tls`:启用 TLS(默认 true)
|
||||
- `enable_cc_tls`:启用控制中心 TLS(默认 true)
|
||||
- `enable_keepalive`:保持连接(默认 true)
|
||||
- `enable_1gb_pages`:使用大页内存(默认 true)
|
||||
|
||||
## 2. 安装 XXXigCC
|
||||
|
||||
### 步骤
|
||||
1. 准备 Ansible Playbook:`xxxigcc_install.yaml`
|
||||
2. 配置必填和可选参数
|
||||
3. 使用命令执行:
|
||||
```bash
|
||||
ansible-playbook xxxigcc_install.yaml -e pool_url=http://example.com -e cc_url=http://control.center -e cc_token=your_token
|
||||
```
|
||||
|
||||
## 3. 卸载 XXXigCC
|
||||
|
||||
### 步骤
|
||||
1. 准备 Ansible Playbook:`xxxigcc_uninstall.yaml`
|
||||
2. 执行卸载命令:
|
||||
```bash
|
||||
ansible-playbook xxxigcc_uninstall.yaml
|
||||
```
|
||||
|
||||
### 注意事项
|
||||
- 卸载将完全删除 XXXigCC 及其相关组件
|
||||
- 使用 `-y --purge` 参数确保彻底卸载
|
||||
|
||||
## 4. 验证部署
|
||||
|
||||
- 检查安装/卸载输出日志
|
||||
- 验证服务运行状态
|
||||
33
llmdoc/guides/security-best-practices.md
Normal file
33
llmdoc/guides/security-best-practices.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# 安全最佳实践指南
|
||||
|
||||
## 1. 权限管理
|
||||
|
||||
### Sudo 权限使用
|
||||
1. **始终** 使用 `become: yes`
|
||||
2. 仅在必要时提升权限
|
||||
3. 避免使用全局 root 权限
|
||||
|
||||
### 脚本下载安全
|
||||
1. 始终启用证书验证 `validate_certs: yes`
|
||||
2. 限制下载脚本权限 `mode: '0755'`
|
||||
3. 使用 HTTPS 下载源
|
||||
|
||||
## 2. 日志安全
|
||||
|
||||
### 日志配置最佳实践
|
||||
1. 限制日志总大小(默认 500M)
|
||||
2. 控制单个日志文件大小(默认 100M)
|
||||
3. 设置日志保留期限(默认 7 天)
|
||||
4. 启用日志速率限制
|
||||
|
||||
### 防御策略
|
||||
1. 防止日志炸弹攻击
|
||||
2. 定期审查日志配置
|
||||
3. 备份重要日志
|
||||
|
||||
## 3. 安全检查清单
|
||||
|
||||
- [ ] 验证所有下载脚本的来源
|
||||
- [ ] 检查 sudo 权限使用范围
|
||||
- [ ] 审核日志配置
|
||||
- [ ] 定期更新和补丁
|
||||
44
llmdoc/guides/using-dynamic-parameters.md
Normal file
44
llmdoc/guides/using-dynamic-parameters.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# 如何使用动态参数构建模式
|
||||
|
||||
## 前提条件
|
||||
|
||||
- 已安装 Ansible
|
||||
- 拥有 Ansible Playbook 的执行权限
|
||||
|
||||
## 步骤指南
|
||||
|
||||
1. **定义必填参数**
|
||||
```yaml
|
||||
vars:
|
||||
pool_url: "https://your-pool-url.com"
|
||||
cc_url: "https://your-cc-url.com"
|
||||
cc_token: "your-secret-token"
|
||||
```
|
||||
|
||||
2. **配置可选参数**
|
||||
```yaml
|
||||
vars:
|
||||
enable_cc: true # 启用控制中心
|
||||
enable_tls: true # 启用传输层安全
|
||||
enable_keepalive: false # 关闭长连接
|
||||
enable_1gb_pages: true # 启用大页内存
|
||||
```
|
||||
|
||||
3. **理解参数影响**
|
||||
- `true` 将添加对应的命令行参数
|
||||
- `false` 将移除对应的命令行参数
|
||||
|
||||
4. **执行 Playbook**
|
||||
```bash
|
||||
ansible-playbook xxxigcc_install.yaml
|
||||
```
|
||||
|
||||
## 高级技巧
|
||||
|
||||
- 可以在 `group_vars` 或 `host_vars` 中预置默认配置
|
||||
- 支持复杂的条件参数,如仅在特定条件下启用 TLS
|
||||
|
||||
## 常见陷阱
|
||||
|
||||
- 确保 `pool_url`、`cc_url`、`cc_token` 正确配置
|
||||
- 布尔参数默认为 `true`,需要显式设置为 `false` 才会禁用
|
||||
50
llmdoc/guides/using-project-documentation.md
Normal file
50
llmdoc/guides/using-project-documentation.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# 如何使用项目文档和示例
|
||||
|
||||
## 1. 文档目录 (docs/)
|
||||
|
||||
`docs/` 目录提供了详细的用户文档,包括:
|
||||
|
||||
- `nezha_update_secret_README.md`: Nezha Agent 配置更新指南
|
||||
- `QUICKSTART_nezha.md`: Nezha Agent 快速入门指南
|
||||
- `README.md`: 项目文档入口
|
||||
|
||||
### 使用建议
|
||||
|
||||
1. 首先阅读 `README.md`,了解项目整体情况
|
||||
2. 根据需求查看相应的专项文档
|
||||
3. 遵循文档中的操作步骤和最佳实践
|
||||
|
||||
## 2. 示例目录 (examples/)
|
||||
|
||||
`examples/` 目录包含各种配置文件示例:
|
||||
|
||||
- `inventory.example.ini`: Ansible Inventory 配置示例
|
||||
- `nezha_vars.example.yml`: Nezha Agent 变量配置示例
|
||||
- `xxxigcc_vars.example.yml`: XXXigCC 部署变量示例
|
||||
- `journald_vars.example.yml`: Journald 配置变量示例
|
||||
|
||||
### 使用步骤
|
||||
|
||||
1. 复制相应的 `.example` 文件
|
||||
2. 根据自己的环境修改配置
|
||||
3. 在 Playbook 执行时使用修改后的配置文件
|
||||
|
||||
## 3. 快速复制配置示例
|
||||
|
||||
```bash
|
||||
# 复制 Nezha Agent 变量示例
|
||||
cp examples/nezha_vars.example.yml nezha_vars.yml
|
||||
|
||||
# 编辑配置文件
|
||||
vim nezha_vars.yml
|
||||
|
||||
# 使用配置文件执行 Playbook
|
||||
ansible-playbook nezha_update_secret.yml -e @nezha_vars.yml
|
||||
```
|
||||
|
||||
## 4. 推荐实践
|
||||
|
||||
- 始终保留 `.example` 文件作为参考
|
||||
- 将个性化配置文件添加到 `.gitignore`
|
||||
- 不要直接修改示例文件
|
||||
- 为不同的环境创建不同的配置文件副本
|
||||
Reference in New Issue
Block a user