分布式监控系统Zabbix3.2跳坑指南

zabbix是什么在此就不多作介绍了,可以参考之前的文章零代码如何打造自己的实时监控预警系统,这篇主要介绍安装及注意事项。

主要分为服务端和客户端安装,客户端又分为Linux、Windows。

服务端安装环境

CentOS6.8

Zabbix3.2

Mysql5.6

Apache

PHP56w

环境准备

关闭selinux

setenforce 0

进入mysql,创建zabbix用户并授权

mysql -uroot -p CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;

GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@'%' IDENTIFIED BY 'zabbix';

安装apache、php

依次安装,虽然说是离线安装,但还是需要联网下载一些包,如果自己手动下载再安装的话会掉入一个个连环坑。

yum install php-pecl-ssh2.x86_64 libssh2-devel.x86_64 net-snmp* OpenIPMI OpenIPMI-devel -y

yum install --skip-broken rpm-build curl* curl-devel httpd php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap -y

yum install gcc libxml2-devel unixODBC-devel net-snmp-devel

libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel –y

在这里centos6.8里面的php是一个低版本php54w的,因此需要安装php56w,并重启httpd 和mysqld服务

修改php配置文件

vim /etc/php.ini

post_max_size=16M

max_execution_time=300

max_input_time=300

date.timezone=Asia/Shanghai

always_populate_raw_post_data=-1

启动apache

service httpd start

调整防火墙配置,没加会访问出错

-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT

添加zabbix服务端口

vim /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

创建用户

groupadd zabbix

useradd -g zabbix zabbix

创建zabbix文件夹

mkdir /usr/local/zabbix

cd /usr/local/zabbix

下载zabbix3.2

wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.0/zabbix-3.2.0.tar.gz

解压

tar zxvf zabbix-3.2.0.tar.gz

进入zabbix文件数据库导入表

cd /usr/local/zabbix/zabbix-3.2.0/database/mysql

mysql -u zabbix -p zabbixzabbix

mysql -u zabbix -p zabbixzabbix

mysql -u zabbix -p zabbixzabbix

下载依赖包

yum install -y gcc mysql-community-devel libxml2-devel unixODBC-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel fping

编译安装zabbix

这里面的zabbix为编译后的zabbix文件夹,zabbix-3.2.0为源文件

cd /usr/local/zabbix/zabbix-3.2.0/

./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --enable-proxy -with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc --with-ssh2 --with-openipmi --with-openssl --with-java-gateway

make install

修改zabbix_server配置文件

或在编译目录下/usr/local/zabbix/etc/zabbix_agentd.conf

vim /usr/local/etc/zabbix_server.conf

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

FpingLocation=/usr/sbin/fping

DBSocket=/usr/local/mysql5.6/data/mysql.sock 这里填你本机数据库的sock //我发现如果不加,zabbix会一直报connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket mysql.sock'。

ListenIP=你的zabbix_server监听的IP地址 这里的配置一定要写正确,否则后面会出很多问题

创建zabbix-web页面文件夹

在/var/www/html/下创建文件夹 zabbix

mkdir /var/www/html/zabbix

拷贝 php 页面文件到/var/www/html/zabbix 目录下并授权

cd zabbix-3.2.0

cp -R ./frontends/* /var/www/html/zabbix

创建一个规则允许web服务器访问前端文件

chcon -Rv --type=httpd_sys_content_t /var/www/html

chmod +x /var/www/html/zabbix/php/conf/

运行Apache和zabbix访问外网

setsebool -P httpd_can_network_connect=1

setsebool -P zabbix_can_network=1

编辑zabbix前端的PHP配合配置

vim /etc/httpd/conf.d/zabbix.conf

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 always_populate_raw_post_data -1

php_value date.timezone Asia/Shanghai //主要去掉# 改成上海

不设置会导致异常:Time zone for PHP is not set (configuration parameter "date.timezone").

拷贝启动脚本到/etc/init.d

cp /usr/local/zabbix/zabbix-3.2.0/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server

cp /usr/local/zabbix/zabbix-3.2.0/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd

chkconfig --add /etc/init.d/zabbix_server

chkconfig --add /etc/init.d/zabbix_agentd

修改 basedir:这里面的zabbix为编译后的zabbix文件夹

vi /etc/init.d/zabbix_server

BASEDIR=/usr/local/换成BASEDIR=/usr/local/zabbix

vi /etc/init.d/zabbix_agentd

BASEDIR=/usr/local/换成BASEDIR=/usr/local/zabbix

ln -s /usr/local/zabbix/sbin/zabbix_server /usr/local/sbin/

ln -s /usr/local/zabbix/sbin/ /usr/local/sbin/

解决前端显示中文问题

cd /var/www/html/zabbix/fonts/

将中文字体放入

msyh.ttf

修改php配置文件

vim /var/www/html/zabbix/include/defines.inc.php

define('ZBX_FONT_NAME', 'msyh');

define('ZBX_GRAPH_FONT_NAME', 'msyh'); // font file name

进入主页面:下面进行,将语言改为中文。

vim /usr/share/zabbix/include/locales.inc.php

找到第55行,将false改为true

启用Zabbix服务器,Apache和MySQL服务启动

chkconfig httpd on

chkconfig mysqld on

chkconfig zabbix_server on

chkconfig zabbix_agentd on

全面启动

service zabbix_server start

service zabbix_agentd start

登陆zabbix

http://192.168.80.32/zabbix/setup.php

默认用户名/密码:Admin/zabbix

此时会出现安装界面,然后点下一步

点击next配置mysql:

不要用localhost,用主机IP

点击下一步。此步出现错误,发现无法连接数据库,最后发现zabbix这个数据库中,没有任何数据,检查时加红色的那部分出问题。

next到最后

默认用户名/密码:Admin/zabbix

点击zabbix右上角小人,进行修改:

再重新刷新页面

至此Zabbix服务端全部搭建完毕。

Zabbix客户端安装

下载zabbix3.2

zabbix-3.2.0.tar.gz

wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.0/zabbix-3.2.0.tar.gz

添加服务

vim /etc/services

zabbix-agent 10050/tcp # ZabbixAgent

zabbix-agent 10050/udp # ZabbixAgent

zabbix-trapper 10051/tcp # ZabbixTrapper

zabbix-trapper 10051/udp # ZabbixTrapper

添加用户

groupadd -g 201 zabbix

useradd -g zabbix -u 201 -s /sbin/nologin zabbix

解压

tar -zxvf zabbix-3.2.0.tar.gz

cd zabbix-3.2.0

./configure --prefix=/usr/local/zabbix --enable-agent

make install

修改agentd配置文件

vi /usr/local/zabbix/etc/zabbix_agentd.conf

Server= 192.168.80.32 #服务端ip地址

ServerActive= 192.168.80.32 #服务端ip地址

Hostname=192.168.80.30  #必须与创建主机时的hostname一致(客户端IP)

修改启动配置,添加软链接

mkdir /var/log/zabbix

chown zabbix.zabbix /var/log/zabbix

cp /usr/local/zabbix/zabbix-3.2.0/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

chmod 755 /etc/init.d/zabbix_agentd

ln -sv /usr/local/zabbix/sbin/* /usr/local/sbin/

ln -sv /usr/local/zabbix/bin/* /usr/local/bin/

转换文件用户

chown -R zabbix:zabbix /usr/local/zabbix

设置自启动

chkconfig zabbix_agentd on

service zabbix_agentd start

在Server端使用以下命令测试是否能连接到Agent端:

# zabbix_get -s 192.168.80.30 -p 10050 -k "system.uptime"

若没有添加zabbix_get软连接,则加上编译文件夹路径

/usr/local/zabbix/bin/zabbix_get  -s 192.168.80.30 -p 10050 -k "system.uptime"

启动zabbix web端添加主机

注意上面的IP,与zabbix_agent中配置的hostname要一致

给服务器添加监控模板(自带了一些模板,如果不满足后面可以自己创建)

在监控项图表中可查看记录了,如果没数据可能要等一会。

Windows中安装客户端

下载

官网:https://www.zabbix.com/download

下载 zabbix_agents_3.2.0.win.zip

解压缩zabbix_agents_3.2.0.win.zip

在应用程序中文件夹中创建配置目录及文件 conf\zabbix_agent.conf

配置

LogFile=c:\zabbix_agentd.log

EnableRemoteCommands=1 ##激活远程执行脚本

Server=192.168.80.32

ServerActive=192.168.80.32

Hostname=192.168.80.33

注册zabbix agent服务

1 运行cmd进入windows命令行控制台,下面我是将程序放在D:\Soft文件夹下,且对文件夹重命名zabbix_agents_320win

2 运行D:\Soft\zabbix_agents_320win\bin\win64\zabbix_agentd.exe -c D:\Soft\zabbix_agents_320win\conf\zabbix_agentd.conf -i

注:-c表示配置文件路径 -i表示安装

启动

在命令行运行services.msc进入windows服务控制台,找到zabbix_agent服务,右键启动即可

总得来说zabbix客户端中windows比linux安装容易。

最后一点就是如果能用CentOS7就尽量用,6.8的版本有些基础插件版本低,需要自己升级所以安装的时候不是差这就差那的。如果是CentOS7就简单了,导入源:

rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

安装zabbix服务包

yum -y install zabbix-server-mysql zabbix-web-mysql

我们给本机也安装上客户端

yum -y install zabbix-agent

不过安装的位置是默认的。

安装问题汇总

zabbix_server启动报错---解决方法

Starting Zabbix Server: /opt/app/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory

vim /etc/ld.so.conf 加入

/usr/local/mysql5.6/lib  mysql安装路径换成自己的

zabbix web页面中添加的主机的可用性状态显示“received empty response from zabbix agent at.......”

解决方法:agent配置文件中的Server填写的IP不对,一定要填写zabbix_server的监听IP。确认配置文件没问题后,还有一个原因,在创建主机的时候,IP地址填写的不正确,要填写agent的IP地址。更改即可

vi /etc/zabbix/zabbix_agentd.conf //修改zabbix_agentd.conf参数

Server=192.168.80.32 //安装zabbix服务端的机器的IP

ServerActive=192.168.80.32 //安装zabbix服务端的机器的IP

Hostname=192.168.80.31 //我这以被监控的机器的ip作为Hostname,注意是被监控的,而且要与监控页面的监控主机名一致

安装过程中遇到Requires: libc.so.6(GLIBC_2.17)(64bit) 怎么办?

网上有说

cp /usr/local/glibc-2.17/lib/libc-2.17.so /lib64/libc-2.17.so

mv /lib64/libc.so.6 /lib64/libc.so.6.bak (但这样会导致整个系统错误,结果悲剧了 登录不了服务器,最后只能找其它方法修复系统,libc.so是一个系统级的文件,不能随便删除,但在centos7环境下不存在此问题)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,298评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,701评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,078评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,687评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,018评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,410评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,729评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,412评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,124评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,379评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,903评论 1 257
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,268评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,894评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,014评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,770评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,435评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,312评论 2 260

推荐阅读更多精彩内容