基于rhel7.2的Zabbix平台搭建和部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于rhel7.2的Zabbix平台搭建和部署相关的知识,希望对你有一定的参考价值。

 基于rhel7.2的Zabbix平台搭建和部署(二)


一、监控系统Zabbix-3.2.1的安装

zabbix-server端的操作

说明:zabbix服务器端要提前安装好LNMP环境(mysqlnginxphp5的安装目录均是/usr/local)

(1)创建zabbix运行的用户

[[email protected] ~]# groupadd zabbix

[[email protected] ~]# useradd -g zabbix

[[email protected] ~]# grep zabbix /etc/passwd

zabbix:x:1001:1001::/home/zabbix:/bin/bash

(2)安装libcurl和net-snmp等依赖包

[[email protected] ~]# yum-y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdkjava-1.8.0-openjdk-devel OpenIPMI-devel  libssh2-devel

注意:OpenIPMI-devel 和libssh2-devel软件包必须使用centos在线yum软件源安装。

这里我是这样安装的:

[[email protected] ~]# yum-y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdkjava-1.8.0-openjdk-devel 

[[email protected] ~]# yum install -y OpenIPMI.x86_64

[[email protected] ~]# yum install -y libssh2.x86_64

(3)安装Fping

[[email protected] src]# tar -zxvf fping-3.4.tar.gz

[[email protected] src]# cd fping-3.4

[[email protected] fping-3.4]# ./configure && make && make install

更改所属主、组,更改文件权限:

[[email protected] fping-3.4]# chown root:zabbix /usr/local/sbin/fping

[[email protected] fping-3.4]# chmod 4710 /usr/local/sbin/fping

[[email protected] fping-3.4]# ll -d /usr/local/sbin/fping

-rws--x--- 1 root zabbix 82996 Jun  5 09:25 /usr/local/sbin/fping

技术分享

(4)安装zabbix Server

[[email protected] src]# tar -zxvf zabbix-3.2.3.tar.gz

[[email protected] zabbix-3.2.3]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl--with-openipmi && make && make install

注意:

⑴编译时最好带上--enable-java这个参数,方便后续监控tomcat程序所用。

⑵--with-ssh2是不需要在客户端服务器上面安装Zabbix agent,如果需要使用ssh检查,需要在编译的时候加上这项,最低需要libssh2 1.0.0版本,需要安装ssh开发包

⑶--with-openipmi用户可以利用IPMI 监视服务器的物理特征,如温度、电压、电扇工作状态、电源供应等。

⑷如果添加了--enable-proxy, 那么会生成get和sender两条命令. 如下, 用于接收agent发生过来的信息, 同时发送给server。

(5)创建软连接

[[email protected] zabbix-3.2.3]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/

[[email protected] zabbix-3.2.3]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/


二、zabbix server配置与启动

(1)登入数据库,创建zabbix用户和数据库

[[email protected] zabbix-3.2.3]# mysql -uroot -p123456

创建zabbix数据库:

mysql> create database zabbix ;

Query OK, 1 row affected (0.00 sec)

创建zabbix用户并授予权限:

mysql> grant all privileges on zabbix.* to [email protected] identified by ‘zabbix‘;

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> exit;

Bye

(2)导入zabbix初始数据

先切换到zabbix解压目录下:

[[email protected] zabbix-3.2.3]# cd database/mysql

[[email protected] mysql]# pwd

/usr/src/zabbix-3.2.3/database/mysql

[[email protected] mysql]# ls

data.sql  images.sql  schema.sql

再进行zabbix初始数据导入:

[[email protected] mysql]# mysql -uzabbix -pzabbix -hlocalhost zabbix < schema.sql

mysql: [Warning] Using a password on the command line interface can be insecure.

[[email protected] mysql]# mysql -uzabbix -pzabbix -hlocalhost zabbix < images.sql

mysql: [Warning] Using a password on the command line interface can be insecure.

[[email protected] mysql]# mysql -uzabbix -pzabbix -hlocalhost zabbix < data.sql

mysql: [Warning] Using a password on the command line interface can be insecure.

(3)编辑 /usr/local/zabbix/etc/zabbix_server.conf

[[email protected] mysql]# vim /usr/local/zabbix/etc/zabbix_server.conf

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

创建zabbix日志文件和更改文件权限:

[[email protected] ~]# mkdir -p /usr/local/zabbix/logs

[[email protected] ~]# chown -R zabbix:zabbix /usr/local/zabbix

[[email protected] ~]# ll -d /usr/local/zabbix/logs

drwxr-xr-x 2 zabbix zabbix 4096 Jun  5 10:09 /usr/local/zabbix/logs

(4)启动zabbix服务

[[email protected] ~]# zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory

出现报错,启动失败,下面分析和解决报错内容:

从以上内容可以看出,说是没发现libmysqlclient.so.20这个库文件。那我们用find命令搜索一下看一看,到底有没有这个文件:

[[email protected] ~]# find / -name  libmysqlclient.so.20

/usr/src/mysql-5.7.13/libmysql/libmysqlclient.so.20

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

libmysqlclient.so.20这个库文件确实存在。现在我们再去看看ld.so.conf文件,看看里面有没有libmysqlclient.so.20的路径。

[[email protected] ~]# cat /etc/ld.so.conf

include ld.so.conf.d/*.conf

可以看见里面没有libmysqlclient.so.20的路径,我们把libmysqlclient.so.20路径添加到ld.so.conf里面即可。

注明:ld.so.conf文件是系统搜索动态连接库的目录设置,在这个文件里面写下的地址系统在运行程序时会自动去这些个目录里面找需要的动态库文件

解决方法如下:

1.进入ld.so.conf文件

[[email protected] ~]# vim /etc/ld.so.conf

2.在末尾新增两行内容

技术分享

3.让其修改生效

[[email protected] ~]# ldconfig

4.再次尝试启动:

[[email protected] ~]# zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf   [[email protected] ~]# netstat -lnp |grep zabbix

tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      13887/zabbix_server

从上图我们可以看到启动后没有报错,启动成功了,确认一下服务是否真正开启,我们可以看到zabbix_server默认监听的端口号是10051。

(5)添加开机启动脚本

[[email protected] zabbix-3.2.3]# cp misc/init.d/fedora/core/zabbix_server  /etc/rc.d/init.d/zabbix_server

[[email protected] zabbix-3.2.3]# cp misc/init.d/fedora/core/zabbix_agentd  /etc/rc.d/init.d/zabbix_agentd

[[email protected] ~]# chkconfig --add zabbix_agentd

[[email protected] ~]# chkconfig --add zabbix_server

[[email protected] ~]# chkconfig zabbix_server on

[[email protected] ~]# chkconfig zabbix_agentd on

(6)修改zabbix开机启动脚本中的zabbix安装目录

编辑服务端配置文件:

[[email protected] ~]# vim /etc/rc.d/init.d/zabbix_server

技术分享

技术分享

//zabbix安装目录

技术分享

//pid文件路径

编辑客户端配置文件:

[[email protected] ~]# vim /etc/rc.d/init.d/zabbix_agentd

技术分享

技术分享

技术分享

(7)重载systemctl,并重新启动zabbix_server服务

[[email protected] ~]# systemctl daemon-reload

[[email protected] ~]# /etc/init.d/zabbix_server stop

Stopping zabbix_server (via systemctl):                    [  OK  ]

[[email protected] ~]# netstat -lnp |grep zabbix_server

tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      13887/zabbix_server

[[email protected] ~]# killall -9 zabbix_server

[[email protected] ~]# netstat -lnp |grep zabbix_server

[[email protected] ~]# /etc/init.d/zabbix_server start

Starting zabbix_server (via systemctl):                    [  OK  ]

[[email protected] ~]# netstat -lnp |grep zabbix_server

tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      14122/zabbix_server

技术分享

(8)在防火墙上开启10051端口例外

[[email protected] ~]# firewall-cmd --permanent --add-port=10051/tcp

success

[[email protected] ~]# firewall-cmd --reload

success

技术分享


三、配置zabbix web页面

(1)在安装目录将frontends拷贝到指定的web root

[[email protected] src]# cd zabbix-3.2.3

[[email protected] zabbix-3.2.3]# cp -r frontends/php/ /usr/local/nginx1.10/html/zabbix

[[email protected] zabbix-3.2.3]# chown -R www:www  /usr/local/nginx1.10/html/zabbix

注1:/usr/local/nginx/html为Nginx默认站点目录

注2:www为Nginx运行账户

注3:PHP需要至少开启扩展:

gd,bcmath,ctype,libXML,xmlreader,xmlwriter,session,sockets,mbstring,gettext,mysql

(2)查看是否包括了上面所提到的所有扩展模块

技术分享

注:从上图里看到的扩展和注3进行对比,少一个都不行,少一个你都没有继续做下去的必要了。

我这里可以对比出,全部的扩展模块都存在了。

(3)在页面上安装zabbix_server

说明:访问Web界面http://192.168.8.117/zabbix,进行相关web配置,配置完成后使用默认用户admin(密码:zabbix)登陆即可。

第一步:进入ZABBIX WEB安装画面

技术分享

点击“next step”

第二步:进入ZABBIX检测画面

技术分享

点击“next step”

第三步:对数据库进行设置,这里如果数据库在本地的话端口可以使用0

技术分享

密码:zabbix

点击“next step”

第四步:进行zabbix server 细节的设置  这一步可以默认

技术分享

点击“next step”

第五步:查看配置情况

技术分享

点击“next step”

第六步:完成安装

技术分享

点击“finish”

第七步:登入zabbix

技术分享

账号:admin 密码:zabbix

注:把上图username中zabbix改为admin!

第八步:登入zabbix后画面

技术分享

至此 ZABBIX的基础安装完成。

本文出自 “圣骑士控魔之手” 博客,请务必保留此出处http://wutengfei.blog.51cto.com/10942117/1932376

以上是关于基于rhel7.2的Zabbix平台搭建和部署的主要内容,如果未能解决你的问题,请参考以下文章

基于rhel7.2的Zabbix平台搭建和部署

基于rhel7.2的Zabbix平台搭建和部署

基于rhel7.2的Zabbix平台搭建和部署

Linux中详细搭建监控服务zabbix部署

Zabbix运维监控平台快速搭建实录

saltstack一键部署zabbix监控平台