HEPipe (hep-pipe) is a simple powerful tool to monitor files (logs, events, cdrs, etc), extract and ship arbitrary rows with a matching correlation field to a HEP server such as HOMER or PCAPTURE using HEP Type 100
- Status: Experimental
npm install
Application parameters for HEP and LOGS monitoring in config.js
Each LOGS entry defines a log path and a (regex) rule to match/extract the proper correlation ID from rows
Nov 19 22:05:36 ams2 /usr/sbin/kamailio[1067]: INFO: Sending reply, fs='udp:127.0.0.1:5060' - ID=11876453@127.0.1.1
- Regex Filter:
ID=([^&]\\S*) - Correlation ID:
11876453@127.0.1.1 - HEP Output:
rcinfo = { type: 'HEP', version: 3, payload_type: '100', captureId: '2001', capturePass: 'myHep', ... correlation_id: '11876453@127.0.1.1', payload: { msg: 'Nov 19 22:05:36 ams2 /usr/sbin/kamailio[1067]: INFO: Sending reply, fs='udp:127.0.0.1:5060' - ID=11876453@127.0.1.1' } }
Nov 19 22:05:36 ams2 (daemon.info) rtpengine[2812]: [11876453@127.0.1.1] ------ Media #1 (audio over RTP/AVP) using PCMA/8000
- Regex Filter:
\\[.*].*\\[(.*)\\] - Correlation ID:
11876453@127.0.1.1 - HEP Output:
rcinfo = { type: 'HEP', version: 3, payload_type: '100', captureId: '2002', capturePass: 'myHep', ... correlation_id: '11876453@127.0.1.1', payload: { msg: 'Nov 19 22:05:36 ams2 (daemon.info) rtpengine[2812]: [11876453@127.0.1.1] ------ Media #1 (audio over RTP/AVP) using PCMA/8000' } }
npm run forever
That's all! If you matched your strings right, HEP logs are being shipped out!
Contributions to our projects are always welcome! If you intend to participate and help us improve our software, we kindly ask you to sign a CLA (Contributor License Agreement) and coordinate at best with the existing team via the homer-dev mailing list.