CentOS7下部署开源网络监控工具Observium

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: CentOS7下部署开源网络监控工具Observium

Observium简单介绍


Observium是一个免费的开源网络管理和监控工具,可用于监控所有的网络设备。


Observium是用PHP编写的,使用SNMP从连接的设备收集数据并使用Web界面监视它们。


Observium支持大量的网络硬件和操作系统,包括Linux,Windows,FreeBSD,思科,戴尔,NetApp等等。


Observium提供了一个功能强大,简单易用的界面来监视网络的健康和状态


640.jpg


目前有两种不同的 observium 版本。1、Observium 社区版本是一个在 QPL 开源许可证下的免费工具,这个版本是对于较小部署的最好解决方案。该版本每6个月进行一次安全性更新。2、第2个版本是 Observium 专业版,该版本采用基于 SVN 的发布机制。会得到每日安全性更新。该工具适用于服务提供商和企业级部署

CentOS7下部署开源网络监控工具Observium


下面介绍CentOS7下部署开源网络管理和监控工具Observium 环境说明:1、CentOS7.9 VM虚拟机192.168.31.84部署Observium,作为服务端 2、CentOS7.9 VM虚拟机192.168.31.121监控主机,作为Observium的被监控设备


具体部署步骤如下


1、基础环境准备


1)关闭SELINUX


setenforce 0
sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config



2)yum源配置


wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

添加opennms-repo和remi源

yum -y install http://yum.opennms.org/repofiles/opennms-repo-stable-rhel7.noarch.rpm
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

640.jpg

640.jpg


启用remi-php72源

yum install yum-utils
yum-config-manager --enable remi-php72

640.jpg640.jpg

yum安装Observium所需组件httpd,php72,net-snmp,fping,mariadb-server,rrdtool,ipmitool等等

yum install wget.x86_64 httpd.x86_64 php.x86_64 php-opcache.x86_64 php-mysql.x86_64 php-gd.x86_64 \
            php-posix php-pear.noarch cronie.x86_64 net-snmp.x86_64 net-snmp-utils.x86_64 \
            fping.x86_64 mariadb-server.x86_64 mariadb.x86_64 MySQL-python.x86_64 rrdtool.x86_64 \
            subversion.x86_64  jwhois.x86_64 ipmitool.x86_64 graphviz.x86_64 ImageMagick.x86_64 \
            php-sodium.x86_64

640.jpg


2、下载observium社区版本最新安装包并解压


下载地址


http://www.observium.org/observium-community-latest.tar.gz


创建/opt/observium目录,并将社区版本安装包解压到此路径

mkdir -p /opt/observium && cd /opt
tar -zxf observium-community-latest.tar.gz

640.jpg


3、MariaDB数据库设置


1)MariaDB数据库服务启动,密码初始化

systemctl enable mariadb
systemctl start mariadb
/usr/bin/mysqladmin -u root password 'MySQL@2021'

2)创建observium数据库,并设置observium库的账号与密码


mysql -uroot -pMySQL@2021
CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY 'observium@2021';
exit;

640.jpg

3)修改config.php中数据库连接参数

cp config.php.default config.php
vi config.php
修改数据库的账户与密码为上面设置的mariadb的账户与密码
$config['db_user']      = 'observium';
$config['db_pass']      = 'observium@2021';

640.jpg

640.jpg

4)Insert MySQL Schema

./discovery.php -u

640.jpg


4、在config.php中添加fping工具配置

which fping
/usr/sbin/fping
vi config.php
$config['fping'] = "/usr/sbin/fping";

640.jpg

5、rrd及httpd服务相关配置

1)Create the rrd directory to store RRDs in:

cd /opt/observium
mkdir rrd
chown apache:apache rrd

2)httpd服务配置文件添加与修改

vi /etc/httpd/conf.d/observium.conf 
<VirtualHost *>
   DocumentRoot /opt/observium/html/
   ServerName  observium.domain.com
   CustomLog /opt/observium/logs/access_log combined
   ErrorLog /opt/observium/logs/error_log
   <Directory "/opt/observium/html/">
     AllowOverride All
     Options FollowSymLinks MultiViews
     Require all granted
   </Directory>
</VirtualHost>

3)Create logs directory for apache

mkdir /opt/observium/logs
chown apache:apache /opt/observium/logs

640.jpg

6、设置observium crond定时任务脚本


vi /etc/cron.d/observium
# Run a complete discovery of all devices once every 6 hours
33  */6   * * *   root    /opt/observium/discovery.php -h all >> /dev/null 2>&1
# Run automated discovery of newly added devices every 5 minutes
*/5 *     * * *   root    /opt/observium/discovery.php -h new >> /dev/null 2>&1
# Run multithreaded poller wrapper every 1 minutes
*/1 *     * * *   root    /opt/observium/poller-wrapper.py >> /dev/null 2>&1
# Run housekeeping script daily for syslog, eventlog and alert log
13 5 * * * root /opt/observium/housekeeping.php -ysel
# Run housekeeping script daily for rrds, ports, orphaned entries in the database and performance data
47 4 * * * root /opt/observium/housekeeping.php -yrptb
systemctl reload crond

640.jpg


7、web管理员用户添加并开启httpd服务

./adduser.php admin admin2021 10
systemctl enable httpd
systemctl start httpd
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload

640.jpg

8、监控主机snmpd服务安装与配置

监控主机上安装并配置snmpd服务

yum install net-snmp net-snmp-utils
systemctl enable snmpd
vi /etc/snmp/snmpd.conf

1)OID修改

原先view    systemview    included   .1.3.6.1.2.1.1
修改为
view    systemview    included   .1.3.6.1.2.1

2)系统位置信息修改

syslocation Unknown (edit /etc/snmp/snmpd.conf)
#syslocation Unknown (edit /etc/snmp/snmpd.conf)
syslocation HangZhou,Zhejiang,China
cat /etc/snmp/snmpd.conf | grep systemview
cat /etc/snmp/snmpd.conf | grep syslocation
systemctl start snmpd
netstat -anp | grep 161
firewall-cmd --permanent --zone=public --add-service=snmp
firewall-cmd --reload

640.jpg

640.jpg


9、登录web界面,并添加监控设备

640.jpg

640.jpg

640.jpg

当然你可也可以后台用命令添加

./add_device.php <hostname> <community> v2c
Do an initial discovery and polling run to populate the data for the new device:

拉取设备数据

./discovery.php -h all
./poller.php -h all

640.jpg

640.jpg

监控效果展示

640.jpg

640.jpg


640.jpg

640.jpg

10、syslog日志监控功能启用

config.php最后行加入

// Enable Syslog
$config['enable_syslog']                = 1;

640.jpg

observium服务器开启rsyslog接收,并配置接收的配置文件


640.jpg

640.jpg

640.jpg

监控主机开启rsyslog外送

vi /etc/rsyslog.conf
最后行添加
*.* @192.168.31.84
systemctl restart rsyslog

640.jpg

日志监控效果展示

640.jpg

640.png

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
JavaScript 前端开发 UED
在 JavaScript 中,异步编程和回调函数是处理非阻塞操作(如网络请求、文件读写等)的重要工具
【5月更文挑战第10天】JavaScript中的异步编程和回调函数用于处理非阻塞操作,提高应用响应性和吞吐量。异步编程通过回调函数、Promises和async/await等方式实现,避免程序因等待操作完成而阻塞。回调函数是异步操作完成后调用的函数,常用于处理网络请求等。然而,回调函数存在嵌套问题和错误处理困难,因此出现了Promises和async/await等更优解决方案。
10 3
|
12天前
|
弹性计算 运维 Shell
自动化网络扫描工具发现活跃主机
【4月更文挑战第30天】
9 0
|
12天前
|
负载均衡 网络协议 应用服务中间件
【亮剑】在Linux中构建高可用性和高性能网络服务的负载均衡工具HAProxy、Nginx和Keepalived。
【4月更文挑战第30天】本文介绍了在Linux中构建高可用性和高性能网络服务的负载均衡工具HAProxy、Nginx和Keepalived。HAProxy是一个高性能的开源TCP和HTTP负载均衡器,适合处理大量并发连接;Nginx是一个多功能Web服务器和反向代理,支持HTTP、HTTPS和TCP负载均衡,同时提供缓存和SSL功能;Keepalived用于监控和故障切换,通过VRRP实现IP热备份,保证服务连续性。文中详细阐述了如何配置这三个工具实现负载均衡,包括安装、配置文件修改和启动服务,为构建可靠的负载均衡系统提供了指导。
|
13天前
|
安全 Linux 网络安全
【专栏】Linux 网络扫描工具:一起开始nmap的探索之旅吧!
【4月更文挑战第28天】nmap, 开源网络扫描工具,用于探测主机、网络信息,包括开放端口、服务类型、OS等。本文分三部分介绍:1) nmap简介与基本原理;2) 使用方法和高级技巧,如脚本扩展;3) 实际应用,如网络安全评估、系统管理和渗透测试。学习nmap需注意合规性,持续探索新技巧,以提升网络管理与安全能力。一起开始nmap的探索之旅吧!
|
14天前
|
监控 安全 Linux
【专栏】在网络安全至关重要的今天,Linux系统中的SCP和SFTP成为安全文件传输的首选工具
【4月更文挑战第28天】在网络安全至关重要的今天,Linux系统中的SCP和SFTP成为安全文件传输的首选工具。SCP,一个基于SSH的轻量级工具,允许用户方便地在本地和远程主机间复制文件。要使用SCP,首先确保安装了OpenSSH,然后通过基本命令进行文件传输,如`scp source destination`。SFTP则提供了一个类似FTP的界面,通过`sftp`命令启动客户端,进行直观的文件操作。两者均基于SSH协议,保证数据加密。为确保安全,建议使用强密码、密钥对、禁用根用户直接登录,并配置防火墙及监控日志。了解和掌握这些工具能提升工作效率并保护数据安全。
|
14天前
|
监控 负载均衡 网络协议
|
20天前
|
存储 Linux 网络安全
centos7使用yum网络安装
这些是使用Yum进行网络安装的基本步骤。根据你的需求,你可以重复步骤3和4来安装其他软件包。请注意,执行Yum操作需要root或具有sudo权限的用户。
47 1
|
23天前
|
安全 网络安全 网络虚拟化
《计算机网络简易速速上手小册》第3章:计算机网络设备和工具(2024 最新版)
《计算机网络简易速速上手小册》第3章:计算机网络设备和工具(2024 最新版)
38 1
|
23天前
|
JavaScript Java 测试技术
基于Java的网络办公系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的网络办公系统的设计与实现(源码+lw+部署文档+讲解等)
23 0
|
26天前
|
JSON 网络协议 测试技术
【软件工具】网络性能测试工具 Iperf
【软件工具】网络性能测试工具 Iperf