[Server] Ubuntu 14.04 搭建Zabbix監控伺服器


最近開始在各種場景加上網路監控,讓原本沒有辦法被看到的地方都被看到,在監控之前也試著裝了幾種不同的監控系統,比較每一種的差別之後,再依照需求進行詳細的部署,最近完成的就是眾所皆知的監控軟體 —— Zabbix,開始上班之後第一個接觸的監控系統就是Zabbix了,有做監控的地方幾乎都是Zabbix,,除了是免費的系統之外,還可以做到很多客製的功能,在監控方面也可以隨環境需求做得很仔細,仔細瞭解後才發現難怪為什麼同事們這麼愛用Zabbix。

 

首先,裝好一台Ubuntu 14.04之後就可以用apt-get直接安裝Zabbix套件

# apt-get install zabbix-server-mysql zabbix-frontend-php

再來就直接設定MySQL資料庫

# mysql -uroot -p<root_password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';
mysql> quit;

在安裝Zabbix套件時會自動下載Zabbix資料庫的sql檔,此時只要匯入即可

# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

編輯Zabbix的設定檔

# vi /etc/zabbix/zabbix_server.conf

將資料庫的設定存進設定檔中

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<password>

重新啟動Zabbix服務,並將Zabbix設定成開機執行

# service zabbix-server start
# update-rc.d zabbix-server enable

建議檢查一下PHP的時區設定是不是跟所在位置一樣

# vim /etc/zabbix/apache.conf
php_value date.timezone Asia/Taipei

重新啟動Apache服務即可將時區的設定套用啦

# service apache2 restart

如果要監控Zabbix自己本機,還需要再裝Zabbix Agent

# apt-get install zabbix-agent

啓動Agent之後就可以在Zabbix加入本機的監控了

# service zabbix-agent start

如果要用來監控Cisco的交換機,會發現怎麼將交換機加入Zabbix都無法正確加入,原因是Zabbix上少裝了轉換編碼的套件,原本Cisco回傳的訊息是一串英數的編碼,在Zabbix無法辨識的情況下,就會認為Cisco交換器處於不可用的狀態,所以裝了編碼套件snmp-mibs-downloader之後,就可以成功讓Zabbix讀懂回傳的訊息了

# apt-get install snmp-mibs-downloader

重新啟動Zabbix讓SNMP服務也跟著一起重新啟動

# service zabbix-server restart

可以透過SNMP指令讓交換機回傳所有訊息

# snmpwalk -v 2c -c public 1.1.1.1

當回傳的訊息前面多出SNMPv2-MIB時,表示套件成功生效了,在Zabbix中也可以正常使用了

SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software, C3550 Software (C3550-IPSERVICESK9-M), Version 12.2(44)SE6, RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2009 by Cisco Systems, Inc.
Compiled Mon 09-Mar-09 20:28 by gereddy
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.368
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1451682680) 168 days, 0:27:06.80
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING:
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysServices.0 = INTEGER: 6
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00

之後在Zabbix中依照需求進行後續設定就可以滿足我們對環境的監控需求囉!

參考資料:
https://www.zabbix.com/documentation/3.2/manual/installation/install_from_packages/server_installation_with_mysql
https://blog.danman.eu/installing-snmp-mibs-in-ubuntu/

Leave a comment

你的電子郵件位址並不會被公開。 必要欄位標記為 *