Repolode
pika-monitor

pika-monitor/pika

Lightweight probe monitoring system in Go that tracks server metrics, HTTP/TCP/ICMP service checks, and Linux security baselines.

Open-source alternative to:Uptime RobotDatadog

Stars
681
Forks
87
Open issues
4
Last commit
last month

What is it?

Pika is a probe-based monitoring system. Probes installed on servers push metrics to the central server over WebSocket. Time-series data is stored in VictoriaMetrics, while business data such as users and configuration lives in PostgreSQL or SQLite.

Beyond resource monitoring, Pika covers service availability with HTTP(S), TCP and ICMP checks, including certificate expiry detection. It also includes tamper protection that watches files with fsnotify and patrols immutable attributes, and a security audit module that builds an asset inventory and grades risks as Critical, High, Medium or Low.

The project ships with Docker Compose files for SQLite and PostgreSQL deployments. Authentication supports Basic Auth with bcrypt, OIDC and GitHub OAuth.

Key features

  • 01Real-time CPU, memory, disk, network, GPU and temperature metrics with multi-range history
  • 02HTTP(S), TCP and ICMP service checks with certificate expiry detection
  • 03File tamper protection using fsnotify and immutable attribute patrol, with alerts
  • 04Asset inventory and security audit with risk grading and audit history
  • 05Basic Auth, OIDC and GitHub OAuth login
  • 06Docker Compose deployment with SQLite or PostgreSQL

Use cases

  • Monitoring the resource usage and availability of a small fleet of Linux servers
  • Watching websites and APIs for downtime and upcoming TLS certificate expiry
  • Detecting unexpected changes to critical configuration files on hosts
  • Running periodic security baseline checks and tracking risk history for servers

Quick start

  1. 1

    Download the SQLite compose file

    curl -O https://raw.githubusercontent.com/pika-monitor/pika/main/docker-compose.sqlite.yml
  2. 2

    Download the SQLite config file

    curl -o config.yaml https://raw.githubusercontent.com/pika-monitor/pika/main/config.sqlite.yaml
  3. 3

    Edit config.yaml to change the JWT secret and admin password

  4. 4

    Start the stack and open http://localhost:8080

    docker compose -f docker-compose.sqlite.yml up -d

Things to know

  • Requires Docker 20.10+ and Docker Compose.
  • Default admin credentials (admin / admin123) must be changed before exposing the server.

In collections

Topics

FAQ

What is pika?
Lightweight probe monitoring system in Go that tracks server metrics, HTTP/TCP/ICMP service checks, and Linux security baselines. Pika is a probe-based monitoring system. Probes installed on servers push metrics to the central server over WebSocket. Time-series data is stored in VictoriaMetrics, while business data such as users and configuration lives in PostgreSQL or SQLite.
Is pika free to use? What license does it have?
pika is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is pika still maintained?
Updated within 6 months. The last commit to pika was on Oct 3, 2026.
What can I use pika for?
Monitoring the resource usage and availability of a small fleet of Linux servers Watching websites and APIs for downtime and upcoming TLS certificate expiry Detecting unexpected changes to critical configuration files on hosts Running periodic security baseline checks and tracking risk history for servers
How do I install pika?
Download the SQLite compose file: curl -O https://raw.githubusercontent.com/pika-monitor/pika/main/docker-compose.sqlite.yml Download the SQLite config file: curl -o config.yaml https://raw.githubusercontent.com/pika-monitor/pika/main/config.sqlite.yaml Edit config.yaml to change the JWT secret and admin password Start the stack and open http://localhost:8080: docker compose -f docker-compose.sqlite.yml up -d
Where can I get pika?
The source code and installation instructions are on GitHub: https://github.com/pika-monitor/pika

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects