ZABBIX企业级监控安装部署

Zabbix是一个企业级的、开源的、分布式的监控套件。

Zabbix可以监控网络和服务的监控状况.Zabbix利用灵活的告警机制,允许用户对事件发送基于Email的告警. 这样可以保证快速的对问题作出相应. Zabbix可以利用存储数据提供杰出的报告及图形化方式. 这一特性将帮助用户完成容量规划。

Zabbix支持polling和trapping两种方式. 所有的Zabbix报告都可以通过配置参数在WEB前端进行访问. Web前端将帮助你在任何区域都能够迅速获得你的网络及服务状况. Zabbix可以通过尽可能的配置来扮演监控你的IT基础框架的角色,而不管你是来自于小型组织还是大规模的公司。

 

进程介绍

默认情况下zabbix包含5个程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另外一个zabbix_java_gateway是可选,这个需要另外安装。下面来分别介绍下他们各自的作用。

zabbix_agentd
客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等

zabbix_get
zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。

zabbix_sender
zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。

zabbix_server
zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server
备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。

zabbix_proxy
zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。为什么要用代理?代理是做什么的?卖个关子,请继续关注运维生存时间zabbix教程系列。

zabbix_java_gateway

zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。

安装:

zabbix需要LNMP或者LAMP环境

Linux+Nginx(Apache)+Mysql+Php

1、安装nginx

安装需要的软件包:

安装pcre

为了支持rewrite功能,我们需要安装pcre

[root@slave1 ~]# yum install pcre*
Loaded plugins: aliases, changelog, downloadonly, fastestmirror, kabi, presto, refresh-packagekit, security, tmprepo, verify,
              : versionlock
Loading support for CentOS kernel ABI
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * epel: mirrors.aliyun.com
 * extras: mirrors.163.com
 * updates: mirrors.aliyun.com

安装openssl

需要ssl的支持,如果不需要ssl支持,请跳过这一步

yum install openssl*

安装zlib

cd /usr/local/src
mkdir /usr/local/zlib
tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/zlib
make
make install

安装nginx

执行如下命令:

./configure --prefix=/usr/local/nginx-1.5.1 \
--with-http_ssl_module --with-http_spdy_module \
--with-http_stub_status_module --with-pcre 
--with-zlib

--with-http_stub_status_module:支持nginx状态查询
--with-http_ssl_module:支持https
--with-http_spdy_module:支持google的spdy,想了解请百度spdy,这个必须有ssl的支持
--with-pcre:为了支持rewrite重写功能,必须制定pcre

make && make install

启动nginx:

/usr/local/nginx/sbin/nginx

停止nginx:

/usr/local/nginx/sbin/nginx -s stop

当你有修改配置文件的时候,只需要reload以下即可

/usr/local/nginx/sbin/nginx -s reload

2、安装PHP:

php-5.5.38.tar.gz

安装依赖包

yum install gcc makegd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel –y

编译安装:

cd php-5.5.38

./configure --prefix=/usr/local/php-5.5.0--with-config-file-path=/usr/local/php-5.5.0/etc --with-bz2 --with-curl--enable-ftp --enable-sockets --disable-ipv6 --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
make
make instal

配置php:

cpphp.ini-production /usr/local/php-5.5.7/php.ini
cp/usr/local/php-5.5.7/etc/php-fpm.conf.default/usr/local/php-5.5.7/etc/php-fpm.conf
ln -s/usr/local/php/etc/php.ini /etc/php.ini
ln -s/usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf

编辑php-fpm.conf

vi/usr/local/php/etc/php-fpm.conf

user= www #设置php-fpm运行账号为www
group= www #设置php-fpm运行组为www
request_terminate_timeout= 30
pid =run/php-fpm.pid #取消前面的分号

编辑php.ini

vi/usr/local/php/etc/php.ini
post_max_size =16M
max_execution_time =300
max_input_time =300
date.timezone = PRC

启动php-fpm

/usr/local/php-5.5.7/sbin/php-fpm

配置nginx支持php:

vi/usr/local/nginx/conf/nginx.conf
user www www; #首行user去掉注释,修改Nginx运行组为wwwwww;必须与/usr/local/php/etc/php-fpm.conf中的user,group配置相同,否则php运行出错
index index.html index.htmindex.php; #添加index.php
# pass the PHP scriptsto FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; includefastcgi_params;
}

#取消FastCGIserver部分location的注释,注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径

安装mysql:

由于我机器上已经安装了mysql5.6,这里不再安装,直接使用

mysql -u root -p
create database zabbixcharacter set utf8;
grant all on zabbix.*to 'zabbix'@'127.0.0.1' identified by '123456' with grant option;
grant all on zabbix.*to 'zabbix'@'localhost' identified by '123456' with grant option;
 
flush privileges;

安装zabbix:

zabbix-3.4.1.tar.gz

cd /root/mysql/zabbix/zabbix-3.4.1/database
mysql -u root -p
use zabbix
source /usr/local/src/zabbix-2.2.6/database/mysql/schema.sql#导入脚本文件到zabbix数据库
source /usr/local/src/zabbix-2.2.6/database/mysql/images.sql#导入脚本文件到zabbix数据库
source /usr/local/src/zabbix-2.2.6/database/mysql/data.sql#导入脚本文件到zabbix数据库
 
 
cd /usr/lib64/mysql
ln -s libmysqlclient.so.16.0.0libmysqlclient.so #添加软连接
ln -s libmysqlclient_r.so.16.0.0libmysqlclient_r.so #添加软连接

添加用户:

groupadd zabbix
useradd –G zabbix –g zabbix  zabbix
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
/sbin/ldconfig
cd /root/mysql/zabbix/zabbix-3.4.1
./configure --prefix=/usr/local/zabbix --enable-server--enable-agent --with-net-snmp --with-libcurl --enable-proxy--with-mysql=/usr/bin/mysql_config
make #编译
make install #安装
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系统软连接
ln -s /usr/local/zabbix/bin/* /usr/local/bin/ #添加系统软连接

(这个软连接一定要做,不然会报连接不上mysql的错误)

 

配置zabbixf服务端:

1、添加zabbix服务对应的端口

vi /etc/services #编辑,在最后添加以下代码

# Zabbix
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper

2、修改zabbix服务端配置文件

cd /usr/local/zabbix/etc
vi /usr/local/zabbix/etc/zabbix_server.conf
DBName=zabbix #数据库名称
DBUser=zabbix #数据库用户名
DBPassword=123456 #数据库密码
ListenIP=127.0.0.1 #数据库ip地址
AlertScriptsPath=/usr/local/zabbix/share/zabbix/scripts#zabbix运行脚本存放目录

3、修改代理端配置文件:

vi /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
Server=127.0.0.1,192.168.174.133
ServerActive=127.0.0.1,192.168.174.133
Hostname=slave1
UnsafeUserParameters=1 #启用自定义key

4、添加开机启动脚本

cp /usr/local/src/zabbix/misc/init.d/fedora/core/zabbix_server/etc/init.d/zabbix_server #服务端
cp /usr/local/src/zabbix/misc/init.d/fedora/core/zabbix_agentd/etc/init.d/zabbix_agentd #客户端
chmod +x /etc/init.d/zabbix_server #添加脚本执行权限
chmod +x /etc/init.d/zabbix_agentd #添加脚本执行权限
chkconfig zabbix_server on #添加开机启动
chkconfig zabbix_agentd on #添加开机启动

5、修改zabbix开机启动脚本中的zabbix安装目录

vi /etc/init.d/zabbix_server #编辑服务端配置文件
BASEDIR=/usr/local/zabbix/ #zabbix安装目录
vi /etc/rc.d/init.d/zabbix_agentd #编辑客户端配置文件
BASEDIR=/usr/local/zabbix/ #zabbix安装目录

6、配置web站点

cd /root/mysql/zabbix/zabbix-3.4.1
cp -r /root/mysql/zabbix/zabbix-3.4.1/frontends/php/usr/local/nginx/html/zabbix
chown www.www -R /usr/local/nginx/html/zabbix
备注:/usr/local/nginx/html为Nginx默认站点目录 www为Nginx运行账户
service zabbix_server start #启动zabbix服务端
service zabbix_agentd start #启动zabbix客户端

确定相关服务是否在运行 :

Mysql :

[root@slave1 ~]# mysqladmin -u root -p status
Enter password: 
Uptime: 252980  Threads: 24  Questions: 211099  Slow queries: 0  Opens: 261  Flush tables: 2  Open tables: 85  Queries per second avg: 0.834

NGINX:

[root@slave1 ~]# ps -ef|grep nginx
root      2244     1  0 10:07 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
www       2247  2244  0 10:07 ?        00:00:06 nginx: worker process                                          
root     36038 35429  0 17:27 pts/2    00:00:00 grep nginx

PHP-FPM:

[root@slave1 ~]# ps aux|grep php
root      1873  0.0  0.0 202580   536 ?        Ss   10:07   0:02 php-fpm: master process (/usr/local/php-5.5.7/etc/php-fpm.conf)                                                                                
www      34814  0.3  5.1 225848 29908 ?        S    17:13   0:03 php-fpm: pool www                                                                                                                              
www      34896  0.2  5.1 225848 29908 ?        S    17:14   0:02 php-fpm: pool www                                                                                                                              
www      34900  0.2  5.1 225848 29888 ?        S    17:14   0:01 php-fpm: pool www                                                                                                                              
root     36121  0.0  0.1 103276   900 pts/2    S+   17:28   0:00 grep php

zabbix:

[root@slave1 ~]# ps aux |grep zabbix
zabbix    2258  0.0  0.1 145588   692 ?        S    10:07   0:00 zabbix_server -c /etc/zabbix/zabbix_server.conf
zabbix    2271  0.0  0.0  81288   228 ?        S    10:07   0:00 zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix    2274  0.0  0.0  81288   468 ?        S    10:07   0:18 zabbix_agentd: collector [idle 1 sec]          
zabbix    2275  0.0  0.1  81288   820 ?        S    10:07   0:12 zabbix_agentd: listener #1 [waiting for connection]
zabbix    2276  0.0  0.1  81288   816 ?        S    10:07   0:11 zabbix_agentd: listener #2 [waiting for connection]
zabbix    2277  0.0  0.1  81288   920 ?        S    10:07   0:11 zabbix_agentd: listener #3 [waiting for connection]
zabbix    2278  0.0  0.0  81296   580 ?        S    10:07   0:02 zabbix_agentd: active checks #1 [idle 1 sec]   
zabbix    2279  0.0  0.1  81296   600 ?        S    10:07   0:02 zabbix_agentd: active checks #2 [idle 1 sec]   
zabbix    3865  0.0  0.2 145584  1172 ?        S    11:06   0:04 zabbix_server: configuration syncer [synced configuration in 0.030263 sec, idle 60 sec]
zabbix    3866  0.0  0.0 145588   400 ?        S    11:06   0:00 zabbix_server: alerter #1 started              
zabbix    3867  0.0  0.0 145588   428 ?        S    11:06   0:00 zabbix_server: alerter #2 started              
zabbix    3868  0.0  0.0 145588   400 ?        S    11:06   0:00 zabbix_server: alerter #3 started              
zabbix    3869  0.0  0.1 145836  1016 ?        S    11:06   0:01 zabbix_server: housekeeper [deleted 0 hist/trends, 0 items, 5 events, 0 sessions, 0 alarms, 0 audit items in 0.070399 sec, idle for 1 hour(s)]
zabbix    3870  0.0  0.1 145716  1084 ?        S    11:06   0:01 zabbix_server: timer #1 [processed 3 triggers, 0 events in 0.001423 sec, 0 maintenances in 0.002248 sec, idle 30 sec]
zabbix    3871  0.0  0.1 145580   668 ?        S    11:06   0:03 zabbix_server: http poller #1 [got 0 values in 0.001134 sec, idle 5 sec]
zabbix    3872  0.0  0.1 243100   812 ?        S    11:06   0:01 zabbix_server: discoverer #1 [processed 0 rules in 0.001855 sec, idle 60 sec]
zabbix    3873  0.0  0.2 145588  1568 ?        S    11:06   0:07 zabbix_server: history syncer #1 [synced 0 items in 0.000011 sec, idle 1 sec]
zabbix    3874  0.0  0.2 145588  1564 ?        S    11:06   0:07 zabbix_server: history syncer #2 [synced 0 items in 0.000002 sec, idle 1 sec]
zabbix    3875  0.0  0.2 145588  1564 ?        S    11:06   0:07 zabbix_server: history syncer #3 [synced 0 items in 0.000012 sec, syncing history]
zabbix    3876  0.0  0.3 145996  1936 ?        S    11:06   0:07 zabbix_server: history syncer #4 [synced 0 items in 0.000012 sec, idle 1 sec]
zabbix    3877  0.0  0.1 145580   656 ?        S    11:06   0:06 zabbix_server: escalator #1 [processed 0 escalations in 0.002058 sec, idle 3 sec]
zabbix    3878  0.0  0.0 145588   536 ?        S    11:06   0:01 zabbix_server: proxy poller #1 [exchanged data with 0 proxies in 0.000007 sec, idle 5 sec]
zabbix    3879  0.0  0.0 145588   476 ?        S    11:06   0:02 zabbix_server: self-monitoring [processed data in 0.000011 sec, idle 1 sec]
zabbix    3880  0.0  0.1 145580   676 ?        S    11:06   0:02 zabbix_server: task manager [processed 0 task(s) in 0.000786 sec, idle 5 sec]
zabbix    3881  0.0  0.2 244656  1616 ?        S    11:06   0:06 zabbix_server: poller #1 [got 1 values in 0.040863 sec, idle 1 sec]
zabbix    3882  0.0  0.2 244704  1640 ?        S    11:06   0:06 zabbix_server: poller #2 [got 0 values in 0.000014 sec, idle 1 sec]
zabbix    3883  0.0  0.2 244704  1604 ?        S    11:06   0:06 zabbix_server: poller #3 [got 0 values in 0.000018 sec, idle 1 sec]
zabbix    3884  0.0  0.2 244704  1396 ?        S    11:06   0:06 zabbix_server: poller #4 [got 0 values in 0.000014 sec, idle 1 sec]
zabbix    3885  0.0  0.2 244564  1200 ?        S    11:06   0:06 zabbix_server: poller #5 [got 0 values in 0.000025 sec, idle 1 sec]
zabbix    3886  0.0  0.2 244612  1252 ?        S    11:06   0:02 zabbix_server: unreachable poller #1 [got 0 values in 0.000014 sec, idle 5 sec]
zabbix    3887  0.0  0.1 145616   796 ?        S    11:06   0:00 zabbix_server: trapper #1 [processed data in 0.005566 sec, waiting for connection]
zabbix    3888  0.0  0.1 145616   792 ?        S    11:06   0:00 zabbix_server: trapper #2 [processed data in 0.002962 sec, waiting for connection]
zabbix    3889  0.0  0.1 145616   800 ?        S    11:06   0:00 zabbix_server: trapper #3 [processed data in 0.002406 sec, waiting for connection]
zabbix    3890  0.0  0.1 145616   980 ?        S    11:06   0:00 zabbix_server: trapper #4 [processed data in 0.006011 sec, waiting for connection]
zabbix    3891  0.0  0.1 145616   800 ?        S    11:06   0:00 zabbix_server: trapper #5 [processed data in 0.003363 sec, waiting for connection]
zabbix    3892  0.0  0.0 147024   508 ?        S    11:06   0:01 zabbix_server: icmp pinger #1 [got 0 values in 0.000009 sec, idle 5 sec]
zabbix    3893  0.0  0.1 145588   772 ?        S    11:06   0:09 zabbix_server: alert manager #1 [sent 0, failed 0 alerts, idle 5.014333 sec during 5.014336 sec]
zabbix    3894  0.0  0.2 146268  1652 ?        S    11:06   0:05 zabbix_server: preprocessing manager #1 [queued 0, processed 5 values, idle 5.076348 sec during 5.077080 sec]
zabbix    3895  0.0  0.0 145548   516 ?        S    11:06   0:00 zabbix_server: preprocessing worker #1 started 
zabbix    3896  0.0  0.0 145588   396 ?        S    11:06   0:00 zabbix_server: preprocessing worker #2 started 
zabbix    3897  0.0  0.0 145548   512 ?        S    11:06   0:00 zabbix_server: preprocessing worker #3 started 
root     36192  0.0  0.1 103276   896 pts/2    S+   17:29   0:00 grep zabbix


登录web配置zabbix :

http://192.168.174.133zabbix/setup.php

ZABBIX企业级监控安装部署_第1张图片
ZABBIX企业级监控安装部署_第2张图片 ZABBIX企业级监控安装部署_第3张图片 ZABBIX企业级监控安装部署_第4张图片 ZABBIX企业级监控安装部署_第5张图片 ZABBIX企业级监控安装部署_第6张图片 ZABBIX企业级监控安装部署_第7张图片 ZABBIX企业级监控安装部署_第8张图片

你可能感兴趣的:(mysql,linux)