在 Ubuntu 16.04 上使用 Shinken 进行服务器监控在 Ubuntu 16.04 上使用 Shinken 进行服务器监控在 Ubuntu 16.04 上使用 Shinken 进行服务器监控在 Ubuntu 16.04 上使用 Shinken 进行服务器监控
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

在 Ubuntu 16.04 上使用 Shinken 进行服务器监控

在此页

  1. 第 1 步 - 安装 Shinken 服务器
  2. 第 2 步 - 安装 Shinken Webui2
  3. 第 3 步 - 安装 Nagios 插件和 Shinken 包
  4. 第 4 步 - 添加新的 Linux 主机/host-one
  5. 第 5 步 - 访问 Shinken Webui2
  6. 第 6 步 - Shinken 的常见问题
  7. 参考资料

Shinken 是一个用 python 编写并与 Nagios 兼容的开源计算机和网络监控框架。 Shinken 可以在所有可以运行 python 应用程序的操作系统上使用,如 Linux、Unix 和 Windows。 Shinken 由 Jean Gabes 编写,作为新 Nagios 架构的概念证明,但被 Nagios 作者拒绝并成为与 Nagios 保持兼容的独立网络和系统监控工具。

在本教程中,我将向您展示如何从源代码安装 Shinken 并将 Linux 主机添加到监控系统。我将使用 Ubuntu 16.04 Xenial Xerus 作为 Shinken 服务器和监控主机的操作系统。

第 1 步 - 安装 Shinken 服务器

Shinken是一个python框架,我们可以用pip安装,也可以源码安装。在这一步中,我们将从源代码安装 Shinken。

在我们开始安装 Shinken 之前,有一些任务必须完成。

安装一些新的 python 包并创建名为 \shinken\ 的 Linux 用户:

sudo apt-get install python-setuptools python-pip python-pycurl
useradd -m -s /bin/bash shinken

从 GitHub 存储库下载 Shinken 源代码:

git clone https://github.com/naparuba/shinken.git
cd shinken/

然后使用以下命令安装 Shinken:

git checkout 2.4.3
python setup.py install

接下来,为了获得更好的效果,我们需要从 ubuntu 存储库安装 python-cherrypy3:

sudo apt-get install python-cherrypy3

现在 Shinken 安装好了,接下来我们添加 Shinken 在开机时启动并启动它:

update-rc.d shinken defaults
systemctl start shinken

第 2 步 - 安装 Shinken Webui2

Webui2 是 Shinken.io 提供的 Shinken 网络界面。安装 Sshinken webui2 的最简单方法是使用 shinken CLI 命令(必须以 shinken 用户身份执行)。

登录 shinken 用户:

su - shinken

初始化 shinken 配置文件 - 该命令将创建一个新的配置 .shinken.ini:

shinken --init

并使用这个 shinken CLI 命令安装 webui2:

shinken install webui2

Webui2 已经安装,但是我们需要用 pip 安装 MongoDB 和另一个 python 包。以 root 身份运行以下命令:

sudo apt-get install mongodb
pip install pymongo>=3.0.3 requests arrow bottle==0.12.8

接下来,转到 shinken 目录并通过编辑 broker-master.cfg 文件添加新的 webui2 模块:

cd /etc/shinken/brokers/
vim broker-master.cfg

在第 40 行的模块内添加一个新选项:

modules     webui2

保存文件并退出编辑器。

现在转到联系人目录并为管理配置编辑文件 admin.cfg。

cd /etc/shinken/contacts/
vim admin.cfg

更改如下所示的值:

contact_name    admin       # Username 'admin'
password        yourpass    # Pass 'mypass'

保存并退出。

第 3 步 - 安装 Nagios 插件和 Shinken 包

在这一步中,我们将安装 Nagios-plugins 和一些 Perl 模块。然后从 shinken.io 安装额外的 shinken 包来执行监控。

安装构建和安装 Perl 模块所需的 Nagios 插件和 cpanminus:

sudo apt-get install nagios-plugins* cpanminus

使用 cpanm 命令安装这些 Perl 模块:

cpanm Net::SNMP
cpanm Time::HiRes
cpanm DBI

现在为 utils.pm 文件创建新链接以缩小目录并为 Log_File_Health 创建一个新目录:

chmod u+s /usr/lib/nagios/plugins/check_icmp
ln -s /usr/lib/nagios/plugins/utils.pm /var/lib/shinken/libexec/
mkdir -p /var/log/rhosts/
touch /var/log/rhosts/remote-hosts.log

接下来,安装 shinken 包 ssh 和 linux-snmp 以监控来自 shinken.io 的 SSH 和 SNMP 源:

su - shinken
shinken install ssh
shinken install linux-snmp

第 4 步 - 添加新的 Linux 主机/host-one

我们将添加一个新的 Linux 主机,该主机应使用 IP 地址为 192.168.1.121 且主机名为 host-one 的 Ubuntu 16.04 服务器进行监控。

连接到 Linux 主机一:

ssh 

从 Ubuntu 存储库安装 snmp 和 snmpd 包:

sudo apt-get install snmp snmpd

接下来,用 vim 编辑配置文件 snmpd.conf:

vim /etc/snmp/snmpd.conf

注释第 15 行并取消注释第 17 行:

#agentAddress  udp:127.0.0.1:161
agentAddress udp:161,udp6:[::1]:161

注释第 51 和 53 行,然后在下面添加新行配置:

#rocommunity mypass  default    -V systemonly
#rocommunity6 mypass  default   -V systemonly

rocommunity mypass

保存并退出。

现在使用 systemctl 命令启动 snmpd 服务:

systemctl start snmpd

转到 shinken 服务器并通过在 hosts 目录中创建一个新文件来定义新主机。

cd /etc/shinken/hosts/
vim host-one.cfg

下面粘贴配置:

define host{
        use                 generic-host,linux-snmp,ssh
        contact_groups      admins
        host_name           host-one
        address             192.168.1.121
        _SNMPCOMMUNITY      mypass        # SNMP Pass Config on snmpd.conf
    }

保存并退出。

在 Shinken 服务器上编辑 SNMP 配置:

vim /etc/shinken/resource.d/snmp.cfg

将 public 更改为 mypass - 必须与您在客户端 host-one 上的 snmpd 配置文件中使用的密码相同。

$SNMPCOMMUNITYREAD$=mypass

保存并退出。

现在重启两台服务器——Shinken 服务器和被监控的 Linux 主机:

reboot

新的Linux主机已成功添加到Shinken服务器。

第 5 步 - 访问 Shinken Webui2

在 7677 端口访问 Shinken webui2(将 URL 中的 IP 替换为您的 IP):

使用用户 admin 和您的密码(您在 admin.cfg 配置文件中设置的密码)登录。

Webui2 中的 Shinken 仪表板。

我们的 2 台服务器由 Shinken 监控。

列出使用 linux-snmp 监视的所有服务。

所有主机和服务的状态。

第 6 步 - Shinken 的常见问题

- NTP 服务器问题

当您使用 NTP 时出现此错误。

TimeSync - CRITICAL ( NTP CRITICAL: No response from the NTP server)
TimeSync - CRITICAL ( NTP CRITICAL: Offset unknown )

要解决此问题,请在所有 Linux 主机上安装 ntp。

sudo apt-get install ntp ntpdate

编辑ntp配置:

vim /etc/ntp.conf

评论所有池并将其替换为:

#pool 0.ubuntu.pool.ntp.org iburst
#pool 1.ubuntu.pool.ntp.org iburst
#pool 2.ubuntu.pool.ntp.org iburst
#pool 3.ubuntu.pool.ntp.org iburst

pool 0.id.pool.ntp.org
pool 1.asia.pool.ntp.org
pool 0.asia.pool.ntp.org

接下来,在 restrict 中添加一个新行:

# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict 192.168.1.120 #shinken server IP address
restrict ::1

注意:192.168.1.120 是 Shinken 服务器的 IP 地址。

保存并退出。

启动 ntp 并检查 Shinken 仪表板:

ntpd

- 未找到问题 check_netint.pl

从github仓库下载源码到shinken lib目录:

cd /var/lib/shinken/libexec/
wget https://raw.githubusercontent.com/Sysnove/shinken-plugins/master/check_netint.pl
chmod +x check_netint.pl
chown shinken:shinken check_netint.pl

- 网络使用问题

有错误信息:

ERROR : Unknown interface eth\d+

检查您的网络接口并编辑 linux-snmp 模板。

在我的 Ubuntu 服务器上,网络接口是 enp0s8,而不是 eth0,所以我得到了这个错误。

使用 vim 编辑 linux-snmp 模板包:

vim /etc/shinken/packs/linux-snmp/templates.cfg

将网络接口添加到第 24 行:

_NET_IFACES         eth\d+|em\d+|enp0s8

保存并退出。

参考

    <李>
  • http://www.roblayton.com/search/label/monitoring

©2015-2025 艾丽卡 support@alaica.com