本文介绍在Ubuntu 18.04系统上安装Icinga2监视工具的方法,使用Icinga 2可以监控:服务器资源、网络服务、网络设备。
简介
Icinga 2是一个开源,可扩展和可扩展的监视工具,可检查网络资源的可用性,通知用户中断,并生成用于报告的性能数据,Icinga 2可以监控多个位置的大型复杂环境,并具有名为Icinga Web 2的Web界面。
使用Icinga 2可以监控:
服务器资源:RAM使用率,CPU负载,磁盘使用情况。
网络服务:HTTP,HTTPS,SMTP,IMAP,POP3,NNTP。
网络设备:路由器和交换机。
Icinga 2提供的主要功能:
性能导向:Icinga 2采用多线程设计,每秒可以运行数千次检查,没有任何CPU应变迹象。
分布式体系结构:IFor大型复杂环境执行具有高可用性的分布式设置。
REST API:Icinga 2提供RESTful API,使你可以动态更新配置或显示有关自定义仪表板上当前问题的实时信息。
基于规则的配置:使用动态配置监控代码,将规则应用于主机和服务以创建连续监视环境。
警报:当通过电子邮件,短信或移动消息应用程序发生问题时,您会立即收到通知。
Icinga 2对Graphite和InfluxDB有本机支持,可以轻松地将收集的性能数据直接发送到第三方工具。
Icinga 2支持NagiosGrapher,PNP4Nagios和InGraph插件。
在Ubuntu 18.04 LTS上安装Icinga2
让我们开始在Ubuntu 18.04 LTS服务器上实际安装Icinga2。
第1步:更新系统
运行以下命令更新系统:
sudo apt-get update
sudo apt-get upgrade
sudo reboot
第2步:安装Apache和PHP
Icinga 2需要在托管服务器上安装Web服务器和PHP,运行以下命令:
sudo apt-get install php php-{xml,cli,opcache,gd,intl,readline,mysql,curl,mbstring,ldap,json}
安装apache2和libapache2-mod-php模块:
sudo apt-get install apache2 libapache2-mod-php
配置php时区:
$ sudo vim /etc/php/7.2/apache2/php.ini
date.timezone = Asia/Shanghai
重启apache2服务:
sudo systemctl restart apache2
第3步:安装和配置MariaDB
完成安装后,以root用户身份登录数据库并创建数据库和用户:
$ mysql -u root -p
创建数据库和用户:
CREATE DATABASE icinga2_db;
GRANT ALL PRIVILEGES on icinga2_db.* to 'icinga2_user'@'localhost' identified by 'StrongPassword';
FLUSH PRIVILEGES;
quit
另外,为Icinga web 2做同样的事情:
CREATE DATABASE icingaweb2_db;
GRANT ALL PRIVILEGES on icingaweb2_db.* to 'icingaweb2_user'@'localhost' identified by 'StrongPassword';
FLUSH PRIVILEGES;
第4步:安装Icinga2和Icinga Web 2
首先导入repo GPG密钥:
curl -sSL https://packages.icinga.com/icinga.key | sudo apt-key add -
添加apt存储库:
echo "deb https://packages.icinga.com/ubuntu icinga-bionic main" | sudo tee /etc/apt/sources.list.d/icinga.list
运行包列表更新并安装Icinga2包
sudo apt-get install icinga2 icingaweb2 icinga2-ido-mysql
当被问及Icinga 2是否应该使用MySQL时,回答yes:
Enable Icinga 2's ido-mysql feature? YES
Configure database for icinga2-ido-mysql with dbconfig-common? NO
1、配置Icinga 2后端
完成后,启用ido-mysql和命令功能:
sudo icinga2 feature enable command ido-mysql
然后在进行更改后重新启动icinga2:
sudo systemctl restart icinga2.service
导入数据库架构:
mysql -u root icinga2_db -p < /usr/share/icinga2-ido-mysql/schema/mysql.sql
使用创建的数据库和用户帐户配置Icinga2 MySQL IDO:
sudo vim /etc/icinga2/features-enabled/ido-mysql.conf
进行如下更改:
/**
* The db_ido_mysql library implements IDO functionality
* for MySQL.
*/
library "db_ido_mysql"
object IdoMysqlConnection "ido-mysql" {
user = "icinga2_user",
password = "StrongPassword",
host = "localhost",
database = "icinga2_db"
}
保存更改后重新启动icinga2服务:
sudo systemctl restart icinga2
2、在Web Interface上配置Icinga2
需要创建一个用于Web配置的token:
$ sudo icingacli setup token create
The newly generated setup token is: 75e269c261a15615
记下给定的ID,在Web浏览器上,打开并显示以下URL:
http://serverdomain/icingaweb2或http://server-ip-address/icingaweb2
将带您进入配置向导页面:
提供生成的token ID,然后单击下一步。
在下一页上,选择要启用的模块,然后单击下一步。
下一页将检查是否已安装所有PHP模块。
在下一页上,选择Authentication type,默认为MySQL。
提供MySQL数据库设置。
在监控IDO资源页面上,提供先前配置的Icinga2数据库设置。
请在下面定义如何将命令发送到监控实例:
配置监控安全性及配置管理员用户:
完成设置以获取登录页面,输入之前创建的admin帐户用户名和密码:
3、配置Icinga 2主节点
# icinga2 node wizard
Welcome to the Icinga 2 Setup Wizard!
We will guide you through all required configuration details.
Please specify if this is a satellite/client setup ('n' installs a master setup) [Y/n]: n
Starting the Master setup routine...
Please specify the common name (CN) [ubuntu-01]: icinga2-master
Reconfiguring Icinga...
Checking for existing certificates for common name 'icinga2-master'...
Certificates not yet generated. Running 'api setup' now.
Generating master configuration for Icinga 2.
Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect.
Please specify the API bind host/port (optional):
Bind Host []: 0.0.0.0
Bind Port []:
Done.
现在重新启动你的Icinga 2守护进程完成安装:
sudo systemctl restart icinga2.service
要在主节点上为客户端生成ticket,请使用syntax:
# icinga2 pki ticket --cn 'clientname'
至此,全部配置完成。
相关主题