All Projects → pathivu → Pathivu

pathivu / Pathivu

Licence: apache-2.0
An efficient log ingestion and log aggregation system https://pathivu.io/

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Pathivu

Testlogcollectors
A framework for capturing log statements during tests. Compatible with most popular logging frameworks. Works with JUnit and TestNG
Stars: ✭ 31 (-78.77%)
Mutual labels:  logging, logs
Log Pilot
Collect logs for docker containers
Stars: ✭ 1,112 (+661.64%)
Mutual labels:  logging, fluentd
Fluent Bit Go Loki
[Deprecated] The predessor of fluent-bit output plugin for Loki. https://github.com/grafana/loki
Stars: ✭ 38 (-73.97%)
Mutual labels:  cloud-native, fluentd
Fluentd
Log shipping mechanism for Deis Workflow
Stars: ✭ 10 (-93.15%)
Mutual labels:  logging, fluentd
Systemdlogger
Exports systemd logs to an external service, eg cloudwatch, elasticsearch
Stars: ✭ 91 (-37.67%)
Mutual labels:  logging, logs
Gollum
An n:m message multiplexer written in Go
Stars: ✭ 883 (+504.79%)
Mutual labels:  logging, logs
Ios Sdk
AppSpector is a debugging service for mobile apps
Stars: ✭ 56 (-61.64%)
Mutual labels:  logging, logs
Faster
Fast persistent recoverable log and key-value store + cache, in C# and C++.
Stars: ✭ 4,846 (+3219.18%)
Mutual labels:  indexing, logging
React Native Logs
Performance-aware simple logger for React-Native with namespaces, custom levels and custom transports (colored console, file writing, etc.)
Stars: ✭ 84 (-42.47%)
Mutual labels:  logging, logs
Kail
kubernetes log viewer
Stars: ✭ 1,259 (+762.33%)
Mutual labels:  logging, logs
Logbook
An extensible Java library for HTTP request and response logging
Stars: ✭ 822 (+463.01%)
Mutual labels:  logging, logs
Fluentd
Fluentd: Unified Logging Layer (project under CNCF)
Stars: ✭ 10,807 (+7302.05%)
Mutual labels:  logging, fluentd
Loghouse
Ready to use log management solution for Kubernetes storing data in ClickHouse and providing web UI.
Stars: ✭ 805 (+451.37%)
Mutual labels:  logs, fluentd
Cartus
A structured logging abstraction with multiple backends.
Stars: ✭ 21 (-85.62%)
Mutual labels:  logging, logs
Cabin
🌲 Cabin is the best JavaScript and Node.js logging service and logging npm package
Stars: ✭ 622 (+326.03%)
Mutual labels:  logging, logs
Serverless Es Logs
A Serverless plugin to transport logs to ElasticSearch
Stars: ✭ 51 (-65.07%)
Mutual labels:  logging, logs
Ckss Certified Kubernetes Security Specialist
This repository is a collection of resources to prepare for the Certified Kubernetes Security Specialist (CKSS) exam.
Stars: ✭ 333 (+128.08%)
Mutual labels:  cloud-native, logging
Go Syslog
Blazing fast syslog parser
Stars: ✭ 370 (+153.42%)
Mutual labels:  logging, logs
Logvac
Simple, lightweight, api-driven log aggregation service with realtime push capabilities and historical persistence.
Stars: ✭ 61 (-58.22%)
Mutual labels:  logging, logs
Zoya
Truly highly composable logging utility
Stars: ✭ 116 (-20.55%)
Mutual labels:  logging, logs

Pathivu: Logs you can search

Pathivu is a powerful and lightweight log ingestion and aggregation system. It offers cost-efficiency and high throughput without trading away log indexing. It is perfect for cloud native workloads.

Index



Highlights

  • [X] Fast Ingestion
  • [ ] Beautiful dashboard*
  • [X] Log tailing
  • [X] Log indexing
  • [X] Cost-Efficient
  • [X] Intuitive query language
  • [X] Multi-threaded log ingestion
  • [X] Structured logging replayer
  • [X] Log retention


Architecture

A fluentd service running on a Kubernetes node can be used to ship logs to the Pathivu server. The server then exposes two types of interfaces, namely web and CLI. The following are the components of Pathivu:

  • Pathivu server: A high performant log ingestion server where you can ingest logs at terabyte scale and query logs in efficient way, with both HTTP(s) as well as gRPC endpoints available. Read more about it here

  • Katchi CLI: Katchi is the command line interface for Pathivu. Read more about it here

  • Pathivu Web: It is a web based user interface for interacting with Pathivu. It makes the querying experience simplistic and intuitive. Read more about it here

Pathivu Architecture



Pathivu Server

Pathivu server is a high performant log ingestion server where you can ingest logs at terabyte scale and query logs in efficient way, with both HTTP(s) as well as gRPC endpoints available. It offers a gRPC service for fast log ingestion and an HTTP(s) backend for log querying and aggregation. By default, log ingestion runs on gRPC port 6180 and querying on HTTP(s) port 5180.

Pathivu server has a fluentd connector that can be used to ship logs to pathivu from a Kubernetes node. For more information on architecture, see this.



Pathivu Web

Pathivu Web is a web based user interface for interacting with Pathivu. It makes the querying experience simplistic and intuitive. You can use Pathivu's simplistic query language to interact with the server right from your browser.

Pathivu Web



Katchi

Katchi CLI can be used to interact with the pathivu server instance. It has the following functionalities:

  • [X] Log service discovery
  • [X] Querying
  • [X] Tailing
  • [X] Log output

For example, the distinct command also provides a feature to count the number of distinct logs matched. It is a very powerful query which can handle data at a terabyte scale. For the following JSON, the distinct(level)command will give you a list of all distinct levels in the logs.

{
  "data": [
    {
      "ts": 3,
      "entry": {
        "details": {
          "error_code": "500",
          "message": "Invalid URI"
        },
        "level": "warn",
        "from": "backend"
      },
      "source": "demo"
    },
    {
      "ts": 2,
      "entry": {
        "details": {
          "error_code": "500",
          "message": "Error connecting to database"
        },
        "level": "fatal",
        "from": "app"
      },
      "source": "demo"
    }
  ]
}

So the output will look something like this:

{
  "data": [
    "fatal",
    "warn"
  ]
}

Katchi connects to your pathivu server instance for live log tailing as well as viewing a log snapshot. It can be triggered in the following way:

$ katchi logs --host=http://localhost:5180
APP: kube-addon-manager-minikube, ts: 2019-11-18 00:06:58 +0530 IST, line: INFO: == Kubernetes addon reconcile completed at 2019-11-17T18:36:58+00:00 ==
 
APP: kube-addon-manager-minikube, ts: 2019-11-18 00:07:02 +0530 IST, line: INFO: Leader election disabled.
 
APP: kube-addon-manager-minikube, ts: 2019-11-18 00:07:03 +0530 IST, line: INFO: == Kubernetes addon ensure completed at 2019-11-17T18:37:03+00:00 ==
 
APP: kube-addon-manager-minikube, ts: 2019-11-18 00:07:03 +0530 IST, line: INFO: == Reconciling with deprecated label ==
 
APP: kube-addon-manager-minikube, ts: 2019-11-18 00:07:03 +0530 IST, line: error: no objects passed to apply

Learn more about Katchi here



Usage

Pathivu can be deployed to your own kubernetes cluster, just follow the steps mentioned below.

# Create a namespace
kubectl create -f https://raw.githubusercontent.com/pathivu/pathivu/master/kubernetes/debug/namespace.yaml


# Create pathivu service
kubectl create -f https://raw.githubusercontent.com/pathivu/pathivu/master/kubernetes/debug/service.yaml

# Create pathivu deployment
kubectl create -f https://raw.githubusercontent.com/pathivu/pathivu/master/kubernetes/debug/deployment.yaml

Pathivu has an internal fluentd connector that can be used for log ingestion. The following command initialized the connector and starts shipping your service logs to pathivu.

kubectl create -f https://raw.githubusercontent.com/pathivu/pathivu/master/kubernetes/debug/fluentd.yaml


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].