ZABBIX部署总结篇

Posted 51技术栈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ZABBIX部署总结篇相关的知识,希望对你有一定的参考价值。

       

                   

ZABBIX部署总结篇


一、ZABBIX的介绍

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix 2部分构成,zabbixserver 与可选组件zabbix agent

zabbix server 可以通过SNMPzabbix agentping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台之上。

zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent 可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1,Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。

zabbix server 可以单独监视远程服务器的服务状态;同时也可以与zabbix agent 配合,可以轮询zabbix agent 主动接收监视数据(trapping方式),同时还可被动接收zabbix agent 发送的数据(trapping方式)

另外zabbix server 还支持SNMP(v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。

zabbix server 监听在TCP 10051端口上

zabbix的主要特点:

- 安装与配置简单,学习成本低

- 支持多语言(包括中文)

- 免费开源

- 自动发现服务器与网络设备

- 分布式监视以及WEB集中管理功能

- 可以无agent监视

- 用户安全认证和柔软的授权方式

- 通过WEB界面设置或查看监视结果

- email等通知功能

Zabbix主要功能:

- cpu负荷

- 内存使用

- 磁盘使用

- 网络状况

- 端口监视

- 日志监视

二、ZABBIX安装

2.1、安装LAMP或者LNMP

安装搭建LAMPLNMP,可以参考LNMPLAMP安装文档进行安装

2.2、安装zabiix

下载zabbix-3.4.7.tar.gz

2.2.1、创建zabbix用户和组

[root@localhostsoft]# groupadd zabbix

[root@localhostsoft]# useradd -g zabbix zabbix

2.2.2、创建zabbix数据库:

serverproxy的运行都依赖于数据库,agent则不需要。以mysql数据库为例:在mysql数据库下创建zabbix

mysql>create database zabbix

Query OK, 1row affected (0.45 sec)

 

mysql> showdatabases;

+--------------------+

| Database           |

+--------------------+

|information_schema |

| mysql              |

|performance_schema |

| test               |

| zabbix             |

+--------------------+

5 rows in set(0.00 sec)

 

mysql>

Bye

[root@localhost~]#

2.2.3、登录mysql创建zabbix用户名和密码

mysql>  GRANT ALL ON zabbix.* TO'zabbix'@'192.168.%.%' IDENTIFIED BY 'zabbix';

Query OK, 0rows affected (1.13 sec)

mysql>FLUSH PRIVILEGES;

Query OK, 0rows affected (0.10 sec)

 

mysql>

Bye

[root@localhost~]#

在创建完帐号并授权成功后,使用命令行登录帐号看是否能登录成功,能登陆则正确

 

2.2.4、解压源码包并为zabbix提供数据库

解压软件包

[root@localhostsoft]# tar -zxvf zabbix-3.2.3.tar.gz

[root@localhostsoft]# cd zabbix-3.2.3

[root@localhost~]# cd  /root/zabbix-3.2.3/database/

zabbix提供数据库

[root@localhost~]# mysql zabbix < /root/soft/zabbix-3.2.3/database/mysql/schema.sql

[root@localhost~]# mysql zabbix < /root/soft/zabbix-3.2.3/database/mysql/images.sql

[root@localhost~]# mysql zabbix < /root/soft/zabbix-3.2.3/database/mysql/data.sql

 

2.2.5、编译安装

[root@localhostzabbix-3.2.3]# ./configure --prefix=/usr/local/zabbix --enable-server--enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl--with-ssh2 --with-openipmi

出错解决方法

  • 执行时报以下错:

报以下错

configure: error: Invalid Net-SNMP directory - unable to findnet-snmp-config

解决方法:yum install net-snmp-devel

报以下错:configure: error: SSH2 library not found

解决方法:

yum installlibssh2-devel

报以下错configure: error: Unable to use libevent (libevent checkfailed)

解决方法

yum installlibevent-devel  -y

报以下错:configure: error: Curl library not found

解决方法:

yum installlibcurl-devel

报错:mysql library not found

解决方法:yum installmysql-devel

2.2.6、而后编译安装zabbix即可

[root@localhostzabbix-3.2.3]# make && make install

2.2.7、添加配置文件

[root@localhostetc]# mkdir /etc/zabbix

[root@localhostetc]# cp /usr/local/zabbix/etc/zabbix_agentd.conf /etc/zabbix/

[root@localhostetc]# cp /usr/local/zabbix/etc/zabbix_server.conf /etc/zabbix/

 

[root@localhostetc]# chown -R zabbix:zabbix /etc/zabbix/

2.2.8、添加执行启动脚本

[root@localhostsbin]#cp /root/zabbix-3.2.3/misc/init.d/fedora/core/* /etc/init.d/

[root@localhostzabbix-3.2.3]# chmod +x /etc/init.d/zabbix_agentd

[root@localhostzabbix-3.2.3]# chmod +x /etc/init.d/zabbix_server

2.2.9、修改启动脚本文件

添加启动脚本之后需要修改这两个文件zabbix_serverzabbix_agentd,中的路径修改为zabbix实际的安装目录

[root@localhostsbin]#vim /etc/init.d/zabbix_server

BASEDIR=/usr/local/zabbix

[root@localhostsbin]#vim /etc/init.d/zabbix_ agentd

BASEDIR=/usr/local/zabbix

 

2.2.10添加zabbix服务端和客户端开机自启动

在添加完服务之后添加为开机自启动,为防止出现问题之后能自行启动zabbix serverzabbix agent 作为服务

[root@localhostsbin]#chkconfig --add/etc/init.d/zabbix_server

[root@localhostsbin]#chkconfig --add/etc/init.d/zabbix_agentd

2.2.11、修改常用配置文件

[root@localhostsbin]#vim /etc/zabbix/zabbix_server.conf

LogFile=/tmp/zabbix_server.log

DBName=存放数据的数据库名字

DBUser=zabbixzabbix数据库连接用户名

DBPassword=zabbixzabbix数据库连接密码

注:要是默认可以不用修改DBSocket,可以使用find 查找下(确定用的是那个mysql.sock,要是连不上数据库大多数是DBSocker的配置不对

DBSocket=/tmp/mysql.sock 数据库mysql.sock文件位置

2.2.12、启动zabbix服务

Centos6启动方式

[root@iZ2zegql6fupnhn8aei0bgZinit.d]# service zabbix_agentd start

Startingzabbix_agentd (via systemctl):                    [  OK  ]

[root@iZ2zegql6fupnhn8aei0bgZinit.d]# service zabbix_server start

Startingzabbix_server (via systemctl):                    [  OK  ]

[root@iZ2zegql6fupnhn8aei0bgZinit.d]#

Centos7启动方式                                 

# systemctl start zabbix-server zabbix-agent

# systemctl enable zabbix-server zabbix-agent

  • 注:启动报错

[root@localhostsbin]# service zabbix_server start

Startingzabbix_server: /usr/local/zabbix/sbin/zabbix_server: error while loading sharedlibraries: libmysqlclient.so.18: cannot open shared object file: No such fileor directory

                                                          [失败]

[root@localhostsbin]#

解决方法:

[root@localhostsbin]# find / -name  libmysqlclient.so.18

/usr/local/mysql/lib/libmysqlclient.so.18

/root/soft/mysql-5.5.49/libmysql/libmysqlclient.so.18

/root/soft/mysql-5.5.49/libmysql/CMakeFiles/CMakeRelink.dir/libmysqlclient.so.18

[root@localhostsbin]# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf

[root@localhostsbin]# ldconfig

在重新启动即可

 

2.2.13、使用ss –tnlp | grep zabbix查看zabbix,默认监听在10051端口

ZABBIX部署总结篇

ZABBIX部署总结篇


三、使用web端安装zabbix

3.1、为web端提供web zabbix源码文件

         [root@iZ2zegql6fupnhn8aei0bgZ~]# mkdir /data/WebData/zabbix/

[root@localhost php]# cp -R /root/ zabbix-2.0.20/frontends/php/*/data/WebData/zabbix/

[root@localhostphp]#

Nginx配置文件如下:

[root@iZ2zegql6fupnhn8aei0bgZ~]# cat /etc/nginx/conf.d/zabbix.conf

server {

        listen       9001;

        location / {

            root   /data/WebData/zabbix;

            index index.php index.htmlindex.htm;

        }

         server_tokens off;

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

         location ~ \.php$ {

            root           /data/WebData/zabbix;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

            include        fastcgi_params;

        }

         # location /ngx_status

    #      {      

    #           stub_status on;

    #           access_log off;

    #      allow 127.0.0.1;

    #      deny all;

    #      }      

        #location ~ \.php$ {

        #   proxy_pass   http://127.0.0.1;

        #}

}

3.2、在浏览器里面输入IP安装地址http://192.168.1.200/即可

  • 注:解决出现以下的红色警告,则需要用3.2.1步骤解决

 

ZABBIX部署总结篇

  • 注:解决出现以下的红色警告,则需要用3.2.1步骤解决

 

ZABBIX部署总结篇


3.2.1、修改/etc/php.ini

  找到定位到 ;date.timezone=这一行修改为以下内容

[root@localhostphp]# vim /etc/php.ini

date.timezone= Asia /Shanghai

重启httpd服务

[root@localhostphp]# service nginx restart

[root@localhostphp]#

3.2.2、开始安装  点击Next进行环境检查

ZABBIX部署总结篇

3.2.3、环境检查没有问题时,则通过并进行下一步

如报错,参考报错信息进行修正

ZABBIX部署总结篇


3.2.4、配置数据库,没有问题后进行下一步Next

ZABBIX部署总结篇

3.2.5、配置zabbix-server地址和端口、和别名

ZABBIX部署总结篇


3.2.6、预览配置信息,确定配置进行下一步

 

ZABBIX部署总结篇


3.2.7、进行安装完成

ZABBIX部署总结篇


正确界面为

ZABBIX部署总结篇


3.2.8、点击Finish,则安装完成

ZABBIX部署总结篇


3.2.9、安装完成后开始登录,默认帐号为admin 密码为zabbix

ZABBIX部署总结篇


四、安装Linux客户端(只安装zabbix_agent4.

4.1、解压、编译安装zabbix客户端

[root@localhostzabbix-2.0.20]# tar -zxvf zabbix-2.0.20.tar.gz

[root@localhostzabbix-2.0.20]# cd zabbix-2.0.20

[root@localhostzabbix-2.0.20]# ./configure --enable-agent

[root@localhostzabbix-2.0.20]# make && make install

4.2、查找客户端配置文件

root@localhostzabbix-2.0.20]# find / -name zabbix_agent.conf

/usr/local/etc/zabbix_agent.conf

/root/soft/zabbix-2.0.20/conf/zabbix_agent.conf

4.3、修改zabbix客户端配置文件

[root@localhostzabbix-2.0.20]# vim /usr/local/etc/zabbix_agent.conf

LogFile=/tmp/zabbix_agentd.log

ServerActive=127.0.0.1主动提交数据

[root@localhostsbin]#cp /root/zabbix-3.2.3/misc/init.d/fedora/core/ zabbix_agentd /etc/init.d/

[root@localhostzabbix-3.2.3]# chmod +x /etc/init.d/zabbix_agentd

4.4、修改启动脚本文件abbix_agentd,修改为zabbix的安装目录

[root@localhostsbin]#vim /etc/init.d/ zabbix_agentd

BASEDIR=/usr/local/zabbix

[root@localhostsbin]#chkconfig --add/etc/init.d/zabbix_agentd


4.5、启动zabbix客户端

[root@iZ2zegql6fupnhn8aei0bgZ init.d]# servicezabbix_agentd start

Starting zabbix_agentd (via systemctl):                    [  OK  ]ZABBIX部署总结篇

五、安装windows客户端

         安装windows的客户端和linux客户端是一样的同上,目前不出文档

六、使用zabbix

       5.1、创建一个监控主机

 

ZABBIX部署总结篇

ZABBIX部署总结篇

 

附录

1、、利用phpize在生产环境中为php添加新的扩展php-bcmath

在日常的开发当中,随着开发的功能越来越复杂。对运行环境的要求也就随着需求的变化需要不断地更新和变化。一个在线的生产系统不可能一开始就满足了所有的运行依赖,因此动态地添加依赖就显得比较必要了。如果你的应用是基于lanmp的话,那么很有可能某天需要添加一个apache的扩展或者php的扩展。此次记录一下如何添加一个php的扩展。由于需要接入银联的接口,而查看了下运行环境,发现缺少了高精度运算的扩展php-bcmath

    因此此处需要用phpize进行安装新的php扩展php-bcmath

1、安装php-bcmath扩展

         # cd /root/php-7.1.2/ext/bcmath

         # /usr/local/php/bin/phpize

         # ./configure --enable-bcmath--with-php-config=/usr/local/php/bin/php-config

         # make

         # make install

安装好以后可以看到bcmath.so的安装目录为

2、将bcmath.so扩展添加到php.ini

  编辑/usr/local/php/etc/php.ini

# vim/usr/local/php/etc/php.ini

  添加如下内容:

         extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303//bcmath.so"

3、重启服务

         # service nginx restart

4phpinfo()检查是否安装成功

  创建文件phpinfo_test.php

<?php

    phpinfo()

?>

  在浏览器中运行http://你的域名/phpinfo_test.php

  如果安装成功,你可以找到这样的结果项

ZABBIX部署总结篇


以上是关于ZABBIX部署总结篇的主要内容,如果未能解决你的问题,请参考以下文章

Zabbix实战之部署篇Zabbix客户端的安装部署方法

zookeeper-kafka集群部署总结篇

zookeeper集群部署总结篇

Zabbix实战之部署篇使用Docker部署Zabbix 6.2.7监控平台

zabbix监控之zabbix源码部署 (安装篇)

Zabbix实战之部署篇Zabbix监控windows系统配置方法