Administration
Multiple Railguns may be added to a Cloudflare account. Only one registered and activated Railgun may be used per domain.
Railgun can be load-balanced and multiple Railgun daemons can be used per activated public IP and token. There is no need to register each Railgun daemon.
Adding a Railgun
- Log in to the Cloudflare dashboard, and select your account.
- Go to Manage Account > Configurations > Railgun.
- In Enter new Railgun name text box, enter a descriptive title for your Railgun, and select Create.
- Within your Railgun configuration file, update
activation.public_ip
to the public IP (or a hostname which resolves to the public IP) of your Railgun’s server and set theactivation.token
to the activation key displayed on the page. - Start the Railgun daemon so that it can proceed with activation.
- If everything went smoothly, the red icon will change to a green check mark after refreshing the page, and the Railgun can then be toggled on.
- If the Railgun fails to activate, check your logs for errors and contact support if the issue persists.
Enabling Railgun
- Navigate to the Railgun page, and select the desired Railgun from the drop-down menu.
- Switch the toggle to
On
.
Collecting and Reporting Statistics
Railgun can report statistics via syslog
, JSON via an HTTP POST
request, or through its own simple HTTP server when enabled. To enable statistics collection, start by setting stats.enabled
to 1
within the main Railgun configuration file (railgun.conf
). Then:
- To enable
syslog
statistics reporting, setstats.log
to1
. - To enable reporting via an HTTP
POST
request of JSON data to the specified URL, setstats.url
to a valid URL.stats.interval
determines how frequently (in minutes) stats will be logged or POSTed.
If stats.listen
is set to a non-empty host:post
string, Railgun will spawn a local HTTP server and listen on that interface awaiting a GET /
HTTP request. The response will be JSON-encoded statistics. The statistics returned will change according to stats.interval
. If the Railgun statistics port is not protected via a firewall, the host portion should be set to a loopback interface (like 127.0.0.1
or localhost
) to prevent external access. The folowing is an example response:
$ curl -v http://127.0.0.1:22408/
> GET / HTTP/1.1> Accept: */*>< HTTP/1.1 200 OK< Content-Length: 1191< Content-Type: application/json< Date: Tue, 02 Apr 2013 16:56:57 GMT{ "bytes_retrieved": 2794091, "conveyor_cleans_chunk": 1, "conveyor_cleans_hasher": 1, "conveyor_get": 0, "conveyor_give": 0, "conveyor_queue_chunk": 3, "conveyor_queue_hasher": 29, "conveyor_removed_chunk": 0, "conveyor_removed_hasher": 0, "conveyor_retained_chunk": 3212, "conveyor_retained_hasher": 19468, "conveyor_tuned_chunk": 753, "conveyor_tuned_hasher": 1471, "delta_compression_ratio": 6890, "memstats.Frees": 51773495, "memstats.Mallocs": 52696575, "memstats.alloc": 128060840, "memstats.heap_alloc": 128060840, "memstats.heap_idle": 22933504, "memstats.heap_in_use": 134352896, "memstats.heap_objects": 923080, "memstats.heap_released": 0, "memstats.heap_sys": 157286400, "memstats.lookups": 305636, "memstats.num_gc": 133, "memstats.pause_ns": 164422, "memstats.stack_in_use": 3940352, "memstats.stack_sys": 6160384, "memstats.sys": 448807352, "memstats.total_alloc": 5162978952, "no_origin_response": 1, "origin_retries": 0, "requests_completed": 2455, "requests_started": 2295, "uncompressed_chunks": 2552, "wan_bytes_sent": 2952019, "wan_starts": 44}