一、zabbix安装环境
zabbix的安装配置是个较繁杂的过程,它是基于lamp或lnmp,只不过之前装的lamp架构可能无法满足zabbix的需求,比如某些php的扩展,所以我建议重装php。
1、查看linux的版本信息
[root@localhost ~]# lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.3 (Final)
Release: 6.3
Codename: Final
2、mysql的版本信息
mysql> select version();
+------------------+
| version() |
+------------------+
| 5.6.10-debug-log |
+------------------+
1 row in set (0.00 sec)
3、PHP版本信息
[root@localhost ~]# php -v
PHP 5.3.27 (cli) (built: Nov 18 2013 10:08:05)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
4、Apache版本信息
[root@localhost bin]# /usr/local/apache2/bin/httpd -v
Server version: Apache/2.2.23 (Unix)
Server built: Oct 28 2013 02:38:35
5.同步服务端的时间,保持所有服务器时间一致避免出现时间不同导致的不可用的监控数据
vim /etc/rc.d/rc.local
/usr/sbin/ntpdate -u 195.13.1.153
# crontab –l
00 00 * * * /usr/sbin/ntpdate -u 195.13.1.153
一、配置防火墙,开启10050、10051的TCP和UDP端口
vi /etc/sysconfig/iptables #编辑防火墙配置文件
-A INPUT -s 192.168.21.127 -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCEPT
-A INPUT -s 192.168.21.127 -m state --state NEW -m udp -p udp --dport 10050:10051 -j ACCEPT
:wq! #保存退出
service iptables restart #重启防火墙使配置生效
说明:192.168.21.127是Zabbix服务端的IP地址,表示端口只对此IP开放,如果要对所有IP开放,规则如下:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 10050:10051 -j ACCEPT
二、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
6.安装开发软件包
yum -y groupinstall "Development Tools"
7.安装所需的依赖包
yum -y install httpd mysql mysql-server php php-mysql php-common php-mbstring php-gd php-odbc php-pear curl curl-devel net-snmp net-snmp-devel perl-DBI php-xml ntpdate php-bcmath
8.关闭防火墙,关闭SELINUX
service iptable stop
chkconfig iptables off
vi /etc/sysconfig/selinux修改里面的selinux=disabled后,重启服务器后解决。
二、zabbix 服务端的安装
1、下载zabbix的源码包并解压
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.0/zabbix-2.2.0.tar.gz
[root@localhost softs]# tar xf zabbix-2.2.0.tar.gz -C /usr/src/
[root@localhost src]# cd zabbix-2.2.0/
2、建立相应的用户组与用户
为了安全考虑 zabbix 只使用普通用户运行,假如你当前用户叫 ttlsa,那么你运行他,他便使用 ttlsa 身份运
行。但是如果你在 root 环境下运行 zabbix,那么 zabbix 将会主动使用 zabbix 用户来运行。但是如果你的系统没
有名叫 zabbix 的用户,你需要创建一个用户
[root@localhost zabbix-2.2.0]# groupadd -r zabbix
[root@localhost zabbix-2.2.0]# useradd -g zabbix -s /sbin/nologin zabbix
3、登录mysql ,创建zabbix用户并授权
[root@localhost zabbix-2.2.0]# mysql -u root -p******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4773
Server version: 5.6.10-debug-log Source distribution
…………
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database zabbix; ###新建zabbix数据库
Query OK, 1 row affected (0.01 sec)
mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix'; ###创建zabbix用户
Query OK, 0 rows affected (0.16 sec)
mysql> flush privileges; #刷新授权表及时生效
Query OK, 0 rows affected (0.00 sec)
4、导入zabbix自带的几个sql脚本
[root@localhost ~]# cd /usr/src/zabbix-2.2.0/
[root@localhost zabbix-2.2.0]# cd database/
[root@localhost database]# ls
ibm_db2 Makefile.in oracle sqlite3
Makefile.am mysql postgresql
[root@localhost database]# cd mysql/
[root@localhost mysql]# ls
data.sql images.sql schema.sql
[root@localhost mysql]# mysql -u root -p123456 zabbix < schema.sql #如果是作为Proxy用,只要导入这一个数据库,导入其它的数据库会报错
[root@localhost mysql]# mysql -u root -p123456 zabbix < images.sql #如果是作为Server,则要导入以下两个数据库
[root@localhost mysql]# mysql -u root -p123456 zabbix < data.sql
5、安装几个需要的软件包
[root@localhost zabbix-2.2.0]# yum install curl curl-devel net-snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath mysql-devel -y
yum install apr* autoconf automake bison cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng* libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* libX* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils ppl telnet t1lib t1lib* nasm nasm* wget zlib-devel
6、查看php的所有的modules,看是否包括了安装 zabbix所需要的bcmath ,mbstring ,sockets, gd ,gd PNG support ,gd JPEG support ,gd FreeType support ,libxml,xmlwriter, xmlreader ,ctype , session ,gettext这些模块
必须的模块列表:
Required
PHP version 5.3.0
PHP option memory_limit 128M
PHP option post_max_size 16M
PHP option upload_max_filesize 2M
PHP option max_execution_time 300
PHP option max_input_time 300
PHP time zone
PHP databases support
PHP bcmath
PHP mbstring
PHP sockets
PHP gd 2.0
PHP gd PNG support
PHP gd JPEG support
PHP gd FreeType support
PHP libxml 2.6.15
PHP xmlwriter
PHP xmlreader
PHP ctype
PHP session
PHP session auto start off
PHP gettext
[root@localhost zabbix-2.2.0]# php -m ###查看已经支持的php模块
[PHP Modules]
bz2
Core
ctype
curl
date
dom
ereg
fileinfo
filter
ftp
gd
hash
iconv
json
ldap
libxml
mbstring
mysql
mysqli
openssl
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
SPL
SQLite
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zip
zlib
我的php模块还少几个,所以我打补丁补全
安装gettext 模块
[root@localhost ~]# cd /usr/src/php-5.3.27/ext/gettext/
[root@localhost gettext]# phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
[root@localhost gettext]# ./configure --with-php-config=/usr/local/bin/php-config
[root@localhost gettext]# make
[root@localhost gettext]# make install
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20090626/
[root@localhost gettext]# ls modules/
gettext.so
修改php的配置文件php.ini,添加扩展模块
[root@localhost local]# vi /usr/local/lib/php.ini
extension=gettext.so ###增加 这一行
bcmath模块安装
cd /usr/src/php-5.3.27/ext/bcmath/
[root@localhost bcmath]# phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
[root@localhost bcmath]# ./configure --with-php-config=/usr/local/bin/php-config
[root@localhost bcmath]# make
[root@localhost bcmath]# make install
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20090626/
[root@localhost bcmath]# ls modules/
bcmath.so
修改php的配置文件php.ini,添加扩展模块
[root@localhost local]# vi /usr/local/lib/php.ini
extension= bcmath.so ###增加 这一行
sockets模块安装
[root@localhost ext]# cd sockets/
[root@localhost sockets]# phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
[root@localhost sockets]# ./configure --with-php-config=/usr/local/bin/php-config
[root@localhost sockets]# make
[root@localhost sockets]# make install
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20090626/
Installing header files: /usr/local/include/php/
[root@localhost sockets]# ls modules/
sockets.so
修改php的配置文件php.ini,添加扩展模块
[root@localhost local]# vi /usr/local/lib/php.ini
extension=sockets.so ###增加 这一行
扩展安装完成后重启apache
[root@localhost sockets]# /etc/init.d/apache restart
查看php模块发现目前已经出现了三个模块
7、安装、配置zabbix
[root@localhost ~]# cd /usr/src/zabbix-2.2.0/
安装server和agent:
[root@localhost zabbix-2.2.0]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-ssh2
--------------------------------------------------------------------------
仅安装server:
./configure --enable-server --with-mysql --with-net-snmp --with-libcurl
仅安装proxy,并支持将数据放入mysql数据中
./configure --prefix=/usr --enable-proxy --with-net-snmp --with-mysql --with-ssh2
仅安装agent
./configure --enable-agent
-------------------------------------------------------------------------------------------------------------------------------------
# /usr/lib64/mysql/mysql_config
[root@localhost ~]# make
[root@localhost ~]# make install
修改/etc/services,添加下面几行
zabbix-agent 10050/tcp #zabbix agent
zabbix-agent 10050/udp #zabbix agent
zabbix-trapper 10051/tcp #zabbix trapper
zabbix-trapper 10051/udp #zabbix trapper
修改zabbix的配置文件
[root@localhost zabbix-2.2.0]# vi /usr/local/zabbix/etc/zabbix_server.conf
[root@localhost zabbix-2.2.0]# cat /usr/local/zabbix/etc/zabbix_server.conf | grep -v ^# | grep -v ^$
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/run/mysqld/mysql5.socket
做几个软连接
[root@localhost ~]# ln -s /usr/local/zabbix/bin/* /usr/bin/
[root@localhost ~]# ln -s /usr/local/zabbix/sbin/* /usr/sbin/
从程序源文件中复制文件:
[root@localhost ~]# cd /usr/src/zabbix-2.2.0/
[root@localhost ~]# cp /usr/src/zabbix-2.2.0/misc/init.d/fedora/core/* /etc/init.d/
修改zabbix_agentd、zabbix_server程序目录的位置:
CentOS:6.7
vim /etc/init.d/zabbix_server
# Zabbix-Directory
#BASEDIR=/usr/local
BASEDIR=/usr/local/zabbix #Zabbix安装目录
vim /etc/init.d/zabbix_agentd
# Zabbix-Directory
# BASEDIR=/usr/local
BASEDIR=/usr/local/zabbix #Zabbix安装目录
#vim /etc/init.d/zabbix_agentd
DAEMON=/usr/local/zabbix/sbin/zabbix_agentd #/usr/local/zabbix-2.4.2/sbin/zabbix_agentd
#vim /etc/init.d/zabbix_server
DAEMON=/usr/local/zabbix/sbin/zabbix_server #/usr/local/zabbix-2.4.2/sbin/zabbix_server
chmod +x /etc/rc.d/init.d/zabbix_agentd #添加脚本执行权限
chkconfig zabbix_agentd on #添加开机启动
service zabbix_agentd start #启动Zabbix客户端
ps ax|grep zabbix_agentd #检查Zabbix客户端是否正常运行
netstat -utlnp | grep zabbix #检查Zabbix客户端是否正常运行
测试Zabbix客户端与Zabbix服务端通信是否正常
以下代码在Zabbix服务端执行
/usr/local/zabbix/bin/zabbix_get -s 192.168.21.128 -p 10050 -k "system.uptime"
5049866 #有数据显示说明通信正常
备注:192.168.21.128是Zabbix客户端IP地址
[root@localhost frontends]# cp /usr/src/zabbix-2.2.0/frontends/php /var/www/zabbix/ -r
[root@localhost frontends]# chown zabbix.zabbix /var/www/ -R
[root@localhost frontends]# chmod -R 777 /var/www/zabbix/conf
8、新建虚拟主机
方法一:
[root@localhost ~]# cd /usr/local/apache2/conf/extra/
[root@localhost extra]# vi httpd-vhosts.conf
方法二:
配置apache文件,定义安装访问zabbix的虚拟主机
vim /etc/httpd/conf/httpd.conf
ServerName 127.0.0.1
<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName 本机IP
</VirtualHost>
修改apache的主配置文件,开启8008端口
[root@localhost conf]# vi /usr/local/apache2/conf/httpd.conf
#Listen 12.34.56.78:80
Listen 80
Listen 8008
然后重启apache的服务
[root@localhost ~]# /etc/init.d/apache restart
[root@localhost conf]# lsof -i:8008
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 1814 root 8w IPv6 107091 0t0 TCP *:8008 (LISTEN)
httpd 2887 daemon 8u IPv6 107091 0t0 TCP *:8008 (LISTEN)
httpd 2888 daemon 8u IPv6 107091 0t0 TCP *:8008 (LISTEN)
httpd 2889 daemon 8u IPv6 107091 0t0 TCP *:8008 (LISTEN)
httpd 2890 daemon 8u IPv6 107091 0t0 TCP *:8008 (LISTEN)
httpd 2891 daemon 8u IPv6 107091 0t0 TCP *:8008 (LISTEN)
httpd 2892 daemon 8u IPv6 107091 0t0 TCP *:8008 (LISTEN)
9、启动zabbix服务
[root@localhost lib]# /etc/init.d/zabbix_agentd start
Starting zabbix_agentd: [ OK ]
[root@localhost lib]# /etc/init.d/zabbix_server start
Starting zabbix_server: /usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
[FAILED]
解决方法一:
[root@localhost ~]# locate libmysqlclient.so.18
/usr/local/mysql/lib/libmysqlclient.so.18
/usr/local/mysql/lib/libmysqlclient.so.18.0.0
/usr/src/mysql-5.6.10/libmysql/libmysqlclient.so.18
/usr/src/mysql-5.6.10/libmysql/libmysqlclient.so.18.0.0
[root@localhost ~]# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf
[root@localhost ~]# ldconfig
解决方法二:
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
[root@localhost lib]# /etc/init.d/zabbix_server start
Starting zabbix_server: [ OK ]
[root@localhost lib]# /etc/init.d/snmpd restart
Stopping snmpd: [FAILED]
Starting snmpd: [ OK ]
[root@localhost ~]# /etc/init.d/mysql5 restart
Shutting down MySQL.. [ OK ]
Starting MySQL... [ OK ]
[root@localhost ~]# /etc/init.d/apache restart
[root@localhost zabbix]# chmod 777 ./conf (如果最后一步提示无法创建配置文件,请运行这个命令)
十:修改配置php文件
vi /etc/php.ini
date.timezone = Asia/Shanghai
max_execution_time = 300
max_input_time = 300
post_max_size = 32M
memory_limit = 128M
重启apache
#service httpd restart
十一:启动server
安装完成后的server程序在/usr/local/zabbix/sbin/目录下,可以直接启动
#/usr/local/zabbix/sbin/zabbix_server
启动agentd
#/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd.conf
检查启动是否正常,查看进程是否起来,分server和agentd
#ps –ef|grep zabbix
如果进程没起来,可以查看对应的日志错误,默认在/tmp/zabbix-*.log
三、页面配置zabbix
1、打开浏览器访问页面http://127.0.0.1:8008
2、zabbix检查zabbix的php环境
可以看到php的配置有些问题,所以需要改php的配置文件
[root@localhost ~]# vi /usr/local/lib/php.ini
将对应的配置文件改成zabbix所需要的参数值
memory_limit = 128M
max_execution_time = 300
max_input_time = 300
date.timezone =Asia/Shanghai
重启apache服务
[root@localhost lib]# /etc/init.d/apache restart
3、然后再次刷新浏览器页面,重新查看php的环境,然后下一步
4、填写对应的数据库信息,然后next
5、zabbix的ip、端口以及主机名的设置
6、配置信息预览
7、安装
8、登录 默认用户名admin密码zabbix
9、登录的页面信息
10、发现有个错误
然后查证后是iptables的问题,所以建议先关闭iptables
具体信息请查看:FAQ->zabbix server is not running
Zabbix主菜单功能介绍
Monitoring:与“监控”功能相关的页面大多都在此处,如graphs、triggers、screens、及maps等。
Inventory:主机资产清单。
Reports:提供强大且直观报告功能。
Configuration:监控系统的所有配置功能均位于此处,例如定义主机组、模版、主机等。
Administration:与zabbix自身相关功能,如认证方法、用户、权限、脚本、媒介类型、审计、通知及全局配置等。
配置zabbix可以监控自己
修改agent配置文件,设置zabbix服务器地址
[root@node1 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1,172.16.4.100 #设置zabbix服务器端地址,监控服务器的IP地址
ServerActive=127.0.0.1,172.16.4.100 #主动发起请求给服务器端,服务器端的地址
Hostname=node1 #主动联系zabbix服务器时,告诉服务器的主机名,需全局唯一,监控服务器的hostname
设置完成启动服务
[root@node1 ~]# service zabbix-agent start
[root@node1 ~]# netstat -lntp | grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 38376/zabbix_agentd
tcp 0 0 :::10050 :::* LISTEN 38376/zabbix_agentd
web界面设置,在configuration--> hosts 中,点击disabled即可启用对本机的监控
监控成功如下所示:
查看出图:在monitoring --> graphs中选择对应的主机和对应的graph即可看到图形,只不过由于监控时间过短还没有生成图形
还可以通过monitoring --> screens查看图形信息
5、设置web界面中文显示
点击zabbix的web页面最上方的profile就可以打开中文选择页面
选择中文
设置完成之后会到首页查看一些原本英文显示的内容都已经显示为了中文
6、解决图片乱码问题
状况如下:
解决方法:复制Windows主机的一种中文字体到zabbix服务器
使用Xftp上传字体到zabbix服务器,复制字体到/usr/share/zabbix/fonts/目录,后缀需要修改为ttf
[root@node1 ~]# cp simsun.ttc/usr/share/zabbix/fonts/simsun.ttf
修改zabbix的配置文件,应用复制的字体
[root@node1 ~]# vim/usr/share/zabbix/include/defines.inc.php
//define(‘ZBX_FONT_NAME‘, ‘graphfont‘);
define(‘ZBX_FONT_NAME‘, ‘simsun‘);
//define(‘ZBX_GRAPH_FONT_NAME‘, ‘graphfont‘); // font file name
define(‘ZBX_GRAPH_FONT_NAME‘, ‘simsun‘); // font file name
设置完成之后,只需要刷新web页面,就可以看到图片中的中文正常显示了
四、linux zaibbix客户端的安装
1、下载客户端软件
[root@localhost soft]# wget http://www.zabbix.com/downloads/2.2.0/zabbix_agents_2.2.0.linux2_6.amd64.tar.gz
下载时候需要注意查看客户机的内核信息,从官网选择相应的软件包
2、客户端的相关设置
[root@localhost soft]# tar xf zabbix_agents_2.2.0.linux2_6.amd64.tar.gz ###解压
[root@localhost soft]# mkdir /etc/zabbix/
[root@localhost soft]# mv bin/zabbix_get /usr/bin/
[root@localhost soft]# mv bin/zabbix_sender /usr/bin/
[root@localhost soft]# mv sbin/zabbix_agent /usr/bin/
[root@localhost soft]# mv sbin/zabbix_agentd /usr/bin/
[root@localhost soft]# cd conf/
[root@localhost conf]# mv zabbix_agentd.conf /etc/zabbix/
3、修改zabbix_agentd.conf
Hostname=zabbix-client1 ###这里的hostname要与客户端的hostname一致,而且与监控主机中的名字一致!!
ServerActive=192.168.254.153 ####zabbix server的ip
Server=192.168.254.153####zabbix server的ip
[root@localhost zabbix-2.2.0]# groupadd -r zabbix
[root@localhost zabbix-2.2.0]# useradd -g zabbix -s /sbin/nologin zabbix
4、启动客户端进程
[root@localhost conf]# zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf ####指定配置文件启动
[root@localhost conf]# ps -ef | grep zabbix ####查看是否启动
zabbix 1474 1 0 17:20 ? 00:00:00 zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix 1475 1474 0 17:20 ? 00:00:00 zabbix_agentd: collector [idle 1 sec]
zabbix 1476 1474 0 17:20 ? 00:00:00 zabbix_agentd: listener #1 [waiting for connection]
zabbix 1477 1474 0 17:20 ? 00:00:00 zabbix_agentd: listener #2 [waiting for connection]
zabbix 1478 1474 0 17:20 ? 00:00:00 zabbix_agentd: listener #3 [waiting for connection]
zabbix 1479 1474 0 17:20 ? 00:00:00 zabbix_agentd: active checks #1 [idle 1 sec]
root 1488 1374 0 17:28 pts/0 00:00:00 grep zabbix
[root@localhost tmp]# lsof -i:10050 #####查看开启侦听的端口
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
zabbix_ag 9106 zabbix 4u IPv4 277432 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 9107 zabbix 4u IPv4 277432 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 9108 zabbix 4u IPv4 277432 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 9109 zabbix 4u IPv4 277432 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 9110 zabbix 4u IPv4 277432 0t0 TCP *:zabbix-agent (LISTEN)
zabbix_ag 9111 zabbix 4u IPv4 277432 0t0 TCP *:zabbix-agent (LISTEN)
5、配置 server页面
Configuration -----> Hosts ------->Create host
From:http://blog.csdn.net/avilifans/article/details/16800307
2017-04-18
Zabbix server,agentd安装配置
评论
发表评论
姓 名: