Powered by node.js + socket.io
- javascript source code (see: decaffeinate)
- config files are json
Harvesters watch log files for changes, send new log messages to the server via TCP, which broadcasts to web clients via socket.io.
Log streams are defined by mapping file paths to a stream name in harvester configuration.
Users browse streams and nodes in the web UI, and activate (stream, node) pairs to view and search log messages in screen widgets.
-
Install via npm
npm install -g log.io --user "ubuntu"
-
Run server
log.io-server
-
Configure harvester
nano ~/.log.io/harvester.conf
-
Run harvester
log.io-harvester
-
Browse to http://localhost:28778
Harvesters connect to the server via TCP, and write properly formatted strings to the socket. Third party harvesters can send messages to the server using the following commands:
Send a log message
+log|my_stream|my_node|info|this is log message\r\n
Register a new node
+node|my_node\r\n
Register a new node, with stream associations
+node|my_node|my_stream1,my_stream2\r\n
Remove a node
-node|my_node\r\n
-
Mike Smathers <[email protected]> (msmathers)
-
Narrative Science http://narrativescience.com (NarrativeScience)
-
Jeremy Ashkenas (jashkenas)
-
Guillermo Rauch <[email protected]> (Guille)
-
Ryan Dahl <ry at tiny clouds dot org> (ry) + Joyent http://www.joyent.com/ (joyent)
Copyright 2013 Narrative Science <[email protected]>
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.