本文介绍使用Nginx在Ubuntu 18.04系统上安装Observium网络监控工具的方法。Observium专注于为你的网络健康和状态提供功能强大且简单直观的界面,由PHP、MariaDB和Nginx/Apache Web服务器提供支持。同时也可以关注一下LibreNMS(使用Letsencrypt和Nginx在CentOS下安装LibreNMS监视工具),它是Observium的一个分支。
一、安装PHP和所需的模块 Ubuntu 18.04在其存储库中有PHP 7.2,通过在终端上运行以下命令来安装它: sudo apt-get -y install wget php php-pear php-cgi php-common php-curl \ php-mbstring php-gd php-mysql php-gettext php-bcmath \ php-imap php-json php-xml php-snmp php-fpm php-zip 要确认安装的php版本,请使用php -v命令。 参考:在Ubuntu 18.04或CentOS 7系统上安装PHP 7.3。 然后配置并启动PHP-FPM,确保在php.ini中将date.timezone设置为你的首选时区。 编辑两个文件: sudo vim /etc/php/7.2/fpm/php.ini sudo vim /etc/php/7.2/cli/php.ini 在[Date]部分下更改date.timezone: [Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Shanghai 重启php fpm: sudo systemctl restart php7.2-fpm.service
二、安装Nginx Web服务器 对于此设置,我们将使用Nginx作为Observium的Web服务器,通过运行以下命令安装它: sudo apt-get install nginx 确保它在启动时启用: sudo systemctl enable nginx
三、安装和配置MariaDB 按照我们的文章在Ubuntu 18.04上安装MariaDB,参考在Ubuntu 18.04系统上安装MariaDB 10.4的步骤。 完成安装后,为Observium创建数据库和用户。 Observium与MySQL严格模式不完全兼容,目前,请在安装mysql后禁用它: sudo vim /etc/mysql/mariadb.cnf 在[mysqld]部分中,请添加: innodb_file_per_table=1 sql-mode="" lower_case_table_names=0 然后重启mysql sudo systemctl restart mysql 安装并配置数据库服务器后,需要为Observium创建数据库: create database observium; grant all privileges on observium.* to observium@localhost IDENTIFIED by "StrongPassword"; flush privileges; quit
四、下载并安装Observium 安装wget: sudo apt-get install wget 添加observium系统用户: sudo useradd -r -M -d /opt/observium observium 现在将此用户添加到Web用户组www-data: sudo usermod -a -G observium www-data 完成后,继续安装Observium所需的软件包: sudo apt-get update sudo apt install rrdtool whois fping imagemagick graphviz \ mtr-tiny nmap python-mysqldb snmp snmpd python-memcache mtr-tiny acl 下载Observium社区版并将其解压缩: cd /opt wget http://www.observium.org/observium-community-latest.tar.gz tar xvf observium-community-latest.tar.gz rm observium-community-latest.tar.gz 切换到observium目录并创建配置文件: sudo cp /opt/observium/config.php.default /opt/observium/config.php 编辑文件以设置数据库连接: sudo vim /opt/observium/config.php 设置如下: / Database config --- This MUST be configured $config['db_extension'] = 'mysqli'; $config['db_host'] = 'localhost'; $config['db_user'] = 'observium'; $config['db_pass'] = 'StrongPassword'; $config['db_name'] = 'observium'; 创建rrd和logs目录: sudo mkdir /opt/observium/{rrd,logs} 更改目录的权限: sudo chown -R observium:observium /opt/observium/ sudo chmod -R 775 /opt/observium/ 接下来配置snmpd,复制snmpd示例文件: sudo cp /opt/observium/snmpd.conf.example /etc/snmp/snmpd.conf 配置字符串: sudo vim /etc/snmp/snmpd.conf com2sec readonly default 0bs3rv1um 重启snmpd: sudo systemctl restart snmpd
五、配置Nginx 让我们为Nginx创建VirtualHost定义以加载Observium Web界面: 运行:$ sudo vim /etc/nginx/conf.d/observium.conf server { listen 80; server_name observium.example.com; root /opt/observium/html; index index.php; charset utf-8; gzip on; gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon; location / { try_files $uri $uri/ /index.php?$query_string; } location /api/v0 { try_files $uri $uri/ /api_v0.php?$query_string; } location ~ \.php { include fastcgi.conf; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; } location ~ /\.ht { deny all; } } 检查语法: $ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful 如果一切正常,请重新启动nginx: sudo systemctl restart nginx
六、在Web UI上配置Observium 导入MySQL方案: cd /opt/observium ./discovery.php -u 输出如下信息: # php ./discovery.php -u
添加管理员用户,添加用户以访问Observium门户,可以添加多个用户: # cd /opt/observium # ./adduser.php admin AdminPass 10 Observium CE 17.9.0 Add User User admin added successfully. # ./adduser.php jmutai password 10 Observium CE 17.9.0 Add User User jmutai added successfully. 注:10是最高级别的访问。 现在打开Web浏览器并启动安装程序,所配置的网址如http://observium.example.com:
然后使用配置的管理员用户和密码登录Observium控制中心,至此,安装及配置Observium全部完成了。
相关主题 |