proginoskes
Monitor your infrastructure in real time using ssh to centralize a stream of log events
install
To install npm install proginoskes
configuration
The available configuration sections and options.
global
: Anything defined here is applied to all defined hostshost
: A host name defined here will work as a defined hostport
: The default is 22 and is applied to all hosts unless explicitly definedusername
: A username defined here will apply to all hostspassword
: A password defined here will also apply to all hostsprivateKey
: The path to a private ssh key (also applies to all defined hosts)logs
: An array of logs to monitor for all defined hostshosts
: The recommended method of includinghost
definitionshost
: The name or IP of machine to apply log monitoring streamsport
: The SSH port for this particular host, uses globalport
option if omittedusername
: The username for access, also uses the globalusername
option if omittedpassword
: The password for access, again, uses the globalpassword
option if omittedprivateKey
: The path to an SSH private key to use with this host. Will also use anything defined in globalprivateKey
if omittedlogs
: An array of logs to monitor for this host. Adds to anything defined in globallogs
array
Example
var options = global: port: 22 username: 'root' privateKey: './path/to/global/privatekey' logs: '/var/log/ufw.log' hosts: host: 'host-1.example' privateKey: './path/to/host-1.example/privatekey' logs: '/var/log/snort/snort.log' host: 'host-2.example' port: 2222 username: 'iamroot' privateKey: './path/to/host-2.example/privatekey' host: 'host-3.example' password: 'secret-sauce' logs: '/var/log/iptables.log' ;
usage
Once you have a good configuration with at least one defined host to monitor usage is easy.
Example
var cherubum = ; cherubum;
returned object
The returned object(s) are simple, but makes it easy to determine source.
Example
javascript
[ { server: 'server-1',
log: '/var/log/ufw.log',
data: 'Jan 9 07:24:12 node kernel: [UFW BLOCK] IN=eth0 OUT= MAC=52:54:00:12:34:56:52:55:0a:00:02:02:08:00 SRC=192.168.2.8 DST=10.0.2.15 LEN=44 TOS=0x00 PREC=0x00 TTL=64 ID=1593 PROTO=TCP SPT=60948 DPT=443 WINDOW=8760 RES=0x00 SYN URGP=0' },
{ server: 'server-2',
log: 'access-logs/some-site.com',
data: 'xxx.xxx.xxx.xxx - - [09/Jan/2015:08:23:13 -0600] "POST /wp-cron.php?doing_wp_cron=1420813393.8197140693664550781250 HTTP/1.0" 200 - "-" "WordPress/4.0.1; http://some-site.com"' } ]