Observium 网络管理平台教程

Observium 是一款成熟的网络监控和管理平台,通过 SNMP 协议自动发现和监控网络中的各种设备。它以其直观的界面和强大的自动发现能力著称,支持上千种设备类型,包括 Cisco、Juniper、Huawei、Linux 服务器等。Observium 分为社区版(免费)和专业版(付费),社区版已经具备完整的基础监控功能。本文介绍如何在搬瓦工 VPS 上部署 Observium 社区版。

一、系统要求

  • 操作系统:Ubuntu 22.04 LTS(推荐)或 Debian 12
  • 内存:最低 1GB,建议 2GB 以上
  • 磁盘:至少 20GB 可用空间(RRD 数据会持续增长)
  • 软件依赖:Apache/Nginx、PHP 8.x、MariaDB/MySQL、SNMP 工具

二、安装基础依赖

apt update
apt install libapache2-mod-php php-cli php-mysql php-gd php-snmp php-json php-curl php-pear snmp fping mariadb-server mariadb-client graphviz python3-mysqldb python3-pymysql rrdtool subversion whois mtr-tiny ipmitool -y

三、配置数据库

# 创建数据库和用户
mysql -u root <<MYSQL
CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'observium'@'localhost' IDENTIFIED BY 'ObserviumPass123';
GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost';
FLUSH PRIVILEGES;
MYSQL

四、下载安装 Observium

# 创建安装目录
mkdir -p /opt/observium && cd /opt

# 下载社区版
wget http://www.observium.org/observium-community-latest.tar.gz

# 解压
tar zxvf observium-community-latest.tar.gz

# 进入目录
cd observium

五、配置 Observium

# 复制默认配置文件
cp config.php.default config.php
nano config.php

修改数据库连接信息:

$config['db_host'] = 'localhost';
$config['db_name'] = 'observium';
$config['db_user'] = 'observium';
$config['db_pass'] = 'ObserviumPass123';

// SNMP 默认社区字符串
$config['snmp']['community'] = array('public');

// 时区设置
$config['timezone'] = 'Asia/Shanghai';

5.1 初始化数据库

./discovery.php -u

5.2 创建管理目录

mkdir -p logs rrd
chown www-data:www-data logs rrd

六、配置 Apache

cat > /etc/apache2/sites-available/observium.conf <<'EOF'

    ServerName observium.example.com
    DocumentRoot /opt/observium/html

    
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    

    ErrorLog ${APACHE_LOG_DIR}/observium_error.log
    CustomLog ${APACHE_LOG_DIR}/observium_access.log combined

EOF

a2dissite 000-default
a2ensite observium
a2enmod rewrite
systemctl reload apache2

七、创建管理员账户

cd /opt/observium
./adduser.php admin StrongAdminPass 10

参数中的 10 表示最高权限级别。

八、添加监控设备

8.1 通过命令行添加

# 添加设备(使用 SNMPv2c)
./add_device.php 192.168.1.1 public v2c

# 添加设备(使用 SNMPv3)
./add_device.php 192.168.1.1 '' v3 authPriv username authpass privpass sha aes

8.2 手动执行发现和轮询

# 发现设备信息
./discovery.php -h all

# 轮询设备数据
./poller.php -h all

九、配置定时任务

cat > /etc/cron.d/observium <<'EOF'
# 每 5 分钟执行一次发现和轮询
*/5 * * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1
*/5 * * * * root /opt/observium/poller-wrapper.py 4 >> /dev/null 2>&1

# 每天执行一次完整发现
33 2 * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1
EOF

十、配置 SNMP 告警

# 在 config.php 中添加告警配置
$config['alerts']['email']['enable'] = TRUE;
$config['alerts']['email']['default'] = "admin@example.com";
$config['email']['default_from'] = "observium@example.com";
$config['email']['backend'] = "smtp";
$config['email']['smtp_host'] = "smtp.example.com";
$config['email']['smtp_port'] = 587;

十一、Observium 与 LibreNMS 对比

  • Observium 社区版:免费但功能有限,不支持告警规则自定义,更新频率较低。适合简单的设备监控场景。
  • Observium 专业版:付费,功能更全面,支持分布式轮询、高级告警、SLA 监控等。
  • LibreNMS:完全开源免费,社区活跃,功能对标 Observium 专业版。如果需要更强大的免费方案,推荐使用 LibreNMS

十二、常见问题

12.1 设备添加失败

# 测试 SNMP 连通性
snmpwalk -v2c -c public 目标IP sysDescr

# 检查防火墙是否开放 UDP 161 端口
ufw allow 161/udp

12.2 图表不显示

# 检查 RRD 目录权限
chown -R www-data:www-data /opt/observium/rrd/

# 手动运行轮询检查错误
./poller.php -h 设备名 -d

总结

Observium 是一款界面友好、自动化程度高的网络监控平台,特别擅长自动识别和分类网络设备。对于预算有限但需要基础网络监控功能的用户,Observium 社区版是不错的起步选择。如果需要更全面的免费方案,可以考虑 LibreNMS。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的优惠,通过 bwh81.net 进入官网购买。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。