- Organized 252 files across project - Root directory: 187 → 2 files (98.9% reduction) - Moved configuration guides to docs/04-configuration/ - Moved troubleshooting guides to docs/09-troubleshooting/ - Moved quick start guides to docs/01-getting-started/ - Moved reports to reports/ directory - Archived temporary files - Generated comprehensive reports and documentation - Created maintenance scripts and guides All files organized according to established standards.
242 lines
5.4 KiB
Markdown
242 lines
5.4 KiB
Markdown
# RPC Endpoint Diagnostics Report
|
|
**Date**: 2025-12-27 00:16 UTC
|
|
**Endpoint**: `https://rpc-http-pub.d-bis.org`
|
|
|
|
---
|
|
|
|
## Executive Summary
|
|
|
|
✅ **PUBLIC ENDPOINT IS OPERATIONAL**
|
|
|
|
The RPC endpoint is working correctly. All components are healthy and responding as expected.
|
|
|
|
---
|
|
|
|
## Component Status
|
|
|
|
### ✅ VMID 2502 (besu-rpc-3) - OPERATIONAL
|
|
|
|
**Container Status:**
|
|
- Status: Running
|
|
- IP: 192.168.11.252
|
|
- Hostname: besu-rpc-3
|
|
- Uptime: 4 days, 16 hours, 35 minutes
|
|
- Load Average: 6.90, 3.95, 3.49
|
|
|
|
**Services:**
|
|
- ✅ **besu-rpc.service**: Active (running) - 6+ hours uptime
|
|
- ✅ **nginx.service**: Active (running) - 4+ days uptime
|
|
|
|
**Listening Ports:**
|
|
- ✅ Port 443 (HTTPS) - Nginx
|
|
- ✅ Port 80 (HTTP) - Nginx
|
|
- ✅ Port 8545 (RPC HTTP) - Besu
|
|
- ✅ Port 30303 (P2P) - Besu
|
|
- ✅ Port 9545 (Metrics) - Besu
|
|
|
|
**System Resources:**
|
|
- Memory: 16GB total, 3.2GB used, 12GB available (20% usage)
|
|
- Disk: 196GB total, 2.7GB used, 184GB available (2% usage)
|
|
- Swap: 512MB (unused)
|
|
|
|
**RPC Functionality:**
|
|
- ✅ Chain ID: `0x8a` (138 decimal) - CORRECT
|
|
- ✅ Block Number: ~262,700+ (syncing actively)
|
|
- ✅ Peer Count: 3 peers connected
|
|
- ✅ Sync Status: Fully synced (false)
|
|
- ✅ Direct RPC access: WORKING
|
|
- ✅ Nginx proxy: WORKING
|
|
- ✅ Network access: WORKING
|
|
|
|
**Nginx Configuration:**
|
|
- ✅ Configuration syntax: OK
|
|
- ✅ SSL certificates: Configured
|
|
- ✅ Server name: `rpc-http-pub.d-bis.org`
|
|
- ✅ Proxy to: `127.0.0.1:8545`
|
|
- ✅ Cloudflare IPs: Trusted for real IP
|
|
|
|
---
|
|
|
|
### ✅ Cloudflared Tunnel (VMID 102) - OPERATIONAL
|
|
|
|
**Container Status:**
|
|
- Status: Running
|
|
- Host: 192.168.11.12 (pve2)
|
|
- Storage: thin1:vm-102-disk-0,size=2G
|
|
|
|
**Services Running:**
|
|
- ✅ cloudflared.service (main service with token)
|
|
- ✅ cloudflared-ml110.service
|
|
- ✅ cloudflared-r630-01.service
|
|
- ✅ cloudflared-r630-02.service
|
|
|
|
**Configuration:**
|
|
- Main service uses token-based authentication
|
|
- RPC endpoints are configured via Cloudflare Dashboard/API
|
|
- Tunnel is routing traffic correctly to `192.168.11.252:443`
|
|
|
|
---
|
|
|
|
### ✅ Public Endpoint - OPERATIONAL
|
|
|
|
**URL**: `https://rpc-http-pub.d-bis.org`
|
|
|
|
**Test Results:**
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"id": 1,
|
|
"result": "0x8a"
|
|
}
|
|
```
|
|
|
|
**Status**: ✅ **WORKING CORRECTLY**
|
|
|
|
**Response Time**: < 1 second
|
|
**SSL**: Valid certificate
|
|
**HTTP Version**: HTTP/2
|
|
|
|
---
|
|
|
|
## Network Flow
|
|
|
|
```
|
|
Internet Client
|
|
↓
|
|
Cloudflare DNS (rpc-http-pub.d-bis.org)
|
|
↓
|
|
Cloudflare Edge (SSL termination, DDoS protection)
|
|
↓
|
|
Cloudflare Tunnel (encrypted)
|
|
↓
|
|
VMID 102: cloudflared.service (192.168.11.12)
|
|
↓
|
|
VMID 2502: Nginx (192.168.11.252:443)
|
|
↓
|
|
VMID 2502: Besu RPC (127.0.0.1:8545)
|
|
↓
|
|
Response: {"jsonrpc":"2.0","id":1,"result":"0x8a"}
|
|
```
|
|
|
|
---
|
|
|
|
## Test Commands
|
|
|
|
### Test Public Endpoint
|
|
```bash
|
|
curl -X POST https://rpc-http-pub.d-bis.org \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
|
|
```
|
|
|
|
**Expected Response:**
|
|
```json
|
|
{"jsonrpc":"2.0","id":1,"result":"0x8a"}
|
|
```
|
|
|
|
### Test Direct Network Access
|
|
```bash
|
|
curl -k -X POST https://192.168.11.252:443 \
|
|
-H "Host: rpc-http-pub.d-bis.org" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
|
|
```
|
|
|
|
### Test Internal RPC
|
|
```bash
|
|
ssh root@192.168.11.10 "pct exec 2502 -- curl -s -X POST http://127.0.0.1:8545 \
|
|
-H 'Content-Type: application/json' \
|
|
-d '{\"jsonrpc\":\"2.0\",\"method\":\"eth_chainId\",\"params\":[],\"id\":1}'"
|
|
```
|
|
|
|
---
|
|
|
|
## Health Checks
|
|
|
|
### VMID 2502 Service Status
|
|
```bash
|
|
ssh root@192.168.11.10 "pct exec 2502 -- systemctl status besu-rpc nginx"
|
|
```
|
|
|
|
### VMID 2502 Resource Usage
|
|
```bash
|
|
ssh root@192.168.11.10 "pct exec 2502 -- free -h && df -h /"
|
|
```
|
|
|
|
### Cloudflared Tunnel Status
|
|
```bash
|
|
ssh root@192.168.11.12 "pct exec 102 -- systemctl status cloudflared.service"
|
|
```
|
|
|
|
### Check Recent Logs
|
|
```bash
|
|
# Besu logs
|
|
ssh root@192.168.11.10 "pct exec 2502 -- journalctl -u besu-rpc -n 50"
|
|
|
|
# Nginx logs
|
|
ssh root@192.168.11.10 "pct exec 2502 -- tail -20 /var/log/nginx/error.log"
|
|
|
|
# Cloudflared logs
|
|
ssh root@192.168.11.12 "pct exec 102 -- journalctl -u cloudflared.service -n 50"
|
|
```
|
|
|
|
---
|
|
|
|
## Recommendations
|
|
|
|
### Current Status: ✅ All Systems Operational
|
|
|
|
No immediate action required. All components are functioning correctly.
|
|
|
|
### Monitoring Recommendations
|
|
|
|
1. **Monitor Besu Sync Status**
|
|
- Check block height periodically
|
|
- Ensure peer count stays above 2
|
|
|
|
2. **Monitor Resource Usage**
|
|
- Memory usage is healthy (20%)
|
|
- Disk usage is minimal (2%)
|
|
- Load average is acceptable
|
|
|
|
3. **Monitor Nginx Logs**
|
|
- Watch for error patterns
|
|
- Monitor access patterns
|
|
|
|
4. **Monitor Cloudflared Tunnel**
|
|
- Ensure service stays running
|
|
- Check for connection errors
|
|
|
|
### Optional Improvements
|
|
|
|
1. Set up automated health checks
|
|
2. Configure alerting for service failures
|
|
3. Monitor RPC response times
|
|
4. Track API usage patterns
|
|
|
|
---
|
|
|
|
## Troubleshooting Reference
|
|
|
|
### If Public Endpoint Fails
|
|
|
|
1. Check VMID 2502 container status
|
|
2. Check Besu RPC service
|
|
3. Check Nginx service
|
|
4. Check Cloudflared tunnel service (VMID 102)
|
|
5. Test direct network access to 192.168.11.252:443
|
|
6. Test internal RPC on 127.0.0.1:8545
|
|
|
|
### Common Issues
|
|
|
|
- **Error 1033/530**: Cloudflared tunnel not running or misconfigured
|
|
- **Connection refused**: Service not running or firewall blocking
|
|
- **Wrong chain ID**: Besu configuration issue
|
|
- **SSL errors**: Certificate expiration or misconfiguration
|
|
|
|
---
|
|
|
|
**Last Updated**: 2025-12-27 00:16 UTC
|
|
**Status**: ✅ ALL SYSTEMS OPERATIONAL
|
|
|