Turn Your Vehicle Into a Smart Earning Asset

While you’re not driving your car or bike, it can still be working for you. MOTOSHARE helps you earn passive income by connecting your vehicle with trusted renters in your city.

🚗 You set the rental price
🔐 Secure bookings with verified renters
📍 Track your vehicle with GPS integration
💰 Start earning within 48 hours

Join as a Partner Today

It’s simple, safe, and rewarding. Your vehicle. Your rules. Your earnings.

icinga tutorials: How to monitor Docker using icinga agent

Monitoring Docker containers on an Ubuntu server using Icinga involves setting up the Icinga agent to execute Docker-specific monitoring checks and configuring the Icinga server to process and display these checks. Here is a step-by-step guide to achieve this.

Step 1: Install Docker Monitoring Plugin

On the Icinga Agent Server: You need to have a plugin that can monitor Docker. One common choice is the check_docker plugin, which can be found on GitHub. You will have to manually download and install this plugin.

$ cd /usr/lib/nagios/plugins
$ sudo wget https://exchange.icinga.com/elacheche/Docker%20containers%20check/files/12915/docker_check.py
$ sudo chmod +x docker_check.py

Install Python and Docker SDK for Python: The check_docker plugin requires Python and the Docker SDK for Python.

$ sudo apt-get update
$ sudo apt-get install python3 python3-pip
$ sudo pip3 install docker

Code language: JavaScript (javascript)

Step 2: Configure Icinga Agent

Add Command Definitions: You need to define a command in Icinga for the Docker check. Create or edit a configuration file in the Icinga agent:

sudo nano /etc/icinga2/conf.d/commands.conf
Add the following definition:

object CheckCommand "docker_check" {
    command = [ "/usr/bin/python3", "/usr/lib/nagios/plugins/docker_check.py" ]
    arguments = {
        "--containers" = "$docker_containers$"
        "--stats" = "$docker_stats$"
    }
}Code language: JavaScript (javascript)

Step 3: Configure Icinga Server

Define Host Object: If not already done, define the host object for the Docker server in your Icinga server configuration:

object Host "docker-server" {
    import "generic-host"
    address = "docker-agent-ip"
    check_command = "hostalive"
}

Define Service for Docker Monitoring: Create a service definition to monitor Docker:

apply Service "docker-status" {
    import "generic-service"
    check_command = "docker_check"
    vars.docker_containers = "all"
    vars.docker_stats = "true"
    assign where host.name == "docker-server"
}

Reload Icinga 2: After configuring the service and command, reload Icinga 2 to apply the changes:

$ sudo systemctl reload icinga2Code language: JavaScript (javascript)

Step 4: Verify the Configuration

Icinga Web 2: Log into Icinga Web 2 and check the 'Services' section. You should see your new service for monitoring Docker. Ensure that it is reporting the status of Docker containers as expected.

Troubleshooting: If the checks aren't working as expected, look at the logs in /var/log/icinga2/icinga2.log for any errors. Check the permissions of the check_docker.py script and ensure that the Icinga user can execute it and has access to Docker via the Docker group.Code language: JavaScript (javascript)
Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments

Certification Courses

DevOpsSchool has introduced a series of professional certification courses designed to enhance your skills and expertise in cutting-edge technologies and methodologies. Whether you are aiming to excel in development, security, or operations, these certifications provide a comprehensive learning experience. Explore the following programs:

DevOps Certification, SRE Certification, and DevSecOps Certification by DevOpsSchool

Explore our DevOps Certification, SRE Certification, and DevSecOps Certification programs at DevOpsSchool. Gain the expertise needed to excel in your career with hands-on training and globally recognized certifications.

0
Would love your thoughts, please comment.x
()
x