Skip to content

Extensible log shipper with input/output plugins, buffering, parsing, data masking, and small memory/CPU footprint

License

Notifications You must be signed in to change notification settings

sematext/logagent-js

Folders and files

NameName
Last commit message
Last commit date
Aug 1, 2024
Sep 14, 2022
Nov 28, 2022
Jun 25, 2021
Jun 29, 2021
Sep 8, 2017
Oct 16, 2017
Aug 11, 2020
Sep 25, 2023
Jun 25, 2021
Oct 12, 2020
Oct 12, 2020
Jun 22, 2021
May 24, 2023
Nov 27, 2020
Oct 9, 2023
Jul 9, 2016
Jul 9, 2016
Apr 26, 2019
Feb 9, 2016
May 30, 2019
Sep 8, 2017
Oct 9, 2023
Oct 9, 2023
Mar 30, 2021
Apr 7, 2020

Repository files navigation

Build Status Deploy - read more

What is Logagent

Logagent is a modern, open-source, light-weight log shipper. It is like Filebeat and Logstash in one, without the JVM memory footprint. It comes with out of the box and extensible log parsing, on-disk buffering, secure transport, and bulk indexing to Elasticsearch, Sematext Logs, and other destinations. Its low memory footprint and low CPU overhead make it suitable for deploying on edge nodes and devices, while its ability to parse and structure logs makes it a great Logstash alternative.

Docker

Details about the the Logagent Docker image are described in the Docker Hub Readme

Installation

1) Install Node.js

Official Node.js downloads and instructions. E.g. for Debian/Ubuntu:

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
Install Logagent with npm
sudo npm i -g @sematext/logagent

2) Run logagent command line tool

logagent --help

3) Example: Index your log files in Elasticsearch

logagent -e http://localhost:9200 -i logs -g ‘/var/log/**/*.log’

4) Optional: Install service & config

Install service for Logagent using systemd, upstart, launchd To quickly create a config file for indexing into Elasticsearch without having to edit it run something like this:

sudo logagent-setup -u http://localhost:9200 -i INDEX_NAME -g '/var/log/**/*.log'
# Logsene US: use -u https://logsene-receiver.sematext.com and your Logsene App Token as index name.
# Logsene EU: use -u https://logsene-receiver.eu.sematext.com and your Logsene App Token as index name.

Configuration

To configure different inputs, different event processing, or different outputs (e.g. your own Elasticsearch) edit /etc/sematext/logagent.conf, e.g.:

output:
  logsene:
    module: elasticsearch
    url: http://elasticsearch-server:9200
    index: logs

Then restart the service with sudo service logagent restart. Troubleshooting & Logs Logagent’s own logs:

  • Upstart: /var/log/upstart/logagent.log
  • Systemd: journalctl -u logagent
  • Launchd: /Library/Logs/logagent.log

Location of service scripts:

  • Upstart: /etc/init/logagent.conf
  • Systemd: /etc/systemd/system/logagent.service
  • Launchd: /Library/LaunchDaemons/com.sematext.logagent.plist

Start/stop service:

  • Upstart: service logagent stop/start
  • Systemd: systemctl stop/start logagent
  • Launchd: launchctl start/stop com.sematext.logagent

Documentation & Support

Development

  • Update to the last node version
  • From root folder node type: node ./bin/logagent -h
  • To test from root folder type: node test