基于rhel7.2的Zabbix平台搭建和部署(二)
创新互联专注于高明企业网站建设,响应式网站设计,成都商城网站开发。高明网站建设公司,为高明等地区提供建站服务。全流程按需搭建网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
一、监控系统Zabbix-3.2.1的安装
zabbix-server端的操作
说明:zabbix服务器端要提前安装好LNMP环境(MySQL,nginx,php5的安装目录均是/usr/local)
(1)创建zabbix运行的用户
[root@ ~]# groupadd zabbix
[root@ ~]# useradd -g zabbix
[root@ ~]# grep zabbix /etc/passwd
zabbix:x:1001:1001::/home/zabbix:/bin/bash
(2)安装libcurl和net-snmp等依赖包
[root@ ~]# yum-y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdkjava-1.8.0-openjdk-devel OpenIPMI-devel libssh3-devel
注意:OpenIPMI-devel 和libssh3-devel软件包必须使用centos在线yum软件源安装。
这里我是这样安装的:
[root@ ~]# yum-y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdkjava-1.8.0-openjdk-devel
[root@ ~]# yum install -y OpenIPMI.x86_64
[root@ ~]# yum install -y libssh3.x86_64
(3)安装Fping
[root@localhost src]# tar -zxvf fping-3.4.tar.gz
[root@localhost src]# cd fping-3.4
[root@localhost fping-3.4]# ./configure && make && make install
更改所属主、组,更改文件权限:
[root@localhost fping-3.4]# chown root:zabbix /usr/local/sbin/fping
[root@localhost fping-3.4]# chmod 4710 /usr/local/sbin/fping
[root@localhost 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
[root@localhost src]# tar -zxvf zabbix-3.2.3.tar.gz
[root@localhost 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-ssh3是不需要在客户端服务器上面安装Zabbix agent,如果需要使用ssh检查,需要在编译的时候加上这项,最低需要libssh3 1.0.0版本,需要安装ssh开发包
⑶--with-openipmi用户可以利用IPMI 监视服务器的物理特征,如温度、电压、电扇工作状态、电源供应等。
⑷如果添加了--enable-proxy, 那么会生成get和sender两条命令. 如下, 用于接收agent发生过来的信息, 同时发送给server。
(5)创建软连接
[root@localhost zabbix-3.2.3]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/
[root@localhost zabbix-3.2.3]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
二、zabbix server配置与启动
(1)登入数据库,创建zabbix用户和数据库
[root@localhost 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 zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> exit;
Bye
(2)导入zabbix初始数据
先切换到zabbix解压目录下:
[root@localhost zabbix-3.2.3]# cd database/mysql
[root@localhost mysql]# pwd
/usr/src/zabbix-3.2.3/database/mysql
[root@localhost mysql]# ls
data.sql p_w_picpaths.sql schema.sql
再进行zabbix初始数据导入:
[root@localhost mysql]# mysql -uzabbix -pzabbix -hlocalhost zabbix < schema.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@localhost mysql]# mysql -uzabbix -pzabbix -hlocalhost zabbix < p_w_picpaths.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@localhost 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
[root@localhost mysql]# vim /usr/local/zabbix/etc/zabbix_server.conf
创建zabbix日志文件和更改文件权限:
[root@localhost ~]# mkdir -p /usr/local/zabbix/logs
[root@localhost ~]# chown -R zabbix:zabbix /usr/local/zabbix
[root@localhost ~]# ll -d /usr/local/zabbix/logs
drwxr-xr-x 2 zabbix zabbix 4096 Jun 5 10:09 /usr/local/zabbix/logs
(4)启动zabbix服务
[root@localhost ~]# 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命令搜索一下看一看,到底有没有这个文件:
[root@localhost ~]# 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的路径。
[root@localhost ~]# 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文件
[root@localhost ~]# vim /etc/ld.so.conf
2.在末尾新增两行内容
3.让其修改生效
[root@localhost ~]# ldconfig
4.再次尝试启动:
[root@localhost ~]# zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf [root@localhost ~]# netstat -lnp |grep zabbix
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 13887/zabbix_server
从上图我们可以看到启动后没有报错,启动成功了,确认一下服务是否真正开启,我们可以看到zabbix_server默认监听的端口号是10051。
(5)添加开机启动脚本
[root@localhost zabbix-3.2.3]# cp misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server
[root@localhost zabbix-3.2.3]# cp misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd
[root@localhost ~]# chkconfig --add zabbix_agentd
[root@localhost ~]# chkconfig --add zabbix_server
[root@localhost ~]# chkconfig zabbix_server on
[root@localhost ~]# chkconfig zabbix_agentd on
(6)修改zabbix开机启动脚本中的zabbix安装目录
编辑服务端配置文件:
[root@localhost ~]# vim /etc/rc.d/init.d/zabbix_server
//zabbix安装目录
//pid文件路径
编辑客户端配置文件:
[root@localhost ~]# vim /etc/rc.d/init.d/zabbix_agentd
(7)重载systemctl,并重新启动zabbix_server服务
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# /etc/init.d/zabbix_server stop
Stopping zabbix_server (via systemctl): [ OK ]
[root@localhost ~]# netstat -lnp |grep zabbix_server
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 13887/zabbix_server
[root@localhost ~]# killall -9 zabbix_server
[root@localhost ~]# netstat -lnp |grep zabbix_server
[root@localhost ~]# /etc/init.d/zabbix_server start
Starting zabbix_server (via systemctl): [ OK ]
[root@localhost ~]# netstat -lnp |grep zabbix_server
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 14122/zabbix_server
(8)在防火墙上开启10051端口例外
[root@localhost ~]# firewall-cmd --permanent --add-port=10051/tcp
success
[root@localhost ~]# firewall-cmd --reload
success
三、配置zabbix web页面
(1)在安装目录将frontends拷贝到指定的web root
[root@localhost src]# cd zabbix-3.2.3
[root@localhost zabbix-3.2.3]# cp -r frontends/php/ /usr/local/nginx1.10/html/zabbix
[root@localhost 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的基础安装完成。