zabbix 安装配置详解
一.zabbix架构
1.zabbix的架构图:
http://s3.运维网.com/wyfs02/M00/80/72/wKiom1dCAl7DXE2RAACe70_Xs3I557.png
2.zabbix的逻辑架构图
http://s4.运维网.com/wyfs02/M01/80/72/wKiom1dCAzzxRn3YAABBt-Hv2H0497.png
3.zabbix 服务器进程图
http://s1.运维网.com/wyfs02/M00/80/70/wKioL1dB3A-jBOJ7AAB4mkeKUfg208.png
二.zabbix安装
这里以两台机器为示例做介绍:
192.168.10.153(数据库)
192.168.10.154(服务器)
zabbix 安装有两种方法:(这里我们采取yum 安装的方式)
(1).编译安装:
同时安装server和agent,并支持将数据放入mysql数据库中,可使用类似如下配置命令:
./configure --enable-server--enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
如果仅安装server,并支持将数据库加入mysql数据中,可使用类似如下配置命令:
./configure--enable-server --with-mysql --with-net-snmp
如果仅安装proxy,并支持将数据放入mysql数据中,可使用类似如下配置命令:
./configure--prefix=/usr enable-proxy --with-net-snmp --with-mysql --with-ssh2
如果仅安装agent,可使用类似如下配置命令:
./configure--enable-agent
而后编译安装zabbix即可:
make install
(2).yum安装:
下面我们来安装zabbix:
1.安装server端只需要安装下面的几个包(比较新的版本,2.4.8)
zabbix-server-2.4.8-1.el6.x86_64.rpm zabbix-web-mysql-2.4.8-1.el6.noarch.rpm
zabbix-2.4.8-1.el6.x86_64.rpm zabbix-server-mysql-2.4.8-1.el6.x86_64.rpm
zabbix-get-2.4.8-1.el6.x86_64.rpmzabbix-web-2.4.8-1.el6.noarch.rpm
2.关闭selinux
vim/etc/selinux/config
SELINUX=disabled
setenforce 0
3.关闭防火墙
service iptables stop
chkconfig iptables off
4.安装使用zabbix官方的yum源
# rpm -ivh zabbix-release-2.4-1.el6.noarch.rpm
warning:zabbix-release-2.4-1.el6.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID79ea5ed4: NOKEY
Preparing... ###########################################
1:zabbix-release ###########################################
5.配好zabbix的yum源以后,我们来看看yum源里的zabbix版本(需要安装的包已用蓝色标注出来了)
# yum list|grep zabbix
zabbix-release.noarch2.4-1.el6 installed
fping.x86_64 2.4b2-16.el6 zabbix-non-supported
iksemel.x86_64 1.4-2.el6 zabbix-non-supported
iksemel-devel.x86_64 1.4-2.el6 zabbix-non-supported
iksemel-utils.x86_64 1.4-2.el6 zabbix-non-supported
libssh2.x86_64 1.4.2-2.el6 zabbix-non-supported
libssh2-devel.x86_64 1.4.2-2.el6 zabbix-non-supported
libssh2-docs.x86_64 1.2.2-7.el6 zabbix-non-supported
libssh2-docs.noarch 1.4.2-2.el6 zabbix-non-supported
2.72-2.el6 zabbix-non-supported
snmptt.noarch 1.4-1.el6 zabbix-non-supported
zabbix.x86_64 2.4.8-1.el6 zabbix
zabbix-agent.x86_64 2.4.8-1.el6 zabbix
zabbix-get.x86_64 2.4.8-1.el6 zabbix
zabbix-java-gateway.x86_64
2.4.8-1.el6 zabbix
zabbix-proxy.x86_64 2.4.8-1.el6 zabbix
zabbix-proxy-mysql.x86_64
2.4.8-1.el6 zabbix
zabbix-proxy-pgsql.x86_64
2.4.8-1.el6 zabbix
zabbix-proxy-sqlite3.x86_64
2.4.8-1.el6 zabbix
zabbix-sender.x86_64 2.4.8-1.el6 zabbix
zabbix-server-mysql.x86_64
2.4.8-1.el6 zabbix
zabbix-server-pgsql.x86_64
2.4.8-1.el6 zabbix
zabbix-web.noarch 2.4.8-1.el6 zabbix
zabbix-web-japanese.noarch
2.4.8-1.el6 zabbix
zabbix-web-mysql.noarch
2.4.8-1.el6 zabbix
zabbix-web-pgsql.noarch
2.4.8-1.el6 zabbix
注意:/etc/yum.repos.d下面要有两个文件
CentOS-Base.repozabbix.repo
不然安装的时候要报依赖性的错误
6.使用yum 安装软件
yum -y installzabbix.x86_64 zabbix-get.x86_64 zabbix-sender.x86_64 zabbix-server-mysql.x86_64zabbix-web.noarch zabbix-web-mysql.noarch
7.初始化数据库,在192.168.10.154(服务器)上
查看数据库脚本位置。
# rpm -qlzabbix-server-mysql.x86_64 0:2.4.8-1.el6
/usr/share/doc/zabbix-server-mysql-2.4.8/create/data.sql
/usr/share/doc/zabbix-server-mysql-2.4.8/create/images.sql
/usr/share/doc/zabbix-server-mysql-2.4.8/create/schema.sql
8.在客户端192.168.10.153(数据库)的机器上,设置mysql的权限:
先给安装好的mysql数据库设置密码并赋予权限
mysql> use mysql
Reading tableinformation for completion of table and column names
You can turn off thisfeature to get a quicker startup with -A
Database changed
mysql> update user set password=password("huaxia") where user='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3Changed: 3 Warnings: 0
mysql> flush privileges;
Query OK, 0 rowsaffected (0.00 sec)
mysql> quit
Bye
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'huaxia' WITH GRANT OPTION;#赋予所有IP地址都可以连接的权限
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
9.在服务器端192.168.10.154(服务器)的机器上安装mysql
yum install mysql
10.在客户端192.168.10.153(数据库)的机器上,创建数据库zabbix
mysql> CREATEDATABASE zabbix;
Query OK, 1 rowaffected (0.01 sec)
11.在服务器端192.168.10.154(服务器)的机器上,导入sql文件,
# mysql-uroot -phuaxia -h192.168.10.153 zabbixuse zabbix;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;#如下面所示说明导入数据库成功。
+-----------------------+
|Tables_in_zabbix |
+-----------------------+
| acknowledges |
| actions |
| alerts |
|application_template|
| applications |
| auditlog |
|auditlog_details |
| autoreg_host |
| conditions |
| config |
| dbversion |
| dchecks |
| dhosts |
| drules |
| dservices |
| escalations |
| events |
| expressions |
| functions |
| globalmacro |
| globalvars |
| graph_discovery |
| graph_theme |
| graphs |
| graphs_items |
| group_discovery |
| group_prototype |
| groups |
| history |
| history_log |
| history_str |
| history_text |
| history_uint |
| host_discovery |
| host_inventory |
| hostmacro |
| hosts |
| hosts_groups |
| hosts_templates |
| housekeeper |
| httpstep |
| httpstepitem |
| httptest |
| httptestitem |
| icon_map |
| icon_mapping |
| ids |
| images |
| interface |
|interface_discovery |
| item_condition |
| item_discovery |
| items |
|items_applications |
| maintenances |
|maintenances_groups |
|maintenances_hosts |
|maintenances_windows|
| mappings |
| media |
| media_type |
| opcommand |
| opcommand_grp |
| opcommand_hst |
| opconditions |
| operations |
| opgroup |
| opmessage |
| opmessage_grp |
| opmessage_usr |
| optemplate |
| profiles |
|proxy_autoreg_host |
| proxy_dhistory |
| proxy_history |
| regexps |
| rights |
| screens |
| screens_items |
| scripts |
| service_alarms |
| services |
| services_links |
| services_times |
| sessions |
| slides |
| slideshows |
| sysmap_element_url |
| sysmap_url |
| sysmaps |
|sysmaps_elements |
|sysmaps_link_triggers |
| sysmaps_links |
| timeperiods |
| trends |
| trends_uint |
| trigger_depends |
|trigger_discovery |
| triggers |
| user_history |
| users |
| users_groups |
| usrgrp |
| valuemaps |
+-----------------------+
104 rows in set (0.00sec)
13.在服务器端192.168.10.154(服务器)的机器上,
再导入下面所示的两个sql文件
# mysql -uroot-phuaxia -h192.168.10.153 zabbix flushprivileges;
Query OK, 0 rowsaffected (0.00 sec)
15.在服务器端192.168.10.154(服务器)的机器上配置zabbix_server。
# cd /etc/zabbix/
# ls
webzabbix_server.conf
# ls web
maintenance.inc.php
vim zabbix_server.conf
改下,把配置文件的参数改为以下所示
DBHost=192.168.10.153#数据库服务器IP地址
DBUser=zbxuser#刚才在数据库里设置的zabbix数据库用户。
DBPassword=huaxia#刚才数据库里设置的密码。
16.在服务器端192.168.10.154(服务器)的机器上启动zabbix_server。
# ls/etc/rc.d/init.d#查看启动脚本
abrt-ccpp bluetooth haldaemon killall NetworkManagerpsacct rpcsvcgssdspice-vdagentdypbind
abrtd certmongerhalt lvm2-lvmetadnfs quota_nld rsyslog sshd zabbix-server
abrt-oops cpuspeed htcachecleanlvm2-monitor nfslock rdisc sandbox sssd
acpid crond httpd mdmonitor ntpd restorecondsaslauthdsysstat
atd cups ip6tables messagebus ntpdate rngd single udev-post
auditd dnsmasq iptables netconsole oddjobd rpcbind smartd wdaemon
autofs firstboot irqbalance netfs portreserve rpcgssd snmpd winbind
blk-availabilityfunctionskdump network postfix rpcidmapd snmptrapdwpa_supplicant
#service zabbix-server start#启动服务
Starting Zabbixserver: [确定]
# ss -tnlp#查看zabbix启动的进程数,看到zabbix启动在10051端口上。
LISTEN 0 128 :::10051 :::* users:(("zabbix_server",7273,5),("zabbix_server",7274,5),("zabbix_server",7275,5),("zabbix_server",7276,5),("zabbix_server",7277,5),("zabbix_server",7278,5),("zabbix_server",7279,5),("zabbix_server",7280,5),("zabbix_server",7281,5),("zabbix_server",7282,5),("zabbix_server",7283,5),("zabbix_server",7284,5),("zabbix_server",7285,5),("zabbix_server",7286,5),("zabbix_server",7287,5),("zabbix_server",7288,5),("zabbix_server",7289,5),("zabbix_server",7290,5),("zabbix_server",7291,5),("zabbix_server",7292,5),("zabbix_server",7293,5),("zabbix_server",7294,5),("zabbix_server",7295,5),("zabbix_server",7296,5),("zabbix_server",7297,5),("zabbix_server",7298,5),("zabbix_server",7299,5))
LISTEN 0 128 *:10051 *:* users:(("zabbix_server",7273,4),("zabbix_server",7274,4),("zabbix_server",7275,4),("zabbix_server",7276,4),("zabbix_server",7277,4),("zabbix_server",7278,4),("zabbix_server",7279,4),("zabbix_server",7280,4),("zabbix_server",7281,4),("zabbix_server",7282,4),("zabbix_server",7283,4),("zabbix_server",7284,4),("zabbix_server",7285,4),("zabbix_server",7286,4),("zabbix_server",7287,4),("zabbix_server",7288,4),("zabbix_server",7289,4),("zabbix_server",7290,4),("zabbix_server",7291,4),("zabbix_server",7292,4),("zabbix_server",7293,4),("zabbix_server",7294,4),("zabbix_server",7295,4),("zabbix_server",7296,4),("zabbix_server",7297,4),("zabbix_server",7298,4),("zabbix_server",7299,4))
17.在服务器端192.168.10.154(服务器)的机器上查看web接口配置。
注意:配置一般不用改
# ls/etc/httpd/conf.d/
mod_dnssd.confphp.conf READMEwelcome.confzabbix.conf
# cd /etc/httpd/
# ls
confconf.d logsmodulesrun
# cd conf.d/
# ls
mod_dnssd.confphp.conf READMEwelcome.confzabbix.conf
# cat zabbix.conf
Alias /zabbix /usr/share/zabbix#定义访问别名
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
# php_value date.timezone Europe/Riga
18.在服务器端192.168.10.154(服务器)的机器上,启动http服务。
# service httpd start
正在启动 httpd: [确定]
# ss -tnlp
LISTEN 0 128 :::80#80端口处于监听状态 :::* users:(("httpd",7492,4),("httpd",7495,4),("httpd",7496,4),("httpd",7497,4),("httpd",7498,4),("httpd",7499,4),("httpd",7500,4),("httpd",7501,4),("httpd",7502,4))
19.在服务器端192.168.10.154(服务器)的机器上,访问zabbix,在浏览器中输入网址http://192.168.10.154/zabbix,会出现如下图所示的界面。注意:主机防火墙这里要关闭,或者放开对80端口的访问权限。
http://s1.运维网.com/wyfs02/M02/80/70/wKioL1dB_qnAZ-dKAAJPcrpT0_U422.png点击next,出现下列报错。
http://s2.运维网.com/wyfs02/M00/80/72/wKiom1dB_eazEJDXAAELqseYqAA312.png显示时区不对。那么这里我们来修改时区。
vim /etc/php.ini#默认安装php的配置文件路径
date.timezone= Asia/Shanghai#修改时区
# service httpd restart#
重启httpd服务
停止 httpd: [确定]
正在启动 httpd: [确定]
再重新检查下,说明配置正确,如下图:
http://s5.运维网.com/wyfs02/M01/80/72/wKiom1dB_pjREzdrAAEc9NsORIo717.png配置数据库连接:
http://s2.运维网.com/wyfs02/M01/80/70/wKioL1dB_7aDlxhFAAD93om-kbc083.png配置Zabbix-server 详细:
http://s3.运维网.com/wyfs02/M02/80/70/wKioL1dB_9rADel8AADsoghJk1I763.png这里无需过多的配置,直接下一步就可以了。
http://s1.运维网.com/wyfs02/M00/80/70/wKioL1dCABvx0Fr4AADxmCq8lOI497.png安装前的摘要,直接下一步:
http://s1.运维网.com/wyfs02/M01/80/70/wKioL1dCAE2iksWtAAD9wytqq-c288.png提示安装成功,点击"finish",进入登录界面:
http://s1.运维网.com/wyfs02/M01/80/70/wKioL1dCANWBNlkyAAIa7mam4GU836.png填入默认的用户名"admin",默认密码"zabbix"登录。
显示如下图所示的界面:
http://s1.运维网.com/wyfs02/M02/80/70/wKioL1dCAQiATw5aAAJ2szKTg2g339.png证明安装已经成功!接下来的大多数的工作,都是在这个WEB接口上配置的。
三.zabbix配置
这里以一台客户机做介绍:
192.168.10.116(客户机)
一般需要安装下面的几个包:
zabbix-2.4.8-1.el6.x86_64、zabbix-agent-2.4.8-1.el6.x86_64、zabbix-sender-2.4.8-1.el6.x86_64
这里我们使用yum安装,至于配置yum的方法参照上面所示的服务器端的配置,这里不再详述。
1.yum install zabbix.x86_64 zabbix-agent.x86_64zabbix-sender.x86_64
2.编辑配置文件
# cd /etc/zabbix/
# ls
zabbix_agentd.conf #主配置文件
zabbix_agentd.d
# ls zabbix_agentd.d/
userparameter_mysql.conf#附加配置文件
vim zabbix_agentd.conf#编辑配置文件
只需修改参数Server=192.168.10.154(zabbix服务器地址),别的暂时不用管。
3.启动服务
# ls /etc/init.d/#查看启动脚本
abrt-ccppblk-availabilityfirstboot iptables messagebus ntpd rdisc rsyslog spice-vdagentdwpa_supplicant
abrtd bluetooth functions irqbalance netconsole ntpdate restorecondsandbox sshd ypbind
abrt-oopscertmonger haldaemon kdump netfs oddjobd rngd saslauthdsssd zabbix-agent
acpid cpuspeed halt killall network portreserverpcbind single sysstat
atd crond htcachecleanlvm2-lvmetad NetworkManagerpostfix rpcgssd smartd udev-post
auditd cups httpd lvm2-monitornfs psacct rpcidmapd snmpd wdaemon
autofs dnsmasq ip6tables mdmonitor nfslock quota_nld rpcsvcgssdsnmptrapdwinbind
service zabbix-agent start#启动服务
# ss -tnlp#查看进程和端口
LISTEN 0 128 :::10050 :::* users:(("zabbix_agentd",2372,5),("zabbix_agentd",2373,5),("zabbix_agentd",2374,5),("zabbix_agentd",2375,5),("zabbix_agentd",2376,5),("zabbix_agentd",2377,5))
LISTEN 0 128 *:10050 *:* users:(("zabbix_agentd",2372,4),("zabbix_agentd",2373,4),("zabbix_agentd",2374,4),("zabbix_agentd",2375,4),("zabbix_agentd",2376,4),("zabbix_agentd",2377,4))
监听在10050端口上。
4.添加监控的主机
http://s3.运维网.com/wyfs02/M01/82/0D/wKioL1dJT6yB-4zIAACaSdtSFqI570.png-wh_500x0-wm_3-wmp_4-s_833806263.png
登录监控服务器主页面,"Configuration"选项里的"host"菜单下,点击"Create host"按钮。出现如下图所示界面:
http://s5.运维网.com/wyfs02/M01/82/0D/wKioL1dJT-3TbVrVAABeAaZdIsw087.png-wh_500x0-wm_3-wmp_4-s_2727242813.png
在该对话框中输入:
主机名、显示名、组名、IP地址、端口等信息
如下图所示:
http://s5.运维网.com/wyfs02/M02/82/0E/wKiom1dJTzjA1SpxAABGi1U1s_w482.png-wh_500x0-wm_3-wmp_4-s_2109221655.png
添加完点击"add",显示如下图:
http://s5.运维网.com/wyfs02/M00/82/0D/wKioL1dJUG3RMTWyAACLMT21arc806.png-wh_500x0-wm_3-wmp_4-s_2694925590.png
说明主机已经在监控了。
再到"Dashboard"菜单下看看,如下图所示:
http://s5.运维网.com/wyfs02/M01/82/0D/wKioL1dJUK7SHBcbAADZy10g8qo888.png-wh_500x0-wm_3-wmp_4-s_369781347.png
5.监控的主机上添加应用
1).定义一个项目,如下图所示:
http://s3.运维网.com/wyfs02/M02/82/0D/wKioL1dJUVziJPfZAACYkpldaFQ075.png-wh_500x0-wm_3-wmp_4-s_3339076400.png
2).点击"Configuration"选项下面的"Host"按钮,再点击"Items"选项,出现如下图所示的图形界面:
http://s2.运维网.com/wyfs02/M00/82/0E/wKiom1dJUPqQ391QAACCilUl2Fg240.png-wh_500x0-wm_3-wmp_4-s_129289807.png
3).点击"Create item"按钮,出现如下图所示的界面:
http://s4.运维网.com/wyfs02/M01/82/0E/wKiom1dJUS-BYlU8AACc_S-lYc8569.png-wh_500x0-wm_3-wmp_4-s_224696906.png
4).可以在里面定义一些参数,这里我们以监控网卡流量为例,配置在里面的一些参数。
http://s1.运维网.com/wyfs02/M01/82/0D/wKioL1dJUnTwI_GfAACiO1gTQt0571.png-wh_500x0-wm_3-wmp_4-s_4185024145.png
5).配置完,点击"add"添加。
http://s5.运维网.com/wyfs02/M02/82/0D/wKioL1dJUrHhMKf_AACGJ_-uwvw231.png-wh_500x0-wm_3-wmp_4-s_3160401933.png
6).看到图中所示参数的状态,说明Item已启用。
如下图所示,应用和项目启用的很明显。
http://s5.运维网.com/wyfs02/M02/82/0E/wKiom1dJUh-STXhrAACMjSfU3pg610.png-wh_500x0-wm_3-wmp_4-s_3464057487.png
查看"Dashboard",已看到有一个Item在启用,如下图所示:
http://s5.运维网.com/wyfs02/M02/82/0D/wKioL1dJU0TAiNksAADjCGyW-ZY259.png-wh_500x0-wm_3-wmp_4-s_4163182706.png
7).查看刚采集到的数据,采集到的网卡流量的值清晰可见。如下图所示:
http://s5.运维网.com/wyfs02/M01/82/0D/wKioL1dJU73RxRkwAACo6G-DUmo361.png-wh_500x0-wm_3-wmp_4-s_1674435755.png
8).点击"Graph",可以看到绘图,如下图所示:
http://s4.运维网.com/wyfs02/M02/82/0D/wKioL1dJVAuTPuu8AADkPV4iLxg509.png-wh_500x0-wm_3-wmp_4-s_4138649352.png
页:
[1]