Zabbix 安裝
Zabbix
一、簡介
1、 zabbix 簡介
Zabbix 是一個高度集成的網絡監控解決方案,可以提供企業級的開源分布式監控解決
方案,由一個國外的團隊持續維護更新,軟件可以自由下載使用,運作團隊靠提供收費的技術支持贏利
zabbix是一個基於Web界面的,提供分布式系統監控以及網絡監視功能的企業級的開源解決方案。
zabbix能監視各種網絡參數,保證服務器系統的安全運營,並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題
zabbix主要由2部分構成zabbix server和zabbix agent,可選組建zabbix proxy
zabbix server可以通過SNMP,zabbix agent,fping端口監視等方法對遠程服務器或網絡狀態完成監視,數據收集等功能
支持Linux以及Unix平臺,Windows平臺只能安裝客戶端
2、Zabbix 功能
①具備常見的商業監控軟件所具備的功能(主機的性能監控、網絡設備性能監控、數據庫)
性能監控、FTP 等通用協議監控、多種告警方式、詳細的報表圖表繪制)
②支持自動發現網絡設備和服務器(可以通過配置自動發現服務器規則來實現)
③支持自動發現(low discovery)key 實現動態監控項的批量監控(需寫腳本)
④支持分布式,能集中展示、管理分布式的監控點
⑤擴展性強,
⑥數據收集
可用和性能檢測
支持snmp(包括trapping and polling),IPMI,JMX,SSH,TELNET
自定義的檢測
自定義收集數據的頻率
服務器/代理和客戶端模式
靈活的觸發器
可以定義非常靈活的問題閾值,稱為觸發器,從後端數據庫的參考值
高可定制的報警
發送通知,可定制的報警升級,收件人,媒體類型
通知可以使用宏變量有用的變量
自動操作包括遠程命令
實時的繪圖功能
監控項實時的將數據繪制在圖形上面
ZABBIX 可以模擬鼠標點擊了一個網站,並檢查返回值和響應時間
Api 功能
應用api 功能,可以方便的和其他系統結合,包括手機客戶端的使用。
更多功能請查看
3、Zabbix 工作方式
Zabbix 通過C/S 模式采集數據,通過B/S 模式在web 端展示和配置。
被監控端:主機通過安裝agent 方式采集數據,網絡設備通過SNMP 方式采集數據
Server 端:通過收集SNMP 和agent 發送的數據,寫入數據庫(MySQL,ORACLE 等),
再通過php+apache 在web 前端展示。
4、Zabbix 的運行條件
Server:Zabbix Server 需運行在LAMP(Linux+Apache+Mysql+PHP)環境下(或者
LNMP),對硬件要求低
Agent:目前已有的agent 基本支持市面常見的OS,包含Linux、HPUX、Solaris、Sun、
windows
SNMP:支持各類常見的網絡設備
SNMP(Simple Network Management Protocol,簡單網絡管理協議
5、監控邏輯圖
二、安裝部署
1、環境準備
一臺centos 6.5操作系統服務器,關閉防火墻,selinux,部署lamp平臺
在這裏采用的lamp環境是apache2.4+mysql5.6+php5.6
[root@www zabbix]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@www zabbix]# uname -r
2.6.32-431.el6.x86_64
2、安裝zabbix依賴包
yum install fping net-snmp-devel unixODBC-devel openssl-devel OpenIPMI-devel java-devel curl-devel libxml2-devel iksemel-devel libevent-devel -y
個人習慣每安裝的服務都會另創建目錄,博主在這裏創建的是/service/zabbix,安裝包的位置安裝的位置在/usr/local/zabbix下載zabbix軟件包,並添加服務用戶
useradd zabbix -s /sbin/nologin/ -M
mkdir /service/zabbix -p
下載tar包
cd /service/zabbix && wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.2.6.tar.gz
tar xf zabbix-3.2.6.tar.gz 解壓
cd zabbix-3.2.6
3、安裝包說明
[root@www zabbix-3.2.6]# ll
總用量 1392
-rw-r--r-- 1 1000 1000 49137 7月 22 2016 aclocal.m4
-rw-r--r-- 1 1000 1000 98 7月 22 2016 AUTHORS
drwxr-xr-x 4 1000 1000 4096 7月 22 2016 bin zabbix的windows版本程序
drwxr-xr-x 4 1000 1000 4096 7月 22 2016 build
-rw-r--r-- 1 1000 1000 687803 7月 22 2016 ChangeLog
-rwxr-xr-x 1 1000 1000 7333 1月 3 2014 compile
drwxr-xr-x 3 1000 1000 4096 7月 22 2016 conf zabbix的配置文件
-rwxr-xr-x 1 1000 1000 45297 8月 11 2013 config.guess
-rwxr-xr-x 1 1000 1000 35564 8月 11 2013 config.sub
-rwxr-xr-x 1 1000 1000 376528 7月 22 2016 configure
-rw-r--r-- 1 1000 1000 46788 7月 22 2016 configure.ac
-rw-r--r-- 1 1000 1000 17990 7月 22 2016 COPYING
drwxr-xr-x 7 1000 1000 4096 7月 22 2016 database 數據庫文件
-rwxr-xr-x 1 1000 1000 23566 1月 3 2014 depcomp
drwxr-xr-x 3 1000 1000 4096 7月 22 2016 frontends php文件,zabbix的web
drwxr-xr-x 2 1000 1000 4096 7月 22 2016 include
-rw-r--r-- 1 1000 1000 82 7月 22 2016 INSTALL
-rwxr-xr-x 1 1000 1000 13997 1月 3 2014 install-sh
drwxr-xr-x 2 1000 1000 4096 7月 22 2016 m4
-rw-r--r-- 1 1000 1000 3155 7月 22 2016 Makefile.am
-rw-r--r-- 1 1000 1000 30553 7月 22 2016 Makefile.in
drwxr-xr-x 2 1000 1000 4096 7月 22 2016 man
drwxr-xr-x 5 1000 1000 4096 7月 22 2016 misc
-rwxr-xr-x 1 1000 1000 6872 1月 3 2014 missing
-rw-r--r-- 1 1000 1000 52 7月 22 2016 NEWS
-rw-r--r-- 1 1000 1000 188 7月 22 2016 README
drwxr-xr-x 10 1000 1000 4096 7月 22 2016 src zabbix的核心程序文件
drwxr-xr-x 3 1000 1000 4096 7月 22 2016 upgrades
4、編譯安裝
./configure --prefix=/usr/local/zabbix \ #指定安裝目錄
--enable-server \ #安裝服務端
--enable-agent \ #安裝客戶端
--enable-java \ #安裝java模塊
--enable-ipv6 \
--with-mysql=/usr/local/mysql/bin/mysql_config \
--with-net-snmp \
--with-libcurl \
--with-libxml2 \
--with-openipmi \
--with-unixodbc \
--with-openssl
make&&make install
查看編譯位置
[root@www ~]# cd /usr/local/zabbix/
[root@www zabbix]# ll
總用量 20
drwxr-xr-x 2 root root 4096 8月 24 19:40 bin
drwxr-xr-x 4 root root 4096 8月 24 19:40 etc
drwxr-xr-x 2 root root 4096 8月 24 19:40 lib
drwxr-xr-x 2 root root 4096 8月 24 19:40 sbin
drwxr-xr-x 4 root root 4096 8月 24 19:40 share
5、導入zabbix文件到數據庫進入mysql配置
mysql -u root –p #進入數據庫
create database zabbix character set utf8;
註意,此處要特別註意數據庫字符集的問題,如果數據庫是非utf8 字符,則web 頁面改
為中文,是會出現亂碼的
grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix'; 創建管理MySQL用戶
flush privileges;
mysql -u zabbix -pzabbix #測試登錄數據庫
cd /service/zabbix/zabbix-3.2.6/database/mysql
mysql -u root -p zabbix < schema.sql
mysql -u root -p zabbix < images.sql
mysql -u root -p zabbix < data.sql
mysql -u zabbix -pzabbix
use zabbix ;
show tables ;
登錄數據庫查看
6、拷貝配置文件及授權用戶我的apache數據保存目錄在/htdocs/
拷貝配置文件及授權用戶我的apache數據保存目錄在/htdocs/
mkdir /htdocs/zabbix
cp -r /service/zabbix/zabbix-3.2.6/frontends/php/* /htdocs/zabbix/
chown -R apache.apache /htdocs/zabbix/
7、修改php.ini文件
vim /usr/local/php/php.ini
date.timezone = Asia/ Hong_Kong
max_execution_time = 300
post_max_size = 32M
max_input_time=300
memory_limit = 128M
mbstring.func_overload = 2
重啟:/etc/init.d/php-fpm restart
8、修改虛擬主機配置
vim /usr/local/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80> #端口
ServerAdmin www.zabbix.com #管理員登錄網址
DocumentRoot "/htdocs/zabbix" #指定網頁數據位置
ServerName www.zabbix.com #域名
<Directory "/htdocs/zabbix">
AllowOverride All #訪控
Require all granted
</Directory>
ErrorLog "logs/dummy-host2.example.com-error_log" #錯誤日誌
CustomLog "logs/dummy-host2.example.com-access_log" common #日誌
ProxyRequests off #代理請求off指運行代理
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/htdocs/zabbix/$1 #把凡是以結尾是.php的訪問轉發到本機的9000端口上
</VirtualHost>
service httpd restart 重啟
9、zabbix 配置
路徑:/usr/local/zabbix/etc/zabbix_server.conf
修改主要參數即可工作
DBName=zabbix 數據庫名稱
DBUser=zabbix 數據庫用戶
DBPassword=zabbix 數據庫密碼
DBHost=127.0.0.1
修改客戶端配置:/usr/local/zabbix/etc/zabbix_agent.conf
Server=192.168.2.100 //配置zabbix服務器的IP地址
Hostname=zabbix_server //配置主機名
PidFile=/var/tmp/zabbix_agentd.pid //指定pid路徑
LogFile=/var/log/zabbix/zabbix_agentd.log //指定日誌文件
9.1、配置啟動腳本
cp /service/zabbix/zabbix-3.2.6/misc/init.d/fedora/core/zabbix_{server,agentd} /etc/init.d/
[root@www zabbix]# ll -h /etc/init.d/zabbix_*
-rwxr-xr-x 1 root root 2.2K 8月 24 15:15 /etc/init.d/zabbix_agentd
-rwxr-xr-x 1 root root 2.2K 8月 24 15:15 /etc/init.d/zabbix_server
9.2、修改啟動腳本(不修改啟動會報錯)
vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix #這裏是安裝服務的路徑
vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
啟動
[root@www zabbix]# /etc/init.d/zabbix_server start
Starting zabbix_server: [確定]
[root@www zabbix]# /etc/init.d/zabbix_agentd start
Starting zabbix_agentd: [確定]
訪問:因為我在本機改了hosts文件在這裏我是直接域名加端口訪問的
修改安裝時報錯問題
1、PHP string function overloading must be disabled. 錯誤:
修改片php.ini文件 mbstring.func_overload = 1 修改完畢之後重啟
2、PHP option "always_populate_raw_post_data" must be set to "-1"
修改 /htdocs/zabbix/include/classes/setup/ CFrontendSetup.php
添加 :$current = -1;
public function checkPhpAlwaysPopulateRawPostData() {
$current = ini_get('always_populate_raw_post_data');
$current = -1;
return [
'name' => _s('PHP option "%1$s"', 'always_populate_raw_post_data'),
'current' => ($current != -1) ? _('on') : _('off'),
'required' => _('off'),
'result' => ($current != -1) ? self::CHECK_FATAL : self::CHECK_OK,
'error' => _s('PHP option "%1$s" must be set to "%2$s"', 'always_populate_raw_post_data', -1)
];
}
填寫數據庫連接
配置zabbix server端的主機名,端口號
安裝
默認的賬號和是admin 密碼是zabbix
登錄成功(設置中文字體)
監控本機
默認我們已經啟動了zabbix客戶段服務 所以在主機列表中可以查看到
如果沒有啟動可以執行/etc/init.d/zabbix_ agentd restart 啟動zabbix客戶端
還需要在網頁配置,使zabbix起來
默認我們監控主機是沒有啟用的à雙擊停用的他就起來了
顯示綠色的ZBX則為成功
監控一臺新的主機
拷貝腳本到主機執行
vim zabbix_client_install.sh
#!/bin/bash
#關於配置文件修改,如果是外網的客戶端,需要把ServerActive和Server的值改為101.96.129.162,(已經做過外網映射)
Modify_configuration(){
#IP=`ifconfig |grep -o '192\.168\.1\.[0-9]\{1,3\}' |grep -v 255 |head -1`
IP=`ifconfig eth0 |grep inet |sed 's/^.*addr://g' |sed s/Bcast.*//g`
sed -i "
/# HostMetadataItem/a\
HostMetadataItem=system.uname
s/^ServerActive=127.*/ServerActive=10.27.72.243/
s/^Server=.*/Server=10.27.72.243/
s/Hostname=Zabbix server/Hostname=${IP}/
" /etc/zabbix/zabbix_agentd.conf
}
CentOS_agent_install(){
wget https://mirrors.aliyun.com/zabbix/zabbix/3.2/rhel/6/x86_64/zabbix-agent-3.2.6-1.el6.x86_64.rpm
rpm -ivh zabbix-agent-3.2.6-1.el6.x86_64.rpm
Modify_configuration
rm -rf zabbix-agent-3.2.6-1.el6.x86_64.rpm
chkconfig zabbix-agent on
service zabbix-agent restart
}
Ubuntu_agent_install(){
wget https://mirrors.aliyun.com/zabbix/zabbix/3.2/ubuntu/pool/main/z/zabbix/zabbix-agent_3.2.6-1%2bxenial_amd64.deb
sudo dpkg -i zabbix-agent_3.2.6-1+xenial_amd64.deb
Modify_configuration
rm zabbix-agent_3.2.6-1+xenial_amd64.deb
service zabbix-agent restart
}
cat /etc/*release |grep "CentOS" &>/dev/null
[ $? == 0 ] && CentOS_agent_install
cat /etc/*release |grep "Ubuntu" &>/dev/null
[ $? == 0 ] && Ubuntu_agent_install
效果圖
在server端監控這臺客戶機
給監控的客戶端添加一個監控模板
保存查看圖形
到這裏就搭建完成,真心希望本篇博客可以幫助到您。
Zabbix 安裝