Git Product home page Git Product logo

log.io's Introduction

Log.io - Real-time log monitoring in your browser

Powered by node.js + socket.io

License Version Node

How does it work?

A file input watches log files for changes, sends new messages to the server via TCP, which broadcasts to browsers via socket.io.

Users can watch adhoc log streams by activating inputs and binding them to multiple screens via the web UI.

Terminology

Stream - A logical designation for a group of messages that relate to one another. Examples include an application name, a topic name, or a backend service name.

Source - A physical designation for a group of messages that originate from the same source. Examples include a server name, a service provider name, or a filename.

Input - A (stream, source) pair.

While originally designed to represent backend service logs spread across multiple servers, the stream/source abstraction is intentionally open-ended to allow users to define a system topology for their specific use case.

Install & run server

Install via npm

npm install -g log.io

Configure hosts & ports (see example below)

nano ~/.log.io/server.json

Run server

log.io-server

Browse to http://localhost:6688

Install & run file input

Install via npm

npm install -g log.io-file-input

Configure file input (see example below)

nano ~/.log.io/inputs/file.json

Run file input

log.io-file-input

Server configuration

There are two servers: the message server, which receives TCP messages from message inputs, and the HTTP server, which receives requests from browsers. By default, the application looks for configuration in ~/.log.io/server.json, and can be overridden with the environment variable LOGIO_SERVER_CONFIG_PATH.

Sample configuration file:

{
  "messageServer": {
    "port": 6689,
    "host": "127.0.0.1"
  },
  "httpServer": {
    "port": 6688,
    "host": "127.0.0.1"
  },
  "debug": false,
  "basicAuth": {
    "realm": "abc123xyz",
    "users": {
      "username1": "password1"
    }
  }
}

basicAuth and debug are both optional keys that can be omitted.

File input configuration

Inputs are created by associating file paths with stream and source names in a configuration file. By default, the file input looks for configuration in ~/.log.io/inputs/file.json, and can be overridden with the environment variable LOGIO_FILE_INPUT_CONFIG_PATH.

Input paths can be a file path, directory path or a glob. Additionally, watcher options can be provided for more fine-grained control over file watching mechanics and performance. See the chokidar documentation for more information.

Sample configuration file:

{
  "messageServer": {
    "host": "127.0.0.1",
    "port": 6689
  },
  "inputs": [
    {
      "source": "server1",
      "stream": "app1",
      "config": {
        "path": "log.io-demo/file-generator/app1-server1.log"
      }
    },
    {
      "source": "server2",
      "stream": "system-logs",
      "config": {
        "path": "/var/log/**/*.log",
        "watcherOptions": {
          "ignored": "*.txt",
          "depth": 99,
        }
      }
    }
  ]
}

Server TCP interface

The file input connects to the server via TCP, and writes properly formatted strings to the socket. Custom inputs can send messages to the server using the following commands, each of which ends with a null character:

Send a log message

+msg|streamName1|sourceName1|this is log message\0

Register a new input

+input|streamName1|sourceName1\0

Remove an existing input

-input|streamName1|sourceName1\0

log.io's People

Contributors

fzerorubigd avatar msmathers avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

log.io's Issues

rsyslog module

It would be awesome if harvesters could be fed directly from rsyslog. We have partially centralized logging and running harvesters on 50+ machines would be problematic.

adduser in install.sh

for add new user you should use useradd command.
adduser in some distro like ubuntu is a link to useradd but in some other (Arch for example) is other tool and install hangs since adduser need user input (but useradd dont need that)

Divide into three packages

Is there a particular advantage to having the server, harvester and client all in the same package? It's not exactly a large codebase all together, but I'd love to use npm to install only what I need.

Unable to install on OSX

Couldn't install on OSX because useradd isn't an OSX binary.

bin/install.sh: line 30: useradd: command not found

Node upgrade to Debian Sid

Hi Matt,

Just started using your project, great work.

Debian team has upgraded from node 0.4.12 to 0.6.11 in the sid repository over the weekend.

Are you looking to upgrade your package dependencies?

Makes it very messy now to do an npm install, as I'm continuing to add further servers to log.io.

Thanks for your time.

Paul.

npm WARN [email protected] dependencies field should be hash of : pairs
npm ERR! error installing [email protected]
npm ERR! error rolling back [email protected] Error: UNKNOWN, unknown error '/usr/local/lib/node_modules/log.io'

npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: [email protected]
npm ERR! Required: {"node":">= 0.4.1 < 0.5.0"}
npm ERR! Actual: {"npm":"1.1.2","node":"0.6.11"}
npm ERR!
npm ERR! System Linux 2.6.32-5-openvz-amd64
npm ERR! command "node" "/usr/bin/npm" "install" "-g" "--prefix=/usr/local" "log.io"
npm ERR! cwd /root
npm ERR! node -v v0.6.11
npm ERR! npm -v 1.1.2
npm ERR! code ENOTSUP
npm ERR! message Unsupported
npm ERR! errno {}

</npm output>

Fix Install.sh for CentOS and other Distros

Supplied install.sh script doesn't work for CentOS. Here is the correct way to do this:

useradd -d /home/logio logio
usermod -G adm logio

Also, EACCES, Permission denied error occurs as the file /var/log/log.io/server.log is not set to correct permissions. I fixed it by using:

chmod -R 777 /var/log/log.io

Limiting network access by network and host

This tool is really awesome, I would love to use it in the production environment of my company.
Whats holding me back is the lack of encrypted messaging (other ticket -> https) and being unable to configure defined networks and hosts that are allowed to connect as client or viewer. This goes above the simple ability of choosing which address to listen to.

Maybe something like that in the web_server.conf:
access : [ "192.168.0.0/24", "10.10.0.0/16, "8.8.8.8/32" ]

UI Not Displaying Log Entries

I have a log.io setup wherein I monitor 4 different log files. When I bring up the UI in any browser (latest Chrome, for example), I see no log entries displayed, only the summary info at the bottom of the page that correctly informs me of the number of logs being monitored, etc. Is there anything special that needs to be done or should I expect to 'just work'?

Right panel refreshing interrupt the stream

Hey, I've got a problem with log.io client, every ~minute the div#controls2 is refreshing, checkboxes are off and the stream is disabled. Node v0.6.10, it happens on every web browser.

log.io-harvester crashing

Hi,
Thanks for all the work that you have put into this. I recently installed the server on a VM and the client is my app servers.

harvester crashes after a while with this error.
fs.js:1259
throw new Error('start must be <= end');
^
Error: start must be <= end
at new fs.ReadStream (fs.js:1259:13)
at Object.fs.createReadStream (fs.js:1218:10)
at LogStream._readNewLogs (/usr/local/lib/node_modules/log.io/lib/harvester.js:89:20)
at LogStream._watchFile (/usr/local/lib/node_modules/log.io/lib/harvester.js:79:19)
at Object.oncomplete (fs.js:297:15)

I am also getting " error: Invalid TCP message". The streams are all messed up, restarting server, harvester doesn't help.

Versions:
Node: 0.8.20
Installed via npm install.
exports.config = {
nodeName: "server1",
logStreams: {
app1: [ "/var/log/app1/current" ],
app2: [ "/var/log/app2/current" ]
},
server: {
host: '192.168.128.146',
port: 28777
}
}

Let me know if you need more info.

Problem installing log.io on ubuntu 12.04

Hi.

I just tried to install log io for the first time and I get this :

npm ERR! error installing [email protected]
npm ERR! error rolling back [email protected] Error: UNKNOWN, unknown error '/usr/local/lib/node_modules/log.io/node_modules/jquery/node_modules/jsdom'
npm ERR! error installing [email protected]

npm ERR! Error: ENOENT, no such file or directory '/usr/local/lib/node_modules/log.io/node_modules/jquery/node_modules/jsdom/node_modules/___cssom.npm/package/.gitmodules'
npm ERR! You may report this log at:
npm ERR! http://bugs.debian.org/npm
npm ERR! or use
npm ERR! reportbug --attach /home/jamengual/npm-debug.log npm
npm ERR!
npm ERR! System Linux 3.7.10-linode49
npm ERR! command "node" "/usr/bin/npm" "install" "-g" "log.io"
npm ERR! cwd /home/jamengual
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! path /usr/local/lib/node_modules/log.io/node_modules/jquery/node_modules/jsdom/node_modules/___cssom.npm/package/.gitmodules
npm ERR! fstream_path /usr/local/lib/node_modules/log.io/node_modules/jquery/node_modules/jsdom/node_modules/___cssom.npm/package/.gitmodules
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! fstream_finish_call chmod
npm ERR! code ENOENT
npm ERR! message ENOENT, no such file or directory '/usr/local/lib/node_modules/log.io/node_modules/jquery/node_modules/jsdom/node_modules/___cssom.npm/package/.gitmodules'
npm ERR! errno {}
npm ERR! fstream_stack Object.oncomplete (/usr/lib/nodejs/fstream/lib/writer.js:285:17)

npm ERR! Error: ENOENT, no such file or directory '/usr/local/lib/node_modules/log.io/node_modules/jquery/node_modules/jsdom/node_modules/___cssstyle.npm/package/README.md'
npm ERR! You may report this log at:
npm ERR! http://bugs.debian.org/npm
npm ERR! or use
npm ERR! reportbug --attach /home/jamengual/npm-debug.log npm
npm ERR!
npm ERR! System Linux 3.7.10-linode49
npm ERR! command "node" "/usr/bin/npm" "install" "-g" "log.io"
npm ERR! cwd /home/jamengual
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! path /usr/local/lib/node_modules/log.io/node_modules/jquery/node_modules/jsdom/node_modules/___cssstyle.npm/package/README.md
npm ERR! fstream_path /usr/local/lib/node_modules/log.io/node_modules/jquery/node_modules/jsdom/node_modules/___cssstyle.npm/package/README.md
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! message ENOENT, no such file or directory '/usr/local/lib/node_modules/log.io/node_modules/jquery/node_modules/jsdom/node_modules/___cssstyle.npm/package/README.md'
npm ERR! errno {}
npm ERR! fstream_stack Object.oncomplete (/usr/lib/nodejs/fstream/lib/writer.js:204:26)
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/jamengual/npm-debug.log
npm not ok

It says to report that as a bug to ubuntu but not sure is is related to log.io only.

Thanks.

npm ERR! Unsupported Required: {"node":">= 0.4.1 < 0.5.0"} Actual: {"npm":"1.1.0-3","node":"0.6.10"}

m ERR! error installing [email protected]
npm ERR! error rolling back [email protected] Error: UNKNOWN, unknown error '/usr/local/lib/node_modules/log.io'

npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: [email protected]
npm ERR! Required: {"node":">= 0.4.1 < 0.5.0"}
npm ERR! Actual: {"npm":"1.1.0-3","node":"0.6.10"}
npm ERR!
npm ERR! System Linux 2.6.32-5-686
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "--prefix=/usr/local" "log.io"
npm ERR! cwd /root/tar/node-v0.6.10
npm ERR! node -v v0.6.10
npm ERR! npm -v 1.1.0-3
npm ERR! code ENOTSUP
npm ERR! message Unsupported
npm ERR! errno {}

Harvester fails to connect if server is not already running

When a harvester starts and there is no server listening, the harvester tries to "reconnect" repeatedly without success even if the server starts later. I have tested that with server and harvester being on localhost and server and harvester being on two different machines with the same results.

Checking one specific log file on the client make the harvester to reconnect without any error message

To help understand my explanation here is a little definitions:

  • Server 1 (S1)
    • Log.io server (LS1)
    • Log.io harvester (LH1)
  • Server 2 (S2)
    • Log.io harvester (LS2)

So I have on server S1 with locally running one harvester LH1 and one Log.io server LS1, and another server S2 with an harvester LH2. There isn't a lot of data since I'm just trying Log.io. Everything works perfectly in the client interface, except ONE log file on S2. When I check this log file, I see that I checked it ([Sun Sep 30 2012 10:23:38] INFO: Enabling log file: stream_sc_serv) but immediately after the S2 representative pannel with the list of log files on the left disappear and reappear with everything unchecked and colors changed.
If I don't check it, I see the little dot flashing (I have no more than 2 messages per second in this log file) indicating that there are new messages in this log file (when there are), but as soon as I check it to display the messages in a "Stream", it reloads the section attached to that harvester LH2 on S2, unchecking everything and not allowing me to see any message of course.

The other log files for the save server are working as expected.

Here are some example log lines from that log file (labelled stream_sc_serv in the harvester) making the harvester to reconnect:

2012-09-30 10:40:57     E       msg:[DST 64.12.243.203:63127 sid=1] Socket error while waiting to send data. err=Broken pipe(32)
2012-09-30 10:40:57     I       msg:[DST 64.12.243.203:63127 sid=1] SHOUTcast 1 client connection closed (1 seconds) [Bytes: 65536] Agent: `SHOUTcast Metadata Puller'
2012-09-30 10:40:58     E       msg:[DST 90.84.144.127:15742 sid=1] Timeout waiting to send data (1348994458 1348994428[30] )
2012-09-30 10:40:58     I       msg:[DST 90.84.144.127:15742 sid=1] SHOUTcast 1 client connection closed (42 seconds) [Bytes: 78184] Agent: `NSPlayer/4.1.0.3925'
2012-09-30 10:41:05     I       msg:[DST 205.188.202.172:43734 sid=1] SHOUTcast 1 client connection accepted. SHOUTcast Metadata Puller
2012-09-30 10:41:06     I       msg:[DST 64.12.243.206:4343 sid=1] SHOUTcast 1 client connection accepted. SHOUTcast Metadata Puller
2012-09-30 10:41:06     E       msg:[DST 205.188.202.172:43734 sid=1] Socket error while waiting to send data. err=Broken pipe(32)
2012-09-30 10:41:06     I       msg:[DST 205.188.202.172:43734 sid=1] SHOUTcast 1 client connection closed (1 seconds) [Bytes: 73728] Agent: `SHOUTcast Metadata Puller'
2012-09-30 10:41:06     E       msg:[DST 64.12.243.206:4343 sid=1] Socket error while waiting to send data. err=Broken pipe(32)
2012-09-30 10:41:06     I       msg:[DST 64.12.243.206:4343 sid=1] SHOUTcast 1 client connection closed (0 seconds) [Bytes: 73307] Agent: `SHOUTcast Metadata Puller'
2012-09-30 10:41:15     I       msg:[DST 62.35.11.205:52920 sid=1] SHOUTcast 1 client connection accepted. NSPlayer/4.1.0.3925
2012-09-30 10:41:18     I       msg:[DST 197.251.131.62:50320 sid=1] SHOUTcast 1 client connection accepted. TuneIn Radio
2012-09-30 10:41:26     I       msg:[DST 64.12.243.206:5418 sid=1] SHOUTcast 1 client connection accepted. SHOUTcast Metadata Puller
2012-09-30 10:41:26     E       msg:[DST 62.35.11.205:52920 sid=1] Socket error while waiting to send data. err=Broken pipe(32)
2012-09-30 10:41:26     I       msg:[DST 62.35.11.205:52920 sid=1] SHOUTcast 1 client connection closed (11 seconds) [Bytes: 432950] Agent: `NSPlayer/4.1.0.3925'
2012-09-30 10:41:27     E       msg:[DST 64.12.243.206:5418 sid=1] Socket error while waiting to send data. err=Broken pipe(32)
2012-09-30 10:41:27     I       msg:[DST 64.12.243.206:5418 sid=1] SHOUTcast 1 client connection closed (1 seconds) [Bytes: 73728] Agent: `SHOUTcast Metadata Puller'

And here are the log lines of the harvester responsible to harvest this stream_sc_serv file (and others):

[Sun Sep 30 2012 10:22:30] INFO: Received server heartbeat
[Sun Sep 30 2012 10:22:50] INFO: Received server heartbeat
[Sun Sep 30 2012 10:23:09] INFO: Watching 5 log files,  sent 6 log messages.
[Sun Sep 30 2012 10:23:10] INFO: Received server heartbeat
[Sun Sep 30 2012 10:23:20] INFO: Enabling log file: stream_sc_trans
[Sun Sep 30 2012 10:23:30] INFO: Received server heartbeat
[Sun Sep 30 2012 10:23:34] INFO: Watching: /var/log/log.io/harvester.log (logio_harvester)
[Sun Sep 30 2012 10:23:34] INFO: Watching: /var/log/fail2ban.log (system_fail2ban)
[Sun Sep 30 2012 10:23:34] INFO: Watching: /var/log/auth.log (system_auth)
[Sun Sep 30 2012 10:23:34] INFO: Watching: /home/webradio/log/sc_serv.log (stream_sc_serv)
[Sun Sep 30 2012 10:23:34] INFO: Watching: /home/webradio/log/sc_trans.log (stream_sc_trans)
[Sun Sep 30 2012 10:23:34] INFO: Connected to server, sending announcement...
[Sun Sep 30 2012 10:23:38] INFO: Enabling log file: stream_sc_serv
[Sun Sep 30 2012 10:23:40] INFO: Watching: /var/log/log.io/harvester.log (logio_harvester)
[Sun Sep 30 2012 10:23:40] INFO: Watching: /var/log/fail2ban.log (system_fail2ban)
[Sun Sep 30 2012 10:23:40] INFO: Watching: /var/log/auth.log (system_auth)
[Sun Sep 30 2012 10:23:40] INFO: Watching: /home/webradio/log/sc_serv.log (stream_sc_serv)
[Sun Sep 30 2012 10:23:40] INFO: Watching: /home/webradio/log/sc_trans.log (stream_sc_trans)
[Sun Sep 30 2012 10:23:40] INFO: Connected to server, sending announcement...
[Sun Sep 30 2012 10:23:50] INFO: Received server heartbeat

Log.io not reading logs created by forever

Heyo,

I have two node.js scripts running with the forever module, and I'd like to use log.io to track their logs, but it doesn't seem to be pushing any messages through. I've set up the /etc/log.io/harvester.conf correctly, but still no go.

Here's my forever list:

Forever list

Here's my harvester.conf

/* Log.io log harvester configuration */

exports.config = {

  // Log server host & port
  server: {
    host: '127.0.0.1',
    port: 8998,
  },

  // Watch the following log files, defined by label:path mappings
  log_file_paths: {
    haraka: '/root/sendtodropbox/prod/logs/haraka.log',
    queue: '/root/sendtodropbox/prod/logs/queue.log',
  },

  // Define name of current machine.
  // Alternatively, you can set this name in /etc/profile:
  // export LOGIO_HARVESTER_INSTANCE_NAME='my_log_machine'
  // If so, comment out the line below
  instance_name : 'sendtodropbox'

}

The harvester / server connect seems to work fine:

snap

Now I know there are messages being appended to these logs. If I tail -f the log files, there's a ton of activity. For some reason its just not being pushed through the harvester. I've started and stoped the log.io server and harvester multiple times to see if that was an issue, but it didn't seem to help.

Any ideas?

Thanks,

Ralph

Installation failure with node 0.6.15 due to connect 1.7.1

On lucid32 with chrislea PPA:

# npm config set unsafe-perm true
# npm install -g --prefix=/usr/local log.io
npm http GET https://registry.npmjs.org/log.io
npm http 200 https://registry.npmjs.org/log.io
npm http GET https://registry.npmjs.org/log.io/-/log.io-0.2.1.tgz
npm http 200 https://registry.npmjs.org/log.io/-/log.io-0.2.1.tgz
npm http GET https://registry.npmjs.org/forever/0.6.7
npm http GET https://registry.npmjs.org/socket.io/0.8.4
npm http GET https://registry.npmjs.org/socket.io-client/0.8.4
npm http GET https://registry.npmjs.org/connect/1.7.1
npm http GET https://registry.npmjs.org/underscore/1.1.7
npm http 200 https://registry.npmjs.org/underscore/1.1.7
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz
npm http 200 https://registry.npmjs.org/forever/0.6.7
npm http 200 https://registry.npmjs.org/socket.io/0.8.4
npm http 200 https://registry.npmjs.org/connect/1.7.1
npm http GET https://registry.npmjs.org/forever/-/forever-0.6.7.tgz
npm http GET https://registry.npmjs.org/socket.io/-/socket.io-0.8.4.tgz
npm http GET https://registry.npmjs.org/connect/-/connect-1.7.1.tgz
npm http 200 https://registry.npmjs.org/socket.io-client/0.8.4
npm http GET https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.8.4.tgz
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz
npm http 200 https://registry.npmjs.org/forever/-/forever-0.6.7.tgz
npm http 200 https://registry.npmjs.org/socket.io/-/socket.io-0.8.4.tgz
npm http 200 https://registry.npmjs.org/connect/-/connect-1.7.1.tgz
npm http 200 https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.8.4.tgz
npm WARN excluding symbolic link lib/socket.io-client.js -> io.js
npm ERR! error rolling back [email protected] Error: ENOTEMPTY, rmdir '/usr/local/lib/node_modules/log.io'

npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: [email protected]
npm ERR! Required: {"node":">= 0.4.1 < 0.5.0"}
npm ERR! Actual:   {"npm":"1.1.16","node":"0.6.15"}
npm ERR! 
npm ERR! System Linux 2.6.32-40-generic
npm ERR! command "node" "/usr/bin/npm" "install" "-g" "--prefix=/usr/local" "log.io"
npm ERR! cwd /root
npm ERR! node -v v0.6.15
npm ERR! npm -v 1.1.16
npm ERR! code ENOTSUP
npm ERR! message Unsupported
npm ERR! errno {}
npm http GET https://registry.npmjs.org/policyfile/0.0.4
npm http GET https://registry.npmjs.org/redis/0.6.6
npm http GET https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/cliff
npm http GET https://registry.npmjs.org/eyes
npm http GET https://registry.npmjs.org/daemon
npm http GET https://registry.npmjs.org/mkdirp
npm http GET https://registry.npmjs.org/nconf
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/pkginfo
npm http GET https://registry.npmjs.org/portfinder
npm http GET https://registry.npmjs.org/timespan
npm http GET https://registry.npmjs.org/winston
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /root/npm-debug.log

Checking out from source fails because you require node to be <= 0.6.11. Still fighting my way to install my way around that: I'm still new with Node.

Access via hostname gives me no log

First, great work!

So, if i conect to the server machine named conne or via it IP (192.168.1.2) i get a log.io loaded but with no log.

If i acess thought 127.0.0.1 from the machine then i get all the logs...

Is it a bug?

periods (.) in harvester instance names

I have an interesting issue here.

If you put periods in the harvester instance name, the log files do not display on the web interface at all. Though, if you replace the periods with underscores, the problem disappears and everything works as intended.

Thanks

--Amrit

cannot get /

I followed the latest Ubuntu build recipe step by step with no known issues. When I attempt to access the log.io interface at http://servername:8998 I get "cannot get /"

When starting server --

Starting Log.io server...
Launching forever process...
info: Forever processing file: /usr/local/bin/log.io-server
Done.
Done.

When starting harvester --
Starting Log.io harvester...
Launching forever process...
info: Forever processing file: /usr/local/bin/log.io-harvester
Done.
Done.

Nothing is appearing in the system logs, log.io harvester or server logs.

If I start log.io via "/usr/local/bin/log.io-server start" I get "info - socket.io started". It doesn't appear that the server is listening on the port. If I start the server, then start the harvester via command "log.io-harvester start" it tells me that it's trying to find the server repeatedly.

Why is root required for install?

I have no particular need to create a special user for this to run as; it'd be just fine to run it as my current user. Why is this so hardcoded to require root?

I understand having an install script to set it up in the traditional setup, but it seems a little odd that I cant' just install it as a normal user without all that extra stuff. nothing requiring creating a new user or root access should ever be required to run something like this.

Log.io send an 403 forbidden header

When I try to access the log.io server I get a 403 forbidden header back. Even with basic auth turned off. And no other settings changed. All the latest versions of the npm packages, and it is installed on Ubuntu server.

I don't know if this is some version of a dependency or something. Couldn't find anything in the source code atleast. And I get no good debug info.

Help appreciated!

listen on port 80

How I can listen on port 80, actually I have apache and nginx listening in port 80 with2 ip's, I got a new address ip for log.io but I don't know how I can setup my ip address or an hostname on server.conf

Keeping track of reconnecting harvesters

Upon, disconnect and reconnect of harvester, its check box states aren't restored. Colors previously assigned to old session are not released. Clicking the check boxes assigns and uses up new colors.

social media plugin

We are finding issues where users are unable to easily share log messages with their friends and family.
This issue could be fixed by including a button that will send a given log message to my twitter feed and facebook status.

Server always binds on default interface 0.0.0.0

The log.io server currently always binds on the default interface of 0.0.0.0 with no option to change the listening host in the configuration files.

At the very least, it would be quite useful to be able to just bind the server to 127.0.0.1 (localhost) for security purposes.

Handle changing log file names

If the name of a log file is changing frequently (e.g. daily), is there a way to still harvest such files?
Log.io doesn't seem to like symlinks.

Log.io isn't writing to it's own log files

Running on Amazon x64 AMI and I've had a few hiccups along the way (wouldn't install with latest version of node, failed to create logio user, requires +rx directory permissions for files you want to stream), but it's definitely working. Except that Log.io's own log files are completely blank.

Crypting logs

Is there a possibility to crypt logs when sent over TCP?

NPM Installation Fails

I'm running on an Amazon x64 AMI and the npm installation process fails because it's unable to create the logio user (unknown --disable-password flag). Simply creating the user manually (useradd logio) and re-running the script seems to work.

Show history

In the previous version of the software, there was the option to show some lines of the file logged previously. It was a very useful feature and I hope it will come up again in a future release.

IE 9 gets blank screen

When log.io is configured on a machine pointing IE 9 browser at it get only the bottom info from the page.
Just the +stream +history buttons (grayed out) and the updates status section. No harvesters to configure, no stream windows
and no history windows.

This is probably has to do with jquery 1.4.2 but that is just a guess.

install.sh ignore --prefix

Hey

The bin/install.sh ignore my --prefix /usr/local/node option so I get some errors at the end of the install process and must do some things manually.

regards
ralph

basic auth not working

Hi,

this is my web_server.conf:

exports.config = {
  host: '0.0.0.0',
  port: 28778,


  // Enable HTTP Basic Authentication
  auth: {
    user: "test",
    pass: "password"
  },


  /*
  // Enable HTTPS/SSL
  ssl: {
    key: '/path/to/privatekey.pem',
    cert: '/path/to/certificate.pem'
  },
  */

  /*
  // Restrict access to websocket (socket.io)
  // Uses socket.io 'origins' syntax
  restrictSocket: '*:*',
  */

  /*
  // Restrict access to http server (express)
  restrictHTTP: [
    "192.168.29.39",
    "10.0.*"
  ]
  */

}

But when I access the log.io webserver, no username or password is required. The server shows up like without auth. Of course I have restarted the server after changing the conf file. What is wrong?

installing error - due to "node-fork"

I successfully installed node-v0.4.12 & npm 1.0.106 but I GET THIS ERROR when install log.io.
Thanks a lot for your help!

root@ubuntu:# npm config set unsafe-perm true
root@ubuntu:
# npm install -g --prefix=/usr/local log.io
npm ERR! git clone git://github.com/bmeck/node-fork.git defaulting to local stor age area
npm ERR! git clone git://github.com/bmeck/node-fork.git fatal: protocol error: e xpected sha/ref, got 'ERR
npm ERR! git clone git://github.com/bmeck/node-fork.git Your Git client has ma de an invalid request:
npm ERR! git clone git://github.com/bmeck/node-fork.git 0029git-upload-pack /b meck/node-fork.git
npm ERR! git clone git://github.com/bmeck/node-fork.git
npm ERR! git clone git://github.com/bmeck/node-fork.git Email [email protected] om for help'
npm ERR! git clone git://github.com/bmeck/node-fork.git clone-pack from 'git://g ithub.com/bmeck/node-fork.git' failed.
npm ERR! error installing [email protected] Error: git "clone" "git://github.com/bm eck/node-fork.git" "/tmp/npm-1328578324395/1328578335811-0.7981387770269066" fa iled with 1
npm ERR! error installing [email protected] at ChildProcess. (/usr/lo cal/lib/node_modules/npm/lib/utils/exec.js:49:20)
npm ERR! error installing [email protected] at ChildProcess.emit (events.js:67:1 7)
npm ERR! error installing [email protected] at ChildProcess.onexit (child_proces s.js:192:12)
npm ERR! error installing [email protected] Error: git "clone" "git://github.com/bme ck/node-fork.git" "/tmp/npm-1328578324395/1328578335811-0.7981387770269066" fai led with 1
npm ERR! error installing [email protected] at ChildProcess. (/usr/loc al/lib/node_modules/npm/lib/utils/exec.js:49:20)
npm ERR! error installing [email protected] at ChildProcess.emit (events.js:67:17 )
npm ERR! error installing [email protected] at ChildProcess.onexit (child_process .js:192:12)
npm ERR! Error: git "clone" "git://github.com/bmeck/node-fork.git" "/tmp/npm-13 28578324395/1328578335811-0.7981387770269066" failed with 1
npm ERR! at ChildProcess. (/usr/local/lib/node_modules/npm/lib/ut ils/exec.js:49:20)
npm ERR! at ChildProcess.emit (events.js:67:17)
npm ERR! at ChildProcess.onexit (child_process.js:192:12)
npm ERR! Report this entire log at:
npm ERR! http://github.com/isaacs/npm/issues
npm ERR! or email it to:
npm ERR! [email protected]
npm ERR!
npm ERR! System Linux 2.6.15-23-server
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "--prefix=/usr/local " "log.io"
npm ERR! cwd /root
npm ERR! node -v v0.4.12
npm ERR! npm -v 1.0.106
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /root/npm-debug.log
npm not ok

get nodeName for harvester from fqdn

The nodeName in the harvester.conf should be optional, with the default using the FQDN of the machine.
This would ease autodeployment of the harvester in a cluster of similar servers.

Not enough colors

The application is complaining about that there is not enough colors to display all logs that I want to.

Harvester crash with mysql.log

I have ~700 messages/sec but when I check my mysql.log file on log.io, harvester server crash, I need to restart it to see all my log on log.io.
On all of my servers when I check this file, harvester crash.

List of nodes and streams in web client becomes corrupted (0.3.0)

I have five machines running. One with the log.io-server and a log.io-harvester, four only with a log.io-harvester.

When I start the server and afterwards the five harvesters everything looks fine. But after a while (some minutes). The names of the streams and nodes start becoming corrupted:

  • empty list elements appear
  • names are cut (i. e. "ar0037002" becomes "ar0", "mongodb" becomes "mo")
  • some nodes or streams disappear completely

With time going on things get worse.

Refreshing the browser window does not help. I have to restart the server and sometimes also the harvesters.

Bug, feature or me?

Remember interface layout

It would be awesome if there was a possibility of remembering the log stream/history setup in the web interface.

Now, whenever I refresh the page, I have the default 1 stream/history window without any logs enabled.

Unable to show anything on web.

I have installed and "sudo ./install/server" and "sudo /etc/init.d/log.io-harvester start" but I don't see the left menu as in the sample (http://logio.org:8998/). my thing has only empty menu

Result of cat /var/log/log.io/server.log

info - 14:40:09 - Nodes: 0, WebClients: 0, Messages Sent: 0

Result of /var/log/log.io/harvester.log

14:40:19 - Watching: /var/log/log.io/harvester.log (logio_harvester)

ps -A | grep log:
1906 ? 00:00:00 log-server

the configuration is:
cat /etc/log.io/server.conf
/* Log.io log server configuration */

exports.config = {

// Log server port
port: 8998,

// Uncomment to enable basic HTTP authentication
/*
basic_auth: {
username: "foo",
password: "bar"
}
*/
}

cat /etc/log.io/harvester.conf
/* Log.io log harvester configuration */

exports.config = {

// Log server host & port
server: {
host: '127.0.0.1',
port: 8998,
},

// Watch the following log files, defined by label:path mappings
log_file_paths: {
logio_harvester: '/var/log/log.io/harvester.log'
},

// Define name of current machine.
// Alternatively, you can set this name in /etc/profile:
// export LOGIO_HARVESTER_INSTANCE_NAME='my_log_machine'
// If so, comment out the line below
instance_name : 'log_node_1'

}

any idea?

Node 0.8

Any chance of getting log.io support for node 0.8? it was released today.

-mddubs

https

Awesome program. Any chance of ssl connections being added.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.