npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, πŸ‘‹, I’m Ryan HefnerΒ  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you πŸ™

Β© 2024 – Pkg Stats / Ryan Hefner

@remie/nagios-cli

v1.3.3

Published

Nagios Core + Docker + TypeScript = πŸ€”πŸ˜ŠπŸ˜

Downloads

67

Readme

Nagios Core + Docker + TypeScript = πŸ€”πŸ˜ŠπŸ˜

The goal of this project is to cross the bridge between IT operations staff that are using Nagios for systems monitoring and developers that create the applications that need monitoring.

In my entire professional life, I've never seen any developer actively contributing to a Nagios configuration. To me, that does not make sense as systems and application monitoring should be an integral part of the development cycle. As such, this should be a shared responsibility between IT operations staff and developers.

To accomplish this, we need to make sure that developers actually understand the Nagios configuration and feel comfortable contributing to it. What better way to do this than to turn Nagios configuration development into the same experience as developing any other application by using a present day technology stack and the same development best practices they are accustomed to.

That technology stack ended up being NodeJS+TypeSript, a custom CLI and Nagios running on Docker, hence the project title!

The project enables developers to run npm test and npm start like they would with any other application and have it validate the Nagios configuration and start a Nagios instance respectively. Although the project is still in BETA, that goal has been met.

Getting started

Prerequisites

In order to start creating your Nagios configuration using TypeScript, you will need to install the following prerequisites:

  • NodeJS 6.4+
  • Docker

Installation

The best way to start is to install the NPM package globally:

npm install -g @remie/nagios-cli

Afterwards, create a new folder in your workspace (e.g. ~/my-nagios-project/) and type:

cd ~/my-nagios-project
nagios-cli init

This will copy an example project which you can use to start creating your own Nagios configuration with hosts, host groups and services.

If you run npm start you will be able to see the outcome of the example project. It will start Nagios which will be accessible from http://localhost:8000/nagios with default username nagiosadmin and password nagiosadmin.

If you want to start creating your own object definitions, look at the Decorators & Interfaces and Object classes pages.

Example project

You can also learn a lot by looking at the example project code, which you can find here. This project will show you how to use the abstract classes and TypeScript decorators to create your own configuration.

πŸŽ‰πŸŽ‰ Acknowledgements πŸŽ‰πŸŽ‰

A big shoutout to the development team of Guidion, which served as a guinee pig for this project. They provided real-life examples, good discussions on architecture and a clear direction on what a developer would expect out of working with Nagios.

Like any other tech company, they are always looking for good people. If you fancy working in an inspiring environment that incubated this project, check out their career site (sorry, dutch site only).