From fd682cf37f4d54cbb482a08a318061e7c9b5c530 Mon Sep 17 00:00:00 2001 From: monoadmin Date: Sat, 24 Jan 2026 02:08:49 -0800 Subject: [PATCH] Add install_snmp.sh --- install_snmp.sh | 75 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 install_snmp.sh diff --git a/install_snmp.sh b/install_snmp.sh new file mode 100644 index 0000000..4e9e552 --- /dev/null +++ b/install_snmp.sh @@ -0,0 +1,75 @@ +#!/bin/bash + +# ===== CONFIG ===== +COMMUNITY="PathCore" +LOCATION="Server Room" +CONTACT="sysadmin@pathcore.internal" +ALLOWED_IP="10.10.0.36/32" # CHANGE THIS for security +# ================== + +set -e + +if [[ $EUID -ne 0 ]]; then + echo "Please run as root" + exit 1 +fi + +echo "Detecting OS..." + +if [ -f /etc/os-release ]; then + . /etc/os-release + OS_FAMILY=$ID +else + echo "Cannot detect OS" + exit 1 +fi + +install_snmp_debian() { + apt update -y + apt install -y snmp snmpd +} + +install_snmp_rhel() { + dnf install -y net-snmp net-snmp-utils +} + +case "$OS_FAMILY" in + ubuntu|debian) + echo "Detected Debian-based OS" + install_snmp_debian + ;; + rhel|centos|rocky|almalinux|fedora) + echo "Detected RHEL-based OS" + install_snmp_rhel + ;; + *) + echo "Unsupported OS: $OS_FAMILY" + exit 1 + ;; +esac + +echo "Backing up SNMP config..." +SNMP_CONF="/etc/snmp/snmpd.conf" +cp $SNMP_CONF ${SNMP_CONF}.bak.$(date +%F-%T) + +echo "Configuring SNMP..." +cat < $SNMP_CONF +agentAddress udp:161 +rocommunity $COMMUNITY $ALLOWED_IP + +sysLocation $LOCATION +sysContact $CONTACT + +# Basic monitoring +extend uptime /usr/bin/uptime +extend df /bin/df -h +EOF + +echo "Starting and enabling SNMP..." +systemctl restart snmpd +systemctl enable snmpd + +echo +echo "SNMP setup complete ✅" +echo "Test with:" +echo "snmpwalk -v2c -c $COMMUNITY localhost system"