Introducing DevOpsFetch: A Comprehensive Server Monitoring Tool

RMAG news

Welcome to DevOpsFetch! This is a Bash tool designed to streamline the process of retrieving and monitoring server information. With DevOpsFetch, you can easily display active ports, user logins, Nginx configurations, Docker images, and container statuses. Additionally, the tool includes a systemd service for continuous monitoring and logging, ensuring your server remains under constant observation.

Table of Contents

Features

Installation

Dependencies
Setup

Usage

Display Active Ports
Port Information
Docker Information
Nginx Information
User Logins
Time Range Activities

Logging

Help

Full Script Code

Features

DevOpsFetch offers a suite of features to help you monitor and manage your server effectively:

Display all active ports and services
Provide detailed information about a specific port
List all Docker images and containers
Provide detailed information about a specific Docker container
Display all Nginx domains and their ports
Provide detailed configuration information for a specific Nginx domain
List all users and their last login times
Provide detailed information about a specific user
Display activities within a specified time range
Continuous monitoring and logging with log rotation

Installation

Dependencies

Before you begin, ensure the following packages are installed on your system:

net-tools for netstat

docker.io
nginx
jq
finger

Setup

Clone the repository:

git clone https://github.com/AugustHottie/devopsfetch-stage5a.git
cd devopsfetch

Run the installation script to set up dependencies and the systemd service:

sudo ./install.sh

This script will install the necessary dependencies, set up the devopsfetch command, and enable the devopsfetch systemd service.

Usage

Command-line Options

-p, –port : Display all active ports and services.

-p <port_number> : Display detailed information about a specific port.

-d, –docker : List all Docker images and containers.

-d <container_name> : Display detailed information about a specific Docker container.

-n, –nginx : Display all Nginx domains and their ports.

-n <domain> : Display detailed configuration information for a specific Nginx domain.

-u, –users : List all users and their last login times.

-u <username> : Display detailed information about a specific user.

-t, –time <start> <end> : Display activities within a specified time range.

-h, –help : Display usage instructions.

Display Active Ports

To display all active ports and services, run:

./devopsfetch.sh -p

Port Information

To provide detailed information about a specific port, run:

./devopsfetch.sh -p <port_number>

Example:

./devopsfetch.sh -p 80

Docker Information

To list all Docker images and containers, run:

./devopsfetch.sh -d

To provide detailed information about a specific Docker container, run:

./devopsfetch.sh -d <container_name>

Example:

./devopsfetch.sh -d my_container

Nginx Information

To display all Nginx domains and their ports, run:

./devopsfetch.sh -n

To provide detailed configuration information for a specific Nginx domain, run:

./devopsfetch.sh -n <domain>

Example:

./devopsfetch.sh -n example.com

User Logins

To list all users and their last login times, run:

./devopsfetch.sh -u

To provide detailed information about a specific user, run:

./devopsfetch.sh -u <username>

Example:

./devopsfetch.sh -u myuser

Time Range Activities

To display activities within a specified time range, run:

./devopsfetch.sh -t “<start_time>” “<end_time>”

Example:

./devopsfetch.sh -t “2024-07-21 00:00:00” “2024-07-22 00:00:00”

Logging

Logs are stored in the /var/log/devopsfetch.log directory. Log rotation is implemented to manage log file size. Logs are rotated daily, keeping up to 7 days of logs.

Help

To display the help message with usage instructions, run:

./devopsfetch.sh -h

Full Script Code

To view the full script code, check my GitHub repo: DevOpsFetch GitHub Repository

By following this guide, you should be able to effectively install, configure, and use DevOpsFetch to monitor your server. For any issues or questions, refer to the comment section or consult the script documentation on my GitHub. Happy monitoring!🔍🚀

Please follow and like us:
Pin Share