Skip to content
/ fikkie Public

🔥 The easiest tool for lightweight monitoring over SSH, compatible with all your favorite messengers!

License

Notifications You must be signed in to change notification settings

nootr/fikkie

Repository files navigation

🔥 Fikkie

The easiest tool for lightweight monitoring over SSH, compatible with all your favorite messengers!

CI/CD Coverage Status PyPI license PyPi version Downloads Docker pulls Code style: black Python versions Checked with mypy

Quick links

Introduction

Why use fikkie?

  • Fikkie is easy to set up
  • Fikkie is lightweight
  • Fikkie is flexible and could be used to monitor any service
  • Fikkie notifies you using your favorite messaging service (e.g. e-mail, Discord or Telegram)

You just need one single YAML file to configure fikkie, so simply specify which commands should be run on which servers and what output is expected, and fikkie will let you know when something's wrong.

Installation

Install fikkie using pip and initialize fikkie:

pip install fikkie
fikkie init

Or use Docker!

docker run \
  --mount type=bind,source=${PWD}/config.yaml,target=/root/.fikkie/config.yaml \
  nootr/fikkie

Config example

The fikkie configuration file is placed at ~/.fikkie/config.yaml by default and could look something like this:

servers:
  primary.foo.com:
    - description: 'MariaDB status'
      command: 'sudo systemctl status mariadb | grep "Active: active" -c'
      expected: '1'
    - description: 'HTTP code foo.com'
      command: 'curl -s -o /dev/null -w "%{http_code}" foo.com'
      expected: '200'

notifiers:
  - type: telegram
    token: '1234:abcd'
    chat_id: 1234

Contributing

Contributions to fikkie are more than welcome! ❤️

Please visit the contribution guidelines for more info. Also, the Developer's guide might be useful if you want to contribute code.