首页 > 代码库 > Zabbix安装和配置

Zabbix安装和配置

前言:最近一直忙着监控系统的事,现在最大的感受就是,环境搭建不是最难的,难的是后期的怎么去监控,怎么利用监控系统把众多服务器监控器起来,怎么开发脚本和监控系统配合去扩展监控,如中间件,数据库,JVM等;这些是后话,不多说了,下面是Zabbix 3.2.4的部署方法,做一下简单总结。

这里使用C/S架构:

环境:

服务器软件:Linux(RED HAT)6.5、Nginx 1.10.3、PHP 5.6.29、Mysql 5.5.53

应用软件:Zabbix 3.2.4

或者使用(Linux+Apache+PHP+Mysql)可换成其他数据库,Zabbix支持众多数据库,大家可以到官方网站去查询。

技术分享

1 Mysql部署

这里使用mysql-5.5.53 glibc格式安装

1.1 创建用户

# groupadd -r -g mysql

# useradd -g mysql -M -r mysql

1.2 创建数据目录

# mkdir -pv /mydata/data

# chown -R mysql.mysql /mydata/data/

1.3 安装并初始化

# tar -xf mysql-5.5.53-linux2.6-x86_64.tar.gz -C /usr/local/

# cd /usr/local/

# ln -sv mysql-5.7.15-linux-glibc2.5-x86_64/ mysql

# cd mysql

# chown -R mysql.mysql .

# scripts/mysql_install_db --user=mysql --datadir=/mydata/data

# chown -R root  .

1.4为mysql提供主配置文件

# cd /usr/local/mysql

# cp support-files/my-large.cnf /etc/my.cnf

添加如下行指定mysql数据文件的存放位置:

datadir = /mydata/data

1.5为mysql提供sysv服务脚本

# cd /usr/local/mysql

# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld

# chmod +x /etc/rc.d/init.d/mysqld

添加至服务列表:

# chkconfig --add mysqld

# chkconfig mysqld on

而后就可以启动服务测试使用了。

1.6设置root密码

设置root密码:

# ./bin/mysqladmin -u root password ‘new-password‘

 

2 Zabbix部署

2.1 编译安装

# yum install cc gcc –y

# yum insatll libxml2-devel.x86_64 –y

# yum install net-snmp-devel.x86_64 -y

# tar xf zabbix-3.2.4.tar.gz

# cd zabbix-3.2.4

configure:

./configure --prefix=/usr/local/zabbix-3.2.4/ \

--enable-server \

--enable-agent \

--with-mysql \

--with-net-snmp \

--with-libcurl \

--with-libxml2 \

--enable-proxy \

--enable-java

根据情况,安装缺少的开发库。

编译安装:

# make install

2.2 创建zabbix用户

# groupadd –r zabbix

# useradd -g zabbix –r zabbix

2.3 初始化zabbix数据库

zabbix server与 proxy需要数据库agent不需要。尤其要注意的是 proxy只需要导入一个sql 文件而server一共要导入3个sql文件。

# mysql -uroot –pzabbix

mysql> create database zabbix default charset utf8;

新建用户:

mysql> CREATE USER ‘zabbix‘@‘127.0.0.1‘ IDENTIFIED BY ‘zabbix‘;

mysql> GRANT all privileges ON zabbix.* TO ‘zabbix‘@‘127.0.0.1‘ WITH GRANT OPTION;

mysql> flush privileges;

mysql> quit;

# mysql -uzabbix –pzabbix zabbix < database/mysql/schema.sql

创建数据库请别忘记加 default charset utf8

如果你仅仅是初始化 proxy 的数据库,那么够了。如果初始化 server,那么接着导入下面两个 sql

# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql

# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql

2.4 配置zabbix_server

配置zabbix_server配置文件,zabbix 源码目录下

# mkdir /etc/zabbix

# cp config/zabbix_server.conf /etc/zabbix/

# vim /etc/zabbix/zabbix_server.conf

ListenPort=10051

DBHost=127.0.0.1

DBName=zabbix

DBUser=root

DBPassword= zabbix

DBPort=3306

2.5 启动服务

# /usr/local/zabbix-3.2.4/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf

默认端口 10051

3 PHP部署

3.1 安装依赖包

yum install gd-devel libjpeg-devel libxml2-devel bzip2-devel libcurl-devel –y

yum install libpng-devel.x86_64 –y

yum install freetype-devel.x86_64 -y

3.2 编译安装

# yum install libxml2 -y

# tar -xf php-5.6.29.tar.gz

# cd php-5.6.29

# ./configure --prefix=/usr/local/php-5.6.29 \

--with-config-file-path=/usr/local/php-5.6.29/etc \

--with-bz2 \

--with-curl \

--enable-ftp \

--enable-sockets \

--disable-ipv6 \

--with-openssl \

--with-gd \

--with-jpeg-dir=/usr/local \

--with-png-dir=/usr/local \

--with-freetype-dir=/usr/local \

--enable-gd-native-ttf \

--with-iconv-dir=/usr/local \

--enable-mbstring \

--enable-calendar \

--with-gettext \

--with-libxml-dir=/usr/local \

--with-zlib \

--with-pdo-mysql=mysqlnd \

--with-mysqli=mysqlnd \

--with-mysql=mysqlnd --enable-dom \

--enable-xml \

--enable-fpm \

--with-libdir=lib64 \

--enable-bcmath

编译安装:

make

make install

3.3 配置php

# cp /usr/local/php-5.6.29/etc/php.ini-production /usr/local/php-5.6.29/etc/php.ini

# cp /usr/local/php-5.6.29/etc/php-fpm.conf.default /usr/local/php-5.6.29/etc/php-fpm.conf

PHP 配置参数

打开 php.ini 配置文件,修改如下参数为如下值,否则 zabbix 安装不了。

max_execution_time = 300

memory_limit = 128M

post_max_size = 16M

upload_max_filesize = 2M

max_input_time = 300

date.timezone = PRC

3.4 启动服务

# /usr/local/php-5.6.29/sbin/php-fpm

查看是否启动:

# netstat -lnt | grep 9000

tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN

4 Nginx部署

4.1 解决依赖关系

yum -y install pcre-devel.x86_64

yum -y install openssl-devel.x86_64

4.2 创建nginx用户

添加用户nginx,实现以之运行nginx服务进程
# groupadd -r nginx
# useradd -g nginx -r nginx

4.3 编译和安装

# tar xf nginx-1.10.3.tar.gz

# cd nginx-1.10.3

 

根据需求,需要哪些模块,选择模块去编译

./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre --with-file-aio

# make

# make install

4.4 配置nginx

# vim /etc/nginx/nginx.conf

server {

listen 80;

server_name zabbix.com;

index index.html index.php index.html;

root /var/www/zabbix.com;

location /

{

try_files $uri $uri/ /index.php?$args;

}

location ~ ^(.+.php)(.*)$ {

fastcgi_split_path_info ^(.+.php)(.*)$;

include fastcgi.conf;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param PATH_INFO $fastcgi_path_info;

}

}

4.5 启动服务

/usr/sbin/nginx

5 在线配置Zabbix

5.1 访问配置页面

拷贝前端文件:

# mkdir -pv /var/www/zabbix.com/zabbix

# cp –rf ./zabbix-3.2.4/frontends/* /var/www/zabbix.com/zabbix/

# chown -R zabbix.zabbix /var/www/zabbix.com

浏览器打开 http://zabbix.com/zabbix

欢迎界面:

 技术分享

 

5.2 PHP配置需求

 技术分享

 

出现上述错误解决方法:找到CFrontendSetup.php添加$current = -1;

/include/classes/setup/CFrontendSetup.php

 技术分享

 

 技术分享

 

5.3 Mysql配置

 技术分享

 

5.4 Zabbix服务器详情信息

 技术分享

 

5.5 Zabbix安装前信息列表

 技术分享

 

5.6 安装完成

 技术分享

 

5.7 登录系统

 技术分享

 

默认:admin zabbix

修改语言为中文,乱码问题解决方法:

拷贝windows下C:\Windows\Fontssimkai.ttf到zabbix站点目录fonts下

修改define(‘ZBX_FONT_NAME‘, ‘DejaVuSans‘);后的结果:

define(‘ZBX_FONT_NAME‘, ‘simkai‘);

修改define(‘ZBX_GRAPH_FONT_NAME‘,          ‘DejaVuSans‘);后的结果:

define(‘ZBX_GRAPH_FONT_NAME‘,           ‘simkai‘);

登陆后的界面如下:

 技术分享

 

 

 总结:环境搭建时,注意按照自己业务的需求去编译软件,可以选择不同的web服务器或数据库去搭建;

    被监控服务器Zabbix-agentd安装和配置这里不再赘述,使用rpm包安装即可;

    上述文档中没有配置sysV风格的服务脚本,也可以自己编写或寻找服务器启动的脚本;

    如果被监控服务器数量较多,服务器分别分布在不同的地区,可以选择分布式监控。

Zabbix安装和配置