nrpe server in golang

nrpe server In the first part we described how to use golang implementation of NRPE client to retrieve information from a running NRPE daemon. The library enables reusing of the existing nagios nrpe checks and integrating them into a golang monitoring-microservice. It requires NRPE daemon running on the server where the target service is running. The data collected by nrpe daemon provided by nagios plugins narrows down to server-specific parameters such as CPU/memory usage, DiskIO, network,server load and other system metrics.

golang client for nrpe

What is NRPE NRPE stands for Nagios Remote Plugin Executor. It’s a nagios plugin widely used to monitor remote Linux/Unix services or network devices. NRPE allows nagios to monitor any local resources like CPU, Memory, Load, etc by communicating with a NRPE daemon running on the remote server and listening to a port. The communication is done over TCP using the NRPE protocol. Here is a nicely put explanation of the protocol.

gomongo part 2

golang microservice on mongo inside docker Environment used in this example: host: MacOS 10.10.5 coreOS: alpha (1000.0.0) Docker: version 1.10.3 docker-compose: version 1.6.2 End-to-end example: part2 Simple microservice written in golang, reading data from mongodb, packed into docker and linked used docker-compose. In this series we will be building a very simple http REST interface on top of a small, filled with geo-data mongodb. You will see how to start thinking about things like automated deployment and continuous delivery in early stages of development.

docker networking part 2

Docker networking Environment used in this example: host: MacOS 10.10.5 coreOS: alpha (1000.0.0) Docker: version 1.10.3 part2 Hello fellow docker enthusiast! I am going to lay down some of the networking principals of docker here, with some concrete examples and detailed steps on how to see it all yourself. Throughout the article I am going to use coreOS-on-vagrant as my host for docker demo. The reason I am choosing coreOS here, is that it comes with docker pre-installed, it takes 5 minutes to start it up and it all makes it a perfect playground for docker.

docker networking part 1

Docker networking Environment used in this example: host: MacOS 10.10.5 coreOS: alpha (1000.0.0) Docker: version 1.10.3 part1 Hello fellow docker enthusiast! I am going to lay down some of the networking principals of docker here, with some concrete examples and detailed steps on how to see it all yourself. Throughout the article I am going to use coreOS-on-vagrant as my host for docker demo. The reason I am choosing coreOS here, is that it comes with docker pre-installed, it takes 5 minutes to start it up and it all makes it a perfect playground for docker.

gomongo part 1

golang microservice on mongo in docker Environment used in this example: host: MacOS 10.10.5 coreOS: alpha (1000.0.0) Docker: version 1.10.3 docker-compose: version 1.6.2 End-to-end example: part1 of simple microservice written in golang, reading data from mongodb, packed into docker and linked used docker-compose. In this series we will be building a very simple http REST interface on top of a small, filled with geo-data mongodb. You will see how to start thinking about things like automated deployment and continuous delivery in early stages of development.